<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    rednight

    0x2B|~0x2B,That's not a question,Just do it.
    posts - 32, comments - 14, trackbacks - 0, articles - 0

    如果你碰到"Cannot Forward a Response that is Already Committed"這樣的錯誤信息,一定是應用對一次http請求做了多次頁面跳轉或對response對象做過close后,又去寫響應.

    這個問題的根本原因由于響應本次請求的Response對象的狀態是已提交狀態造成的, 它不允許響應提交多次。
    
    什么時候Response對象的狀態變成已提交狀態:當你的應用已經實現了頁面跳轉邏輯。
    
    通常原因:
    
    1. 如果你使用了community的話, community的安全認證和授權如果沒有通過,community內部會進行頁面跳轉。但你的應用(對于workshop應用的話,指的是action)又試圖進行頁面跳轉,就會出現這樣的問題。
    
    
        /**
    
         * @jpf:action
    
         * @jpf:forward name="page" path="page.jsp"
    
         */
    
        protected Forward actionMethod()
    
    {
    
        //如果已經提交了響應,你仍然試圖再次進行頁面跳轉,即再次提交響應,可能出現問題
    
        //通常可以加一個判斷
    
     
    
           if (!getResponse().isCommitted()) {
    
                return new Forward("success");
    
            } else {
    
                return null;
    
            }
    
        }
    
     
    
        protected void beforeAction() {
    
           SecurityManager.checkAuthorization(getRequest(), getResponse(), config.getString(
    
                    CDConstants.CREATE_TERM_ACTION_NAME, ""));
    
          //這個調用可能實現了頁面跳轉,即提交響應
    
    }
    
     
    
    注意JSP中實現頁面跳轉后,加return 語句防止繼續提交響應:
    
     
    
    <%
    
           SecurityManager.checkAuthorization(getRequest(), getResponse(), config.getString(
    
                    CDConstants.CREATE_TERM_ACTION_NAME, ""));
    
    {
    
         //可能有實現頁面跳轉邏輯
    
        ……………forward();
    
            return;//記得加retrun.
    
        }
    
    %>
    
     
    
    2. .如果沒有使用community的話,下面情景也會出現這個問題
    
     
    
        /**
    
         * @jpf:action
    
         * @jpf:forward name="page" path="page.jsp"
    
         */
    
        protected Forward actionMethod()
    
     
    
    //直接操作Response對象寫響應
    
         getResponse().getPrintWriter().println();
    
        …
    
    /
    
       // 又執行的頁面跳轉,也可能出現問題
    
            return new Forward("index");
    
        }
    

    Feedback

    # re: Cannot Forward a Response that is Already Committed  回復  更多評論   

    2009-04-22 09:54 by 千里雪
    在java代碼中出現這個問題呢
    該如何解決啊

    # re: Cannot Forward a Response that is Already Committed  回復  更多評論   

    2009-04-22 09:55 by 千里雪
    有那位大蝦解答一下
    謝謝啊

    # re: Cannot Forward a Response that is Already Committed  回復  更多評論   

    2009-04-22 11:26 by 萬里冰
    在java中如何修改呢
    thanks

    # re: Cannot Forward a Response that is Already Committed  回復  更多評論   

    2009-04-22 17:04 by 萬里冰雪
    急用啊
    有那個大蝦幫忙解答一下啊

    # re: Cannot Forward a Response that is Already Committed  回復  更多評論   

    2012-06-19 09:02 by qingwei
    怎么解決。。。

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品在线免费看| 亚洲AV日韩精品久久久久久久 | 亚洲无圣光一区二区| 99久久成人国产精品免费| 久久久久久A亚洲欧洲AV冫| 一级做a爰片久久免费| 国产亚洲精品成人a v小说| 国产一级高青免费| 亚洲精品乱码久久久久66| 日本免费中文字幕| 亚洲网站视频在线观看| 亚洲性线免费观看视频成熟 | 美女被艹免费视频| 亚洲国产天堂久久久久久| 丰满妇女做a级毛片免费观看 | 亚洲无线一二三四区手机| 久久久久久久国产免费看| 久久久久亚洲AV无码永不| 91免费资源网站入口| 精品国产日韩亚洲一区91| av在线亚洲欧洲日产一区二区| 中文精品人人永久免费| 亚洲视频在线观看网址| 成年女人免费视频播放体验区| 猫咪免费人成在线网站 | 亚洲精品午夜无码专区| 69av免费观看| 久久精品亚洲日本波多野结衣 | 伊在人亚洲香蕉精品区麻豆| 久久高潮一级毛片免费| 亚洲欧洲日韩综合| 免费在线观看中文字幕| 国产成人久久AV免费| 亚洲欧洲无码AV不卡在线| 国产亚洲精品影视在线产品| 亚洲一区二区三区免费视频| 亚洲AV无码成人精品区日韩| 亚洲va无码专区国产乱码| 天天拍拍天天爽免费视频| 日韩a级无码免费视频| 亚洲国产成人久久精品大牛影视|