首页 > 其他 > 详细

openSessionInview的原理

时间:2015-04-11 11:47:53      阅读:261      评论:0      收藏:0      [点我收藏+]

web.xml

      <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>*.action</url-pattern>

 </filter-mapping>

<filter>

 <filter-name>struts2</filter-name>

 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>

 </filter>

 <filter-mapping>

 <filter-name>struts2</filter-name>

  <url-pattern>/*</url-pattern>

 </filter-mapping>

  OpenSessionInView在第一个位置,struts2的过滤器在第二个位置

    1、

请求一个url时:

OpenSessionInView

   doFilter{

       try{

            已经把session开启了

       }

   }

2、

struts2的过滤器

    doFile(){

          action-->service--->dao返回结果

    }

3.

struts2的过滤器

     doFilter(){

              finally{

                  acitonContext清空

              }

      }

4.

OpenSessionInView

     doFilter{

          finally{

              //关闭session

          }

     }

总结:

1、加入了OpenSessionInView模式解决了懒加载的问题

2、因为延迟了session的关闭时间,所以在session一级缓存中的数据会长时间停留在内存中,

    增加了内存的开销

openSessionInview的原理

原文:http://blog.csdn.net/u014010769/article/details/44993575

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!