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"這樣的錯誤信息,一定是應(yīng)用對一次http請求做了多次頁面跳轉(zhuǎn)或?qū)esponse對象做過close后,又去寫響應(yīng).

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

          Feedback

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

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

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

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

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

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

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

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

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

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 平安县| 博罗县| 突泉县| 禹州市| 正阳县| 长垣县| 滦南县| 洮南市| 兖州市| 略阳县| 峨山| 博客| 台湾省| 蒙自县| 靖远县| 萨嘎县| 嘉禾县| 南乐县| 伊金霍洛旗| 丹凤县| 华容县| 北安市| 图木舒克市| 宁强县| 淮阳县| 兴和县| 中超| 赣州市| 腾冲县| 涟水县| 荔浦县| 游戏| 大丰市| 新乡市| 璧山县| 广南县| 高雄市| 滦南县| 星座| 突泉县| 齐齐哈尔市|