websphere抛出java.lang.IllegalStateException: SRVE0199E: 已获取了输出流 错误
来源:互联网 发布:淘宝店铺身份证被盗用 编辑:程序博客网 时间:2024/05/29 14:08
websphere文件下载问题
00000031 ServletWrappe E SRVE0068E: 无法调用 servlet /test/test.jsp 的 service() 方法。抛出异常:java.lang.IllegalStateException: SRVE0199E: 已获取了输出流
at com.ibm.ws.webcontainer.srt.SRTServletResponse.getWriter(SRTServletResponse.java:463)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:170)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:163)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:216)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:149)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:117)
at com.ibm._jsp._SceneReport._jspService(_SceneReport.java:101)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:88)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.http.channel.inbound.impl.
[05-10-18 15:27:23:598 CST] 00000031 ServletWrappe E SRVE0014E: 未捕捉到 service() 异常的根本原因 /taking/SceneReport.jsp:SRVE0199E: 已获取了输出流
[05-10-18 15:27:23:618 CST] 00000031 SystemOut O doFilter 1:javax.servlet.ServletException: SRVE0199E: 已获取了输出流
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1216)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1177)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at com.mcm.util.tools.SessionFilter.doFilter(SessionFilter.java:195)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.mcm.util.tools.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:119)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:627)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:117)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:173)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1752)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:466)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:405)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:104)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:555)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:608)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:941)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1028)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
原因:
原因是由于Servlet 规范不同造成的.
Servlet1.2规范规定了OutputStream只能获得一次,在jsp中实际上已经通过内置对象out获得过一次,所以在程序里输出excel等文件时需要再getOutoutStream时就会报:OutputStream already obtained, WAS6里面遇上这种情况就直接报错并且不会正确执行输出,而WAS5。0只是报错但是还是允许输出。WAS6实际上对规范的实现更加严格了。
解决方法:将进行输出的jsp改用servlet实现。因为servlet里面没有内置的out对象,所以程序执行etOutoutStream就不会出错
- websphere抛出java.lang.IllegalStateException: SRVE0199E: 已获取了输出流 错误
- Android setPixel抛出java.lang.IllegalStateException
- java.lang.IllegalStateException: getWriter()....找错误找了好久
- 生成图片验证码的时候抛出:java.lang.illegalStateException
- Fragment抛出java.lang.IllegalStateException: Fragment not attached to Activity
- 使用jspsmartupload上传文件抛出的java.lang.IllegalStateException异常
- MediaRecorder录音,start时候,抛出java.lang.IllegalStateException异常
- Fragment抛出java.lang.IllegalStateException: Fragment not attached to Activity
- java.lang.IllegalStateException: No match found错误
- java.lang.IllegalStateException: STREAM错误的理解
- java.lang.IllegalStateException错误原因以及解决方法
- Android - 错误: java.lang.IllegalStateException: Already attached
- android studio著名错误 java.lang.IllegalStateException:
- 错误:Junit报错java.lang.IllegalStateException
- okhttp请求数据时报错,输出java.lang.IllegalStateException: closed
- 【Servlet+Struts2】文件下载时抛出java.lang.IllegalStateException异常的解决方法
- android使用自定义控件 IconTabPageIndicator时抛出java.lang.IllegalStateException的解决办法
- android使用mediaPlayer显示视频时,抛出java.lang.IllegalStateException异常
- 生成圆角的 jquery 插件
- API VerFindFile I would rd1
- API mixerGetNumDevs O, you dod1
- API DragQueryFile Im afraid1
- Ajax技术
- websphere抛出java.lang.IllegalStateException: SRVE0199E: 已获取了输出流 错误
- API InitAtomTable Lor blessd1
- API mixerGetNumDevs The subjecd1
- API LoadKeyboardLayout It dont d1
- 一个简单的AJAX实例
- Windows窗口消息分析
- #ifndef, #define, #endif区别和使用
- 掌握 Ajax -- 利用 DOM 进行 Web 响应
- 基于Java Swing和数据报文的局域网聊天和文件传输程序