1. 配置struts框架
l 拷贝struts的jar包到项目/WEB-INF/lib中 l 拷贝struts-config.xml,web.xml配置文件到/WEB-INF中 l 拷贝资源文件到类路径下/WEB-INF/classes l 拷贝mysql驱动包 l JSTL配置包 |
2. 集成spring框架
1. 拷贝spring.jar到项目/WEB-INF/lib中 2. 拷贝log4j.jar,common-logging.jar到项目/WEB-INF/lib中 3. 拷贝aop支持包SPRING_INTSALL\lib\aspectj\*.jar到项目/WEB-INF/lib中 4. 拷贝spring配置文件及log4j属性文件到类路径下 5. 集成消除版本冲突的包,除去低版本冲突jar包 6. 拷贝spring-webmvc-struts.jar项目/WEB-INF/lib中 7. 在spring配置文件中配置action,并把id属性改为name,值使用struts action的配置中的path属性值 8. 在struts-config.xml配置文件中把请求的Action的type属性值改为: org.springframework.web.struts.DelegatingActionProxy 也就是由以上代理获得spring创建的Action的引用,把请求转发 给spring框架所创建Action,从而可以利用Spring 的ioc |
3. 集成hibernate框架
1. 拷贝hibernate.jar核心包到项目/WEB-INF/lib中 2. 拷贝hibernate_INSTALL\lib\*.jar到项目/WEB-INF/lib中 3. 创建hibernate.cfg.xml配置文件配置数据库连接,创建到类路径下 4. 集成清除版本冲突的jar包 5. 配置spring配置文件中事务 |
4. Spring<>struts
5. Spring提供的CharacterEncoding和OpenSessionInView
I、 解决乱码
使用spring解决struts中文乱码问题(在web.xml中加入过滤器)如下:
<!-- 配置Spring中的编码过滤器 --> <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter>
<filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
II、 解决session被关闭问题
在web.xml中加入如下配置(OpenSessionInView):
<!-- 配置OpenSessionInView过滤器 --> <filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |