抛出异常:java.lang.IllegalStateException: SRVE0199E

webphere抛出抛出异常:java.lang.IllegalStateException: SRVE0199E: 已获取了输出流

你的这个问题和这句有关
response.getOutputStream();
这时侯你已经取到输出流.
但是, 应用服务器(websphere什么的)在你的JSP程序后面增加了finally处理, 自动去取输出流, 这时便产生了上面的错误.

[对策]
1. 改用servlet就可以避免发生这样的问题, 这是把握最大的解决方法
2. 根据我的经验, 取得输出流的地方是这样的

    PHP code:


    finally {


          if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);


        }

因此, 你只要把_jspxFactory设成null就可以避免出错, 如下例

    PHP code:


    <%


    bos = new BufferedOutputStream(response.getOutputStream());//你得到输出流的语句


    ...


    _jspxFactory = null;//重点是加上这句


    %>


此问题要感谢lillikut牛人的指导。

你可能感兴趣的:(java,PHP,应用服务器,jsp,websphere)