可能原因:Hibernate的OpenSessionInViewFilter放在了Struts的StrutsPrepareAndExecuteFilter后面
解决方法:挪到前面即可。
<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>
<filter>
<filter-name>strutsPrepareAndExecuteFilter</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>strutsPrepareAndExecuteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
本文探讨了在使用Spring框架整合Hibernate和Struts时遇到的Session管理问题,特别是当OpenSessionInViewFilter配置在StrutsPrepareAndExecuteFilter之后时导致的问题,并提供了将OpenSessionInViewFilter移至StrutsPrepareAndExecuteFilter之前的解决方案。
839

被折叠的 条评论
为什么被折叠?



