hibernate
核心安装包下的
:
hibernate3.jar
lib/required/*.jar
lib/optional/ehcache-1.2.3.jar
hibernate
注解安装包下的
lib/test/slf4j-log4j12.jar
Spring
安装包下的:
dist/spring.jar
dist/modules/spring-webmvc-struts.jar
lib/jakarta-commons/commons-logging.jar
、
commons-dbcp.jar
、
commons-pool.jar
lib/aspectj/aspectjweaver.jar
、
aspectjrt.jar
lib/cglib/cglib-nodep-2.1_3.jar
lib/j2ee/common-annotations.jar
lib/log4j/log4j-1.2.15.jar
测试两者均不出问题时,再整合
struts
进来。struts的版本为
1.3.8
。需要注意的是,最好将
jstl-1.0.2.jar
和
standard-1.0.2.jar
更换为
1.1
版本,同时把
struts
中的
antlr-2.7.2.jar
删除,因为它们有可能与
spring
中同样的
jar包发生
冲突。
包导入正确,我们至少需要配置以下两个配置文件:
在
web
容器中实例化
spring
容器[web.xml]
<!–
指定
spring
的配置文件,默认从
web
根目录寻找配置文件,我们可以通过
spring
提供的
classpath:
前缀指定从类路径下寻找
–>
<
context-param
>
<
param-name
>
contextConfigLocation
</
param-name
>
<
param-value
>
classpath:beans.xml
</
param-value
>
</
context-param
>
<!–
对
Spring
容器进行实例化
–>
<
listener
>
<
listener-class
>
org.springframework.web.context.ContextLoaderListener
</
listener-class
>
</
listener
>
在
web
容器中配置
struts
<
servlet
>
<
servlet-name
>
struts
</
servlet-name
>
<
servlet-class
>
org.apache.struts.act
ion.ActionServlet
</
servlet-class
>
<
init-param
>
<
param-name
>
config
</
param-name
>
<
param-value
>
/WEB-INF/struts-config.xml
</
param-value
>
</
init-param
>
<
load-on-startup
>
0
</
load-on-startup
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
struts
</
servlet-name
>
<
url-pattern
>
*.do
</
url-pattern
>
</
servlet-mapping
>
往往我们还需要通过配置解决
struts
的乱码问题和
JPA
的延迟加载例外问题:
使用
spring
解决
struts
乱码问题:
<
filter
>
<
filter-name
>
encoding
</
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
>
encoding
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
</
filter-mapping
>
延迟加载例外问题的解决:
<
filter
>
<
filter-name
>
OpenSessionInViewFilter
</
filter-name
>
<
filter-class
>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</
filter-class
>
<
init-param
>
<
param-name
>
sessionFactoryBeanName
</
param-name
>
<
param-value
>
sessionFactory
</
param-value
>
</
init-param
>
</
filter
>
<
filter-mapping
>
<
filter-name
>
OpenSessionInViewFilter
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
</
filter-mapping
>
struts-config.xml
<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE struts-config PUBLIC
“-//Apache Software Foundation//DTD Struts Configuration 1.3//EN”
”
http://struts.apache.org/dtds/struts-config_1_3.dtd
“>
<struts-config>
<controller>
<set-property property=”processorClass” value=”org.springframework.web.struts.DelegatingRequestProcessor”/>
</controller>
</struts-config>