我的Blog我做主^_^

          走向一條通往JAVA的不歸路...

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks
          在寫JSP程序的時候,如果程序中調(diào)用了response.getOutputStream()去向客戶端輸出文件等數(shù)據(jù)流,容器就會拋出這樣的異常:
          Java.lang.IllegalStateException: getOutputStream() has already been called for this response
                  at org.apache.catalina.connector.Response.getWriter(Response.java:596)
                  at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:186)
            產(chǎn)生這樣的異常原因:是web容器生成的servlet代碼中有out.write(""),這個和JSP中調(diào)用的response.getOutputStream()產(chǎn)生沖突.即Servlet規(guī)范說明,不能既調(diào)用response.getOutputStream(),又調(diào)用response.getWriter(),無論先調(diào)用哪一個,在調(diào)用第二個時候應(yīng)會拋出IllegalStateException,因?yàn)樵趈sp中,out變量實(shí)際上是通過response.getWriter得到的,你的程序中既用了response.getOutputStream,又用了out變量,故出現(xiàn)以上錯誤。
            解決方案:在程序的最后添加:
          out.clear();
          out = pageContext.pushBody();
          就可以了。

          http://blog.erp100.com/html/39/3639-1547.html

          posted on 2007-04-13 11:54 java_蟈蟈 閱讀(322) 評論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 库车县| 东源县| 樟树市| 会理县| 揭阳市| 莎车县| 游戏| 九江县| 乐山市| 天柱县| 渭南市| 景洪市| 察雅县| 西和县| 嵊州市| 沽源县| 敖汉旗| 巴彦淖尔市| 阳朔县| 马尔康县| 日照市| 汉川市| 井冈山市| 葫芦岛市| 克东县| 吉首市| 分宜县| 竹北市| 库尔勒市| 信丰县| 霍城县| 沂源县| 海原县| 新田县| 乌鲁木齐市| 阳原县| 高淳县| 虎林市| 庐江县| 昌邑市| 偃师市|