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牛人的指导。
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牛人的指导。