在web.xml中配置OpenSessionInViewFilter解决懒加载问题

1.懒加载问题的出现原因:


注:在service中关闭的session,页面显示时,已经加载不了数据。


2.解决方案:

在过滤器中关闭session.


另外值得注意但是:

配置OpenSessionInViewFilter过滤器的时候,需要把这个过滤器的配置放在struts2等前端框架的过滤器之前,因为web.xml中的执行顺序是从上到下,回来的时候是从下往上关闭的。所以必须要按照如下图配置

web.xml配置:


  1. <!-- 配置Spring的OpenSessionInViewFilter,以解决懒加载问题  -->  
  2. <filter>  
  3.     <filter-name>OpenSessionInViewFilter</filter-name>  
  4.     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>  
  5. </filter>  
  6. <filter-mapping>  
  7.     <filter-name>OpenSessionInViewFilter</filter-name>  
  8.     <url-pattern>*.action</url-pattern>  
  9. </filter-mapping>  
  10.   
  11.    
  12.   
  13. <!-- 配置Struts2的Filter -->  
  14. <filter>  
  15.     <filter-name>struts2</filter-name>  
  16.     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>  
  17. </filter>  
  18. <filter-mapping>  
  19.     <filter-name>struts2</filter-name>  
  20.     <url-pattern>/*</url-pattern>  
  21. </filter-mapping> 
原创文章 25 获赞 5 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_41450959/article/details/80698097