第一步:加入struts
第二步:加入spring
第三步:加入hibernate
第四步:映射表到applicationContext.xml
第五步:做DAO接口
第六步:实现接口
第七步:在applicationContext.xml 里面添加接口的实现类bean,bean里面有个sessionFactory属性
第八步:整合struts的action,主要有两种方式:1,使用DelegatingRequestProcessor ,首先在struts-config.xml文件下增加如下一行代码:<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"/>。这样action里面就不用配置type属性了.接下来就把action处理请求放到spring里面管理,放入下面代码:
<bean name="/login" class="org.LoginAction">
<property name="daoimpl">
<ref local="daoimpl"/>
</property>
</bean>
2.使用DelegatingActionProxy
就是把原来action里面的type内容变成"org.springframework.web.struts.DelegatingActionProxy" 即可。
其他设置的和第一种一样。
第九步:设置加载applicationContext.xml 并实例化它
有两种做法:1.在web.xml里面添加如下代码:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<!-- 采用listener创建ApplicationContext.xml实例 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
2.在struts-congfig.xml里面添加如下代码:
<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/applicationContext.xml" />
</plug-in>
注意:用myeclpse6.0整合SSH的时候启动tomcat时会有报错java.lang.NoSuchMethodError: org.objectweb.asm.ClassVisitor.visit(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
。
主要是strtus和hibernate包有冲突.
解决办法是:删除asm-2.2.3.jar和cglib-nodep-2.1_3.jar即可.