学习java一直没有自己独立完整的整合过SSH框架,通过这次简单的例子从头至尾整合了一下SSH框架.自己简单的理解
Sping是个大管家,用来管理创建各个对象(包括Hibernate和Struts)
Struts2是个MVC的框架,用来调用前台页面和处理逻辑(Spring MVC也可以代替这一位置)
Hibernat是与持久层交互的框架(数据库的操作,事务等等)
SSH的整合其实就是把Hibernate和Struts原本独立的配置交给Spring来管理
步骤1.准备jar包
这里其实我也是摸索着前进,遇到缺少什么类就加入什么jar包,也参考了网上其他资料说的需要哪些jar包。
我把我这次实践中的jar列出来,共39个
步骤2.配置文件模版先建好备用(applicationContext.xml、hibernate.cfg.xml、struts.xml)
这个不难,就是把各自的配置文件放到src目录下
步骤3.先整合Hibernate + Spring
a.hibernate.cfg.xml配置基础信息(也可直接在applicationContext.xml配置)
b.applicationContext.xml先配置好数据源(我用的是c3p0)
c.applicationContext.xml在读取hibernate.cfg.xml配置
d.applicationContext.xml配置事务管理
步骤4.web.xml 配好spring-listener、contextConfigLocation配置
步骤5.整合Struts2 + Spring(小弟的浅见感觉这里其实也不用一定要Spring来管理Action)
a.先在web.xml配好sturts2的过滤器
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
b.写TestAction,并在Spring(applicationContext.xml)配置该Action
<bean name="IocAction" class="com.action.TestAction" />
c.struts.xml中配置struts2交给spring管理
<constant name="struts.objectFactory" value="spring" />
d.struts.xml中引用b中配置的Action(注意此时action的class应该设置为b中配置的Action bean的id)
<package name="default" namespace="/" extends="struts-default">
<action name="Test" class="IocAction">
<result>/WEB-INF/success.jsp</result>
</action>
</package>