第一种方案: 让spring创建struts2的Action,不让spring完全管理struts2的Action
struts2 Action中的依赖对象,默认会根据名称自动配置
1 创建Web项目
2 引入struts2的依赖包,将依赖包考到WEB-INF/lib下
? * commons-logging-1.1.3.jar
?????? * freemarker-2.3.22.jar
?????? * ognl-3.0.19.jar
?????? * struts2-core-2.3.32.jar
?????? * xwork-core-2.3.32.jar
?????? * commons-fileupload-1.3.2.jar
3 引入spring的依赖包,将依赖包拷贝到WEB-INF/lib下
* spring.jar
* lib/aspectj/*.jar
4 引入Hibernate相关的依赖包,将依赖包拷贝到WEB-INF/lib下
* hibernate3.jar
* lib/*.jar
5 数据库驱动
* mysql jdbc driver
6 将struts2和spring集成的依赖包拷贝到WEB-INF/lib下
* struts2-spring-plugin-2.1.8.jar
7 在web.xml文件中配置strutsperpareAndExecuteFilter
<filter>
? ?<filter-name>struts2</filter-name>
? ?<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutspreparedAndExecuteFilter</filter-class>
?? </filter>
?? <filter-mapping>
? ?<filter-name>struts2</filter-name>
? ?<url-pattern>/*</url-pattern>
?? </filter-mapping>
8 提供struts.xml配置文件,考到src下。提供必要属性的配置
* struts.i18n.encoding=GB18030
* struts.configuration.xml.reload=true
* struts.devMode=true
9 提供spring的配置文件
* applicationContext-action.xml
* applicationContext-service.xml
* applicationContext-dao.xml
* applicationContext-common.xml
10 提供hibernate.cfg.xml配置文件,提供log4j
11 在web.xml文件中需要配置Spring的ContextLoaderListener,创建bean-factor
<listener>
<listener-class></listner-class>
</listener>
12 在web.xml文件中配置OpenSessionInViewFilter();需要放在struts2的filter的前面
<listener>
<listener-class></listner-class>
</listener>
12 在web.xml文件中配置OpenSessionInViewFilter();需要放在struts2的filter的前面
13 提供用户添加表单和add_success.jsp
14 建立User实体类,编写hibernate映射文件,将映射文件加入到hibernate.cfg.xml
15 建立UserDao和UserService,并进行实现
16 建立struts2的Action并配置到struts2的配置文件中。
17 在JSP中调用Action