第一步、导入sprint4、struts2和hibernate4的jar包

struts2的jar包

commons-fileupload-1.3.3.jar

commons-io-2.5.jar

commons-lang3-3.6.jar

freemarker-2.3.26-incubating.jar

javassist-3.20.0-GA.jar

log4j-api-2.10.0.jar

ognl-3.1.15.jar

struts2-core-2.5.17.jar

struts2-spring-plugin-2.5.17.jar(和spring4整合使用)

hibernate5的jar包

antlr-2.7.7.jar

dom4j-1.6.1.jar

geronimo-jta_1.1_spec-1.1.1.jar

hibernate-commons-annotations-5.0.1.Final.jar

hibernate-core-5.0.7.Final.jar

hibernate-jpa-2.1-api-1.0.0.Final.jar

jandex-2.0.0.Final.jar

javassist-3.18.1-GA.jar

jboss-logging-3.3.0.Final.jar

spring4的jar包

spring-beans-4.0.0.RELEASE.jar

spring-context-4.0.0.RELEASE.jar

spring-core-4.0.0.RELEASE.jar

spring-expression-4.0.0.RELEASE.jar

spring-jdbc-4.0.0.RELEASE.jar

spring-tx-4.0.0.RELEASE.jar

spring-web-4.0.0.RELEASE.jar

第二步、配置web.xml配置文件

<!-- 配置struts2的过滤器-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> <!-- 设置spring的配置文件的位置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param> <!-- 设置spring4的监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

第三步、配置spring的struts2的配置文件

spring配置文件applicationContext.xml

<!-- 定义数据源,这里使用的jdbc。也可以使用c3p0等连接池 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql:///blog"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
</bean> <!-- 配置hibernate5 的 sessionFactory,交由spring来管理。不用在程序里自己new -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property> <!-- 配置hibernate相关属性 -->
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property> <!-- 配置关联关系映射文件 的方式之一 -->
<property name="mappingResources">
<list>
<value>com/tzblog/bean/Album.hbm.xml</value>
<value>com/tzblog/bean/Article.hbm.xml</value>
<value>com/tzblog/bean/Critique.hbm.xml</value>
<value>com/tzblog/bean/Me.hbm.xml</value>
<value>com/tzblog/bean/Photo.hbm.xml</value>
</list>
</property>
</bean> <!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean> <!-- struts2 的 Action 交由 spring来管理,在struts.xml中的action的class里填写bean id -->
<bean id="IndexAction" class="com.tzblog.action.IndexAction">
<property name="articleDAO" ref="articleDAO" />
<property name="critiqueDAO" ref="critiqueDAO"/>
</bean>
<bean id="AlbumAction" class="com.tzblog.action.AlbumAction">
<property name="albumService" ref="albumService" />
</bean>
<bean id="ArticleAction" class="com.tzblog.action.ArticleAction">
</bean>
<bean id="MeAction" class="com.tzblog.action.MeAction">
<property name="meService" ref="meService" />
</bean>
<bean id="CritiqueAction" class="com.tzblog.action.CritiqueAction">
<property name="critiqueService" ref="critiqueService" />
</bean> <!-- Service -->
<bean id="albumService" class="com.tzblog.service.AlbumService"></bean>
<bean id="meService" class="com.tzblog.service.MeService">
<!-- meService要用的对象,下面的一样 -->
<property name="meDAO" ref="meDAO"/>
</bean>
<bean id="critiqueService" class="com.tzblog.service.CritiqueService"></bean> <!-- DAO -->
<bean id="albumDAO" class="com.tzblog.dao.AlbumDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="articleDAO" class="com.tzblog.dao.ArticleDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="critiqueDAO" class="com.tzblog.dao.CritiqueDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="meDAO" class="com.tzblog.dao.MeDAO">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="photoDAO" class="com.tzblog.dao.PhotoDAO"/>

struts2的配置文件struts.xml

  <!-- 开启开发模式,在不使用spring的时候可以自动热部署-->
<constant name="struts.devMode" value="true">
<!-- strict-method-invocation="false" 的作用是允许使用通配符 -->
<package name="article" namespace="/" extends="struts-default" strict-method-invocation="false">
<action name="article_*" class="ArticleAction" method="{1}">
<result name="success">/WEB-INF/jsp/article.jsp</result>
<result name="detail">/WEB-INF/jsp/article_detail.jsp</result>
</action> <action name="index" class="IndexAction">
<result name="success">/WEB-INF/jsp/index.jsp</result>
</action> <action name="about" class="MeAction">
<result>/WEB-INF/jsp/aboutMe.jsp</result>
</action> <action name="album_*" class="AlbumAction" method="{1}">
<result>/WEB-INF/jsp/album.jsp</result>
<result name="input">/WEB-INF/jsp/album_detail.jsp</result>
</action> <action name="critique_*" class="CritiqueAction" method="{1}">
<result>/WEB-INF/jsp/critique.jsp</result>
<result name="input" type="redirectAction">critique</result>
</action>
</package>

