Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 三滤器;导致IllegalStateException的UrlRewriteFilter_Java_Jsp_Servlets_Url Rewriting - Fatal编程技术网

Java 三滤器;导致IllegalStateException的UrlRewriteFilter

Java 三滤器;导致IllegalStateException的UrlRewriteFilter,java,jsp,servlets,url-rewriting,Java,Jsp,Servlets,Url Rewriting,我正在使用trimFilter(com.cj.trim.trimFilter)去除输出中创建的所有空行和空格,并使用UrlRewriteFilter执行seo友好的URL 许多页面工作正常,但有些页面抛出以下异常 java.lang.IllegalStateException:已为此响应调用getWriter() 堆栈跟踪 [2015-02-19T00:06:49.718+0000][glassfish 4.1][警告][[javax.enterprise.web][tid:_ThreadID=

我正在使用trimFilter(com.cj.trim.trimFilter)去除输出中创建的所有空行和空格,并使用UrlRewriteFilter执行seo友好的URL

许多页面工作正常,但有些页面抛出以下异常 java.lang.IllegalStateException:已为此响应调用getWriter()

堆栈跟踪 [2015-02-19T00:06:49.718+0000][glassfish 4.1][警告][[javax.enterprise.web][tid:_ThreadID=49 _ThreadName=jk_listener(1)][timeMillis:1424304409718][levelValue:900][[ StandardWrapperValve[默认值]:Servlet默认值的Servlet.service()引发异常 java.lang.IllegalStateException:已为此响应调用getWriter() 位于org.apache.catalina.connector.Response.getOutputStream(Response.java:746) 位于org.apache.catalina.connector.ResponseFacade.getOutputStream(ResponseFacade.java:206) 位于javax.servlet.ServletResponseWrapper.getOutputStream(ServletResponseWrapper.java:142) 位于javax.servlet.ServletResponseWrapper.getOutputStream(ServletResponseWrapper.java:142) 位于com.cj.trim.trimpilter.doFilter(未知来源) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 位于org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) 位于org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 位于org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 位于org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 位于org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:873) 位于org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:739) 位于org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:575) 位于org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:546) 位于org.apache.catalina.core.ApplicationDispatcher.dispatcher(ApplicationDispatcher.java:428) 位于org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:378) 位于org.tuckey.web.filters.urlrewrite.normalrewritenurl.doRewrite(normalrewritenurl.java:213) 位于org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171) 位于org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) 位于org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) 位于org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:316) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160) 位于org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734) 位于org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673) 位于com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:99) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:174) 位于org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:415) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:282) 在com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)上 位于com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 位于org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) 位于org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) 位于org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 位于org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 位于org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) 在org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)上 在org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) 位于org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) 位于org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 位于org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) 位于org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 位于org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 位于org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 位于org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 位于org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) 位于org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) 运行(Thread.java:745)


我知道其中一个与另一个重叠。因此导致了此问题。我需要知道如何修复此问题。我应该在何处更改代码以解决此问题。

我认为您正在尝试在一个位置获取写入程序,稍后再获取输出流。 像response.getWriter();在一个地方 和response.getOutputStream();在另一个
Returns a PrintWriter object that can send character text to the client. The PrintWriter uses the character encoding returned by getCharacterEncoding(). If the response's character encoding has not  been specified as described in getCharacterEncoding (i.e., the method  just returns the default value ISO-8859-1), getWriter updates it to ISO-8859-1.

Calling flush() on the PrintWriter commits the response.

Either this method or getOutputStream() may be called to write the body, not both.
   <jsp-config>
  <jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<trim-directive-whitespaces>true</trim-directive-whitespaces>
 </jsp-property-group>
</jsp-config>