Sun
          是選擇你愛的人還是愛你的人?
          posts - 8,comments - 14,trackbacks - 0
          org.springframework.web.struts.ContextLoaderPlugIn 和 org.springframework.web.context.ContextLoaderListener

          是視圖層加載sping的兩種方式。
          那么這兩種方式誰的優(yōu)先級高,從容器加載程度上看,是org.springframework.web.context.ContextLoaderListener

          那么中方式都被配置在項(xiàng)目中,會使用哪個一個呢?
          答案是org.springframework.web.struts.ContextLoaderPlugIn

          當(dāng)然如果你不需要在視圖層采用lazy而配置org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
          那么你可以兩個都配置。
          但如果你需要使用,那就會。

          我們知道,容器初始化Spring配置文件時,使用getServletContext().setAttribute方法key,value全局保存。
          那么當(dāng)你使用OpenSessionInViewFilter時,他取得的是哪個呢?

          其實(shí)OpenSessionInViewFilter是sping的Filter,它采用WebApplicationContextUtils的方式獲得WebApplicationContext
          ,但它并不能加載由struts-config.xml文件ContextLoaderPlugIn提供初始化的上下文。

          如果你需要在視圖層加載一對對....等關(guān)聯(lián)對象。那么就會有
          could not initialize proxy - the owning Session was closed
          錯誤。
          到此處我們看到,sping在應(yīng)用程序和OpenSessionInViewFilter之間,加載了不同的上下文。
          我們知道OpenSessionInViewFilter下無法獲得ContextLoaderPlugIn加載的上下文,那我們可以推算,
          應(yīng)用程序應(yīng)該加載了ContextLoaderPlugIn上下文,而OpenSessionInViewFilter卻加載了ContextLoaderListener的上下文。
          才導(dǎo)致視圖層session有關(guān)閉的問題。

          嘗試解決此問題,若你配置了兩個,則刪除ContextLoaderPlugIn的加載方式。
          若你只配置了ContextLoaderPlugIn的加載方式,則改成ContextLoaderListener加載方式。

          原創(chuàng)文章,轉(zhuǎn)載請注明出處。
          http://www.aygfsteel.com/beijing2008/articles/317973.html








          posted on 2010-04-11 02:24 .Sun 閱讀(3833) 評論(1)  編輯  收藏

          FeedBack:
          # re: org.springframework.web.struts.ContextLoaderPlugIn 和 org.springframework.web.context.ContextLoaderListener
          2010-04-12 11:19 | 匿名用戶
          AI,原來是這個問題。
          看了
          明白了許多。
          不過博主沒說為什么不能讀取呢。  回復(fù)  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 山阴县| 嫩江县| 集安市| 香格里拉县| 定襄县| 贡觉县| 广德县| 阳江市| 通州市| 林州市| 隆昌县| 合川市| 泽库县| 耿马| 海晏县| 特克斯县| 抚松县| 朔州市| 神木县| 仁布县| 嵩明县| 招远市| 平舆县| 张家港市| 衡水市| 堆龙德庆县| 二连浩特市| 铁岭县| 巴马| 英德市| 黄大仙区| 普定县| 克东县| 甘洛县| 滨海县| 莒南县| 五指山市| 孟村| 峡江县| 桂平市| 大竹县|