Spring2.5+JPA+Struts1.3整合

  • Post author:
  • Post category:其他




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>



版权声明:本文为tx_rain原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。