1. 程式人生 > >整合Spring+Hibernate+Struts2的時候發現json數據一直無法傳到頁面,提示no-Session

整合Spring+Hibernate+Struts2的時候發現json數據一直無法傳到頁面,提示no-Session

使用 程序 hibernate 分享 als 通過 關閉session 可能 放置

執行了ajax,頁面沒有任何反應

懷疑json沒有值,想查看json中的內容,使用了ObjectMapper:

ObjectMapper om=new ObjectMapper();
System.out.println(om.writeValueAsString(pb));//pb是我要返回的數據

頁面始終無法得到json數據,在JQ代碼中的回調函數alert()也沒反應,在瀏覽器控制臺發現了500錯誤:

技術分享圖片

點擊出現了一堆異常:

技術分享圖片

此處省略中間其他類似異常...

技術分享圖片

提示了懶加載的錯誤,所以我去設置了lazy="false",好像沒啥用,可能是我配置錯了地方

百度了一下如何關閉懶加載:

  hibernate中懶加載禁用的方式 - haha_66666的博客 - CSDN博客 https://blog.csdn.net/haha_66666/article/details/78586656

  使用了OpenSessionInViewFilter,使得Session延遲關閉.

<!-- 解決no-session問題過濾器 通過filter來讓session在jsp頁面完畢後再關閉session -->
<!-- 註意: 所有Filter的配置都需要放置在struts2入口過濾器配置之前 -->
<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>

經驗總結:

  在MyEclipse中沒有任何錯誤提示的情況下,去瀏覽器控制臺看看

  在感覺出問題的地方之前打印控制臺信息,確保程序是否進入本區域.

  在沒有任何錯誤的提示的時候,很崩潰了,手動用try...catch將懷疑出問題的地方包圍住!

整合Spring+Hibernate+Struts2的時候發現json數據一直無法傳到頁面,提示no-Session