hibernate的配置文件

因为已经交由spring来管理hibernate,所有不再需要hibernate.cfg.xml文件。但是还是需要hibernate关系映射文件。

SSH小项目整合的简单记录的更多相关文章

  1. python3开发进阶-Django框架学习前的小项目(一个简单的学员管理系统)

    ''' 自己独立写一个学员管理系统 表结构: 班级表: -id -grade_name 学生表: -id -student_name -grade 关联外键班级表 老师表: -id -teacher_ ...

  2. IOS-小项目(饿了么 网络部分 简单实现)

    在介绍小项目之前,在此说明一下此代码并非本人所写,我只是随笔的整理者. 在介绍之前先展现一下效果图. 看过效果图大家应该很熟悉了,就是饿了么的一个界面而已,值得注意的是,实现时并没有采用本地连接,而是 ...

  3. 封闭的一个多月,老菜鸟的 机械手和AGV 自动搬运小项目总结

    最近上海疫情严重,闲赋在家无事可做,手机里不断的推送一些无脑的谩骂声音,索性找点事情做,将3月份实施的一个自动搬运小项目做一个简单的汇总,便于今后项目实施中积累一些经验.项目需求非常简单,因为能力有限 ...

  4. Java小项目之:教你做个聊天系统!

    Java小项目之:聊天系统 今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难. 分为注册系统,登录系统和聊天系统三部分,很适合java小白练手. 完整的源码和素材请关注并私信我 ...

  5. 【Arduino学习笔记05】Arduino数字输入、输出和脉冲宽带调制 -- 小项目:彩色小台灯

    基本功能: 长按控制按钮开机,长按控制按钮关机(>3s) 通过三个调节按钮调节灯的颜色,每一个按钮分别对应R,G,B值 模式切换:短按控制按钮切换模式(长亮模式/闪烁模式) 元器件清单: Ard ...

  6. SSH项目整合教学Eclipse搭建SSH(Struts2+Spring3+Hibernate3)

    这篇博文的目的 尝试搭建一个完整的SSH框架项目. 给以后的自己,也给别人一个参考. 读博文前应该注意: 本文提纲:本文通过一个用户注册的实例讲解SSH的整合.创建Struts项目,整合Hiberna ...

  7. web实践小项目<一>:简单日程管理系统(涉及html/css,javascript,python,sql,日期处理)

    暑假自学了些html/css,javascript和python,苦于学完无处练手几乎过目即忘...最后在同学的建议下做了个简单日程管理系统.借第一版完成之际,希望能将实践期间犯过的错误和获得的新知进 ...

  8. FreeMarker与SSH项目整合流程

    FreeMarker与SSH项目整合流程 学习了SSH之后,一般为了减少数据库的压力,会使用FreeMarker来生成静态HTML页面.下面简单说一下FreeMarker与SSH项目的整合全过程~ 前 ...

  9. J2EE进阶(六)SSH框架工作流程项目整合实例讲解

    J2EE进阶(六)SSH框架工作流程项目整合实例讲解 请求流程 经过实际项目的进行,结合三大框架各自的运行机理可分析得出SSH整合框架的大致工作流程. 首先查看一下客户端的请求信息: 对于一个Web项 ...

随机推荐

  1. docker field

  2. ASP.NET中的几种弹出框提示基本实现方法

    我们在.NET程序的开发过程中,常常需要和用户进行信息交互,比如执行某项操作是否成功,“确定”还是“取消”,以及选择“确定”或“取消”后是否需要跳转到某个页面等,下面是本人对常用对话框使用的小结,希望 ...

  3. VLC播放RTSP视频延迟问题 (转)

    原帖地址:http://blog.chinaunix.net/uid-26611383-id-3755283.html ======================================== ...

  4. 7.25 9figting!

    TEXT 87 Fund management基金管理   A Miller's tale 米勒传奇(陈继龙编译) Dec 7th 2006 From The Economist print edit ...

  5. rook 删不掉的问题

    # kubectl get crd -o yamlapiVersion: v1items:- apiVersion: apiextensions.k8s.io/v1beta1  kind: Custo ...

  6. S 合伙人

    [Public] ConnectString=host="siebel://10.10.0.46:2321/HC_CRM/SMObjMgr_chs ConnectUserName=SADMI ...

  7. leetcode 21 Merge Two Sorted Lists 合并两个有序链表

    描述: 合并两个有序链表. 解决: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if (!l1) return l2; if (!l2) ...

  8. C++ 文件类型分析

    .APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度.资源辅助文件. .BMP:位图资源文件. .BSC:浏览信息文件,由浏览信息维护工具( ...

  9. halcon的tuple算子功能总结

  10. Facebook对MySQL全表扫描性能的改进

    原文博客如下: http://yoshinorimatsunobu.blogspot.com/2013/10/making-full-table-scan-10x-faster-in.html 如下是 ...