解决WebSphere异常:SRVE0199E: 已获取了 OutputStream

时间:2023-11-11 18:18:44

dlg:

例如 在WebSphere这个目录下

/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/temp/master1Node01/master1/gkht_war/gkht.war/gov/_FileDownload.java

这个java文件是jsp文件被编辑后成的java文件

此java文件末尾有:

....................................................

} catch (Throwable t) {
      if (!(t instanceof
javax.servlet.jsp.SkipPageException)){
        out = _jspx_out;
        if
(out != null && out.getBufferSize() != 0)
       
out.clearBuffer();
        if (pageContext != null)
pageContext.handlePageException(t);
      }
      else if (t instanceof
com.ibm.ws.jsp.runtime.WsSkipPageException){
       
((com.ibm.ws.jsp.runtime.WsSkipPageException)t).printStackTraceIfTraceEnabled();
     
}
    } finally {
      if (_jspxFactory != null)
_jspxFactory.releasePageContext(pageContext);
    }
  }
}

这些是WebSphere自己给加上的,不是jsp原有的,所以要

只需在原jsp文件的尾部,执行     _jspxFactory =null ;   就不执行上面java文件中的后面那个finally
下的if语句。

只需添上这一句,就解决了WebSphere中,因为写的jsp里有  “ ……response.getOutputStream()  …… ”

而报的  :“    ……其中一个服务方法中抛出的异常。抛出的异常:java.lang.IllegalStateException: SRVE0199E:
已获取了 OutputStream     ……    ”

2008年12月5号

dlg 天津

转自:http://dlg2205.blog.163.com/blog/static/988694142008115103332636/