1. 程式人生 > >第三天的 No session 問題

第三天的 No session 問題

pen 數據 生命 查詢 第三天 AS ger 理解 TP

1.1 No session(理解)

初始化快遞員對象中 定區集合

Web層轉Courier對象為json串時候,對象中有fixedareas集合屬性,jpa集合屬性加載策略延遲加載。在action中轉fixedareas集合json串,通過代理對象查詢數據庫,action層中session已經關閉。

技術分享圖片

1、 解決方案:

1、 解決方案:方式一:使用過濾器延遲session生命周期:在web層(頁面渲染完畢)關閉session

僅解決解決noSession問題

web.xml中配置過濾器,當頁面渲染完畢後關閉session

<!-- 必須放在struts2核心過濾器之前作用,延遲

session生命周期 -->

<filter>

<filter-name>openEntityManagerInViewFilter</filter-name>

<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>openEntityManagerInViewFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

a) 方式二:將集合屬性改為立即加載(效率低不用)

技術分享圖片

技術分享圖片

b) 方式三:

1、 方式二:將實體中不需要轉json的屬性排除掉

技術分享圖片

技術分享圖片

1、 頁面中展示數據:

技術分享圖片

技術分享圖片

第三天的 No session 問題