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)目中,會使用哪個(gè)一個(gè)呢?
          答案是org.springframework.web.struts.ContextLoaderPlugIn

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

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

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

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

          嘗試解決此問題,若你配置了兩個(gè),則刪除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,原來是這個(gè)問題。
          看了
          明白了許多。
          不過博主沒說為什么不能讀取呢。  回復(fù)  更多評論
            

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 自贡市| 建宁县| 荆州市| 肥乡县| 特克斯县| 安丘市| 溆浦县| 栾川县| 元氏县| 双峰县| 施甸县| 青浦区| 锡林郭勒盟| 大宁县| 平塘县| 资阳市| 资源县| 浪卡子县| 隆德县| 昌都县| 安康市| 清新县| 青川县| 江津市| 宿州市| 遵化市| 阳江市| 嘉善县| 杭州市| 称多县| 衡阳县| 宁波市| 长顺县| 建始县| 晋中市| 金川县| 共和县| 吉林省| 天全县| 榆林市| 平罗县|