标签:
在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一级缓存中的数据会长时间停留在内存中,
增加了内存的开销
标签:
原文地址:http://blog.csdn.net/u014010769/article/details/44993575