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

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

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

    報getOutputStream() has already been called for this response 這個錯誤

     getOutputStream() has already been called for this response 這個錯誤遇到過不少次,網上看到大多不能解決問題。
        下面兩點是我自己總結出來的:
        1、在我們應用驗證碼時,都會用到字節流response.getOutputStream()來將驗證碼輸出,但是jsp頁面自己最后會調用字符流JspWriter的out()方法將頁面的內容輸出。通過查看servlet的API我們可以看到知道,在servlet中不能夠同時利用這兩個流輸出,解決辦法將驗證碼寫在servlet中,具體見下面。
        2、相信請求轉發( request.getRequestDispacher().forward() )和請求跳轉( response.sendRedirect() )的區別大家都知道。其中request.getRequestDispacher().forward() 方法的調用者與被調用者之間共享相同的request對象和response對象,它們屬于同一個訪問請求和響應過程。JSP頁面轉譯為的_servlet會最后調用releasePageContext()方法( All PageContext objects obtained via this method shall be released by invoking releasePageContext().)釋放我們頁面所有的實體對象,當我們的調用者有頁面輸出時,就會拋出這個異常。具體原因也沒有弄清楚,各位大俠如果誰知道可以告知一下。其實驗證碼也是同一個原理,如果我們將驗證碼的代碼寫在jsp頁面中,因為jsp頁面會調用JspWriter的out()方法將內容輸出,同時我們的圖片又調用了response.getOutputStream()方法因此會拋出這個異常;如果我們將驗證碼寫在servlet中,就不會同時使用兩種輸出也就不會出錯。有時即使調用者頁面沒有輸出,也會拋出這個異常,仔細看jsp轉譯以后的源碼發現輸出了換行,因此,我們最好把調用者頁面的%>和<%之間換行去掉,把%>和<%直接寫在一起。
        另外,如果我們實在要在jsp中用到response.getOutputStream(),比如驗證碼、jspSmartUpload,我們需要在最后加入如下代碼:
            response.reset();
            out.clear();
            out=pageContext.pushBody();

    posted on 2012-09-24 17:33 youngturk 閱讀(432) 評論(0)  編輯  收藏 所屬分類: JSP隨筆Java基礎servlet

    <2012年9月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    導航

    統計

    公告

    this year :
    1 jQuery
    2 freemarker
    3 框架結構
    4 口語英語

    常用鏈接

    留言簿(6)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊

    EJB學習

    Flex學習

    learn English

    oracle

    spring MVC web service

    SQL

    Struts

    生活保健

    解析文件

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成年女人免费v片| 亚洲一区精品视频在线| 伊人久久大香线蕉亚洲五月天| 亚洲一区二区三区免费| 亚洲六月丁香婷婷综合| 一边摸一边爽一边叫床免费视频 | 色欲国产麻豆一精品一AV一免费| 国产免费的野战视频| 久久激情亚洲精品无码?V| 国产精品亚洲精品青青青 | 三年片在线观看免费观看高清电影| 亚洲中文字幕丝袜制服一区| 免费观看又污又黄在线观看| 69av免费视频| 亚洲va久久久噜噜噜久久男同 | 一道本不卡免费视频| 亚洲色婷婷六月亚洲婷婷6月| 亚洲人xxx日本人18| 日本免费人成视频播放| 亚洲AV永久精品爱情岛论坛| 久久午夜羞羞影院免费观看| 亚洲av午夜福利精品一区人妖| 嫩草在线视频www免费观看 | 免费jjzz在线播放国产| 亚洲七七久久精品中文国产| 中日韩亚洲人成无码网站| a级片免费在线观看| 日批日出水久久亚洲精品tv| 亚洲国产成人手机在线观看| 99在线热视频只有精品免费| 国产专区一va亚洲v天堂| 免费国产黄网站在线观看| 亚洲 欧洲 日韩 综合在线| 亚洲av午夜成人片精品电影| 麻豆安全免费网址入口| 国产又大又粗又硬又长免费 | 人妻仑刮八A级毛片免费看| 亚洲A∨无码无在线观看| a级毛片免费观看视频| 亚洲国产成人va在线观看网址| xxxxwww免费|