posts - 431,  comments - 344,  trackbacks - 0
          在寫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()產生沖突,
          下面是web容器生成的部分servlet代碼:
                out = pageContext.getOut();
                _jspx_out = out;
                out.write("\r\n");
                out.write("\r\n");
          解決的方法有兩步:1、如果JSP中有
          <%@ page import ... %>
          <%@ page import ... %>
          這樣的代碼,則改為:
          <%@ page import ... %><%
          %><%@ page import ... %><%
          %><%
          // ...getOutputStream()...
          %>
          改完后生成的servlet代碼:
                out = pageContext.getOut();
                _jspx_out = out;
                //out.write("\r\n");這個將被去掉
                //out.write("\r\n");這個將被去掉
          2、如果第一步改完還是有異常,則在程序的最后添加:
          out.clear();
          out = pageContext.pushBody();
          就可以解決了。
          posted on 2006-11-20 15:37 周銳 閱讀(1073) 評論(6)  編輯  收藏 所屬分類: JavaJsp
          主站蜘蛛池模板: 准格尔旗| 潼关县| 普安县| 奇台县| 吴旗县| 施秉县| 阿拉善右旗| 社会| 监利县| 广河县| 沙雅县| 洛宁县| 高青县| 炎陵县| 资中县| 安塞县| 汕尾市| 商城县| 新野县| 杭锦后旗| 千阳县| 崇州市| 海安县| 韶山市| 福州市| 禄劝| 沽源县| 永川市| 突泉县| 华蓥市| 元江| 衡南县| 清河县| 南平市| 邹平县| 洛南县| 东丽区| 咸宁市| 汉寿县| 花垣县| 胶州市|