Hi all,

        I am trying to wrap the HttpServletResponse to apply gzip compression on
data sent to the client when gzip is supported. I'm using a filter,wrapper
and custom ServletOutputStream based on published code.
It seems to work except when I chain actions. If I call one action which
executes a forward to a JSP, I get the exception attached.

We have the filter applied only to *.do in <url-pattern> from web.xml, so we
thought the filter is applied to the actions, and the JSP.

We know this question has been asked several times, but we have not found a
good solution for us. what could I be doing that would cause the stream to
be closed? Can?t we put a filter to compress if we use forwards from
actions?

Thanks a lot,

============ Exception ==============

java.io.IOException: This output stream has already been closed
        at
es.aranzadi.filtros.CompressionResponseStream.close(CompressionResponseStrea
m.java:187)
        at
es.aranzadi.filtros.CompressionResponseStream.close(CompressionResponseStrea
m.java:205)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.
java:253)
        at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10
69)
        at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProces
sor.java:455)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
        at
es.aranzadi.filtros.CompressionFilter.doFilter(CompressionFilter.java:243)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.j
ava:560)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDis
patcher.java:306)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.
java:240)
        at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:10
69)
        at
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProces
sor.java:455)
        at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
        at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
2EE].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
        at
es.aranzadi.filtros.CompressionFilter.doFilter(CompressionFilter.java:243)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.j
ava:560)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDis
patcher.java:306)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:
767)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:259)
        at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for
J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:106)
        at
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.ja
va:803)
        at java.lang.Thread.run(Thread.java:479)





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to