Undertow部署没问题,tomcat下部署访问某些接口报这个错,是jar包冲突吗

java.lang.IllegalStateException: getOutputStream() has already been called for this response

        at org.apache.catalina.connector.Response.getWriter(Response.java:624)

        at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:211)

        at com.jfinal.render.ErrorRender.render(ErrorRender.java:60)

        at com.jfinal.core.ActionHandler.handle(ActionHandler.java:122)

        at com.jfinal.plugin.druid.DruidStatViewHandler.handle(DruidStatViewHandler.java:81)

        at com.cn.jm.core.web.handler.XssFilterHandler.handle(XssFilterHandler.java:17)

        at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:86)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

        at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)

        at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)

        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)

        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)

        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

        at java.lang.Thread.run(Thread.java:748)

java.lang.reflect.InvocationTargetException

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:498)

        at com.cn.jm.core.web.interceptor.JMVaildInterceptor.vaild(JMVaildInterceptor.java:61)

        at com.cn.jm.core.web.interceptor.JMVaildInterceptor.vaild(JMVaildInterceptor.java:50)

        at com.cn.jm.core.web.interceptor.JMVaildInterceptor.before(JMVaildInterceptor.java:16)

        at com.cn.jm.core.web.interceptor.JMBaseInterceptor.intercept(JMBaseInterceptor.java:14)

        at com.jfinal.aop.Invocation.invoke(Invocation.java:69)

        at com.cn.jm.common.GlobalActionInterceptor.intercept(GlobalActionInterceptor.java:23)

        at com.jfinal.aop.Invocation.invoke(Invocation.java:69)

        at com.cn.jm.core.web.interceptor.JMBaseInterceptor.intercept(JMBaseInterceptor.java:17)

        at com.jfinal.aop.Invocation.invoke(Invocation.java:69)

        at com.cn.jm.core.web.interceptor.JMApiExceptionInterceptor.intercept(JMApiExceptionInterceptor.java:19)

        at com.jfinal.aop.Invocation.invoke(Invocation.java:69)

        at com.jfinal.core.ActionHandler.handle(ActionHandler.java:89)

        at com.jfinal.plugin.druid.DruidStatViewHandler.handle(DruidStatViewHandler.java:81)

        at com.cn.jm.core.web.handler.XssFilterHandler.handle(XssFilterHandler.java:17)

        at com.jfinal.core.JFinalFilter.doFilter(JFinalFilter.java:86)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

        at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:209)

        at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:244)

        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)

        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)

        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)

        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)

        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)

        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)

        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)

        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)

        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)

        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)

        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)

        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

        at java.lang.Thread.run(Thread.java:748)

Caused by: java.lang.ClassCastException: org.apache.catalina.util.ParameterMap cannot be cast to java.util.HashMap

        at com.cn.jm.core.web.handler.XssRequestWrapper.getParameterMap(XssRequestWrapper.java:40)

        at com.jfinal.core.Controller.getParaMap(Controller.java:187)

        at com.cn.jm.core.valid.rule.JMVaildNull.vaildParam(JMVaildNull.java:25)

        ... 42 more


评论区

jounzhang

2019-03-15 14:42

response的流不能重复读取,你可以排查是否先后调用了多个render,因为一般render里面会对response的输出流进行操作。或者你自己在intercepter或handller里是否有对输出流进行操作,包括getWriter等方法。

热门反馈

扫码入社