我的Blog我做主^_^

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            64 隨筆 :: 68 文章 :: 77 評論 :: 0 Trackbacks
          在寫JSP程序的時候,如果程序中調用了response.getOutputStream()去向客戶端輸出文件等數據流,容器就會拋出這樣的異常:
          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)
            產生這樣的異常原因:是web容器生成的servlet代碼中有out.write(""),這個和JSP中調用的response.getOutputStream()產生沖突.即Servlet規范說明,不能既調用response.getOutputStream(),又調用response.getWriter(),無論先調用哪一個,在調用第二個時候應會拋出IllegalStateException,因為在jsp中,out變量實際上是通過response.getWriter得到的,你的程序中既用了response.getOutputStream,又用了out變量,故出現以上錯誤。
            解決方案:在程序的最后添加:
          out.clear();
          out = pageContext.pushBody();
          就可以了。

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

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

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


          網站導航:
           
          主站蜘蛛池模板: 仁怀市| 自治县| 莆田市| 城固县| 常德市| 盈江县| 芦山县| 新野县| 巢湖市| 共和县| 广德县| 清涧县| 北川| 和林格尔县| 巴南区| 小金县| 宜宾市| 阿拉尔市| 洛宁县| 贵港市| 竹北市| 通榆县| 阿勒泰市| 麻阳| 翁源县| 无为县| 治多县| 寿光市| 梅河口市| 哈密市| 濉溪县| 辽宁省| 南雄市| 左贡县| 丹阳市| 巴塘县| 布尔津县| 丁青县| 绿春县| 沿河| 河曲县|