<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乱码一区二区三区按摩 | 亚洲高清国产AV拍精品青青草原| 亚洲AV第一成肉网| 午夜一级毛片免费视频| 免费在线观看理论片| 亚洲午夜久久久精品影院| 国产免费无码AV片在线观看不卡| 日韩毛片免费无码无毒视频观看| 亚洲天堂中文字幕在线| 一区二区视频免费观看| 毛片a级三毛片免费播放| 亚洲天然素人无码专区| 国产免费午夜a无码v视频| 欧洲美女大片免费播放器视频| 亚洲视频在线一区二区| 欧洲人成在线免费| 亚洲国产精品张柏芝在线观看| 一个人在线观看视频免费| 亚洲日本一线产区和二线| 亚洲AV之男人的天堂| 亚洲第一男人天堂| 国产又黄又爽又刺激的免费网址| 九九免费观看全部免费视频| 国产亚洲一区二区三区在线不卡| 成全在线观看免费观看大全| 亚洲日韩乱码中文无码蜜桃臀 | 国产精品免费久久久久电影网| 成人性生活免费视频| 免费中文字幕视频| 久久精品a亚洲国产v高清不卡| 国产免费av片在线看| h视频在线观看免费| 99久久精品国产亚洲| 免费无码黄动漫在线观看| 国产高清对白在线观看免费91| 久久精品a亚洲国产v高清不卡| 永久中文字幕免费视频网站| 国产免费区在线观看十分钟| 亚洲成人免费在线观看| 亚洲精品tv久久久久久久久久| 99久久精品免费视频|