SSH整合出现org.hibernate.LazyInitializationException: could not initialize proxy - no Session或者前台没有显示任何数据
Posted on 2013-04-12 23:19 TimeFight 阅读(551) 评论(0) 收藏 举报由于在数据库获取数据采用的是load的方法 只是一个代理对象 则jsp页面用到相关数据才用发出sql语句对数据库进行查询 但等到jsp页面需要数据发出sql语句 这时session已经关了 Spring为此提供了一个拦截器 在jsp页面查询到数据后再将session关闭
一、
1、将以下代码复制到web.xml下
<filter>
<filter-name>OpenSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2、以上代码一定要在
<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>
前面
二、可以采用get读取数据 但是如果fetch= FetchType.EAGER还是会出现该问题 所以推荐使用第一种方法
这样就能正常显示了
浙公网安备 33010602011771号