java.lang.IllegalStateException: Cannot create a session after the response has been committed

来源:互联网 发布:阿里云登录界面 编辑:程序博客网 时间:2024/05/18 03:39

今天在写代码的时候 出现了这个问题 

十月 09, 2017 8:35:34 上午 org.apache.catalina.core.ApplicationDispatcher invoke严重: Servlet.service() for servlet jsp threw exceptionjava.lang.IllegalStateException: Cannot create a session after the response has been committedat org.apache.catalina.connector.Request.doGetSession(Request.java:2880)at org.apache.catalina.connector.Request.getSession(Request.java:2315)at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:898)at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:571)at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:516)at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:146)at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:125)at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:112)at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:65)at org.apache.jsp.view.error._500_jsp._jspService(_500_jsp.java:53)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:160)at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1228)at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1011)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:955)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)08:35:34.422 [http-bio-8000-exec-1] DEBUG c.t.c.interceptor.LogInterceptor - 计时结束:08:35:34.421  耗时:0s  URI: /ISysBookDocService  最大内存: 1724m  已分配内存: 735m  已分配内存中的剩余空间: 164m  最大可用内存: 1153m十月 09, 2017 8:35:34 上午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet [springServlet] in context with path [] threw exception [javax.servlet.ServletException: java.lang.IllegalStateException: Cannot create a session after the response has been committed] with root causejava.lang.IllegalStateException: Cannot create a session after the response has been committedat org.apache.catalina.connector.Request.doGetSession(Request.java:2880)at org.apache.catalina.connector.Request.getSession(Request.java:2315)at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:898)at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:229)at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:571)at org.apache.catalina.core.ApplicationHttpRequest.getSession(ApplicationHttpRequest.java:516)at org.apache.jasper.runtime.PageContextImpl._initialize(PageContextImpl.java:146)at org.apache.jasper.runtime.PageContextImpl.initialize(PageContextImpl.java:125)at org.apache.jasper.runtime.JspFactoryImpl.internalGetPageContext(JspFactoryImpl.java:112)at org.apache.jasper.runtime.JspFactoryImpl.getPageContext(JspFactoryImpl.java:65)at org.apache.jsp.view.error._500_jsp._jspService(_500_jsp.java:53)at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605)at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544)at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:160)at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1228)at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1011)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:955)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)


在网上看了好多都这样可以解决

ServletOutputStream out = response.getOutputStream();// 最好这样紧挨着 response.getOutputStream()HttpSession seesion = request.getSession();seesion.setAttribute("xxx", rand);// 输出数据out.print("<h1>hello</h1>");out.close();

但是实际上我是用hessian调用的

后来才发现原来是没有加Serializable


阅读全文
0 0
原创粉丝点击