could not initialize proxy - no Session解决
概述
这个错的触发是在SSH框架中,从一个action中查询完数据库之后去调用另外一个action查询完数据库要使用session的时候
ServletActionContext.getRequest().getSession().setAttribute("commentList", commentlist);
也就是这一句,其实压的什么数据都无所谓,主要是使用了已经关闭的session,框架不知道哪里去找,就报错了嘛,网上也有说改一下多对一的懒加载策略,但是这种方法在大数据库中,开玩笑哦,一下加出几千个对象,服务器不要咯?
所以嘛,配置了一个open session in view 的过滤器
<!-- 配置监听器解决不同action之间session关闭的问题 -->
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate5.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这个过滤器是放在web.xml里边,要注意的是这个玩意要配置在所有过滤器之前,要不然没啥用,我试了的,各位过年打代码快乐哦。