码迷,mamicode.com
首页 > 其他好文 > 详细

openSessionInview的原理

时间:2015-04-11 11:48:42      阅读:119      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!