Have you tried comparing the behavior of your filter to the one provided with TC?

$CATALINA_HOME/webapps/examples/WEB-INF/classes/compressionFilters

Quoting Jacob Kjome <[EMAIL PROTECTED]>:

> 
> 
> No one has any opinions or comments on this?  I can't believe no one else 
> has run into this problem.
> 
> Jake
> 
> At 04:46 PM 3/13/2003 -0600, you wrote:
> 
> >I've mentioned this issue before regarding a GZIPFilter that wasn't 
> >working under Tomcat except for static file content (not working for JSP's
> 
> >and servlets).  However, I didn't get much response to that and it was 
> >probably due to the complexity of the problem.  Well, here is a simplied 
> >approach to the issue....
> >
> >I am seeing vastly differing behavior for this filter depending on whether
> 
> >it is filtering static content or JSP's and servlets and it seems to me 
> >that this differing behavior must be a bug in Tomcat.  Can someone 
> >validate whether or not this is a Tomcat bug?
> >
> >Here is the code in question.  Note that I have some comments in the code 
> >that explain what works, what doesn't so read that to get an idea of what 
> >I am talking about.  I have attached all the code in question, but this is
> 
> >the meat of it (based on the tutorial at 
> >http://www.orionserver.com/tutorials/filters/3.html ).
> >
> >public class PrePostFilter extends GenericFilter {
> >
> >     public void doFilter(final ServletRequest request,
> >                          final ServletResponse response,
> >                          FilterChain chain)
> >                                 throws IOException, ServletException {
> >
> >         PrintWriter out = response.getWriter();
> >
> >         //works as expected for static html, but not for JSP's where 
> > original content is discarded
> >         //GenericResponseWrapper wrapper = new 
> > GenericResponseWrapper((HttpServletResponse) response);
> >
> >         //works as expected for both static html and JSP's
> >         CharResponseWrapper wrapper = new 
> > CharResponseWrapper((HttpServletResponse) response);
> >
> >         chain.doFilter(request, wrapper);
> >         String responseString = wrapper.toString();
> >         responseString = "<HR>PRE<HR>" + responseString + "<HR>POST<HR>";
> >         response.setContentLength(responseString.length());
> >         out.write(responseString);
> >
> >/*
> >         //works as expected for JSP's, but not static html where 
> > everything but the "POST" data is written
> >         out.write("<HR>PRE<HR>");
> >         CharResponseWrapper wrapper = new 
> > CharResponseWrapper((HttpServletResponse) response);
> >         chain.doFilter(request, wrapper);
> >         out.write(wrapper.toString());
> >         out.write("<HR>POST<HR>");
> >*/
> >
> >         out.flush();
> >         out.close();
> >     }
> >
> >}
> >
> >Questions to answer...
> >
> >1.  Why don't all 3 examples produce exactly the same output?  It seems to
> 
> >me that they should.
> >2.  Why does using a response wrapper that uses a ByteArrayOutputStream 
> >(as in GenericResponseWrapper) not work with JSP's?  The original data is 
> >always unavailable.
> >3.  Why do I have to use a PrintWriter when filtering JSP's?  Why can't I 
> >use an OutputStream?  Using an OutputStream gets me the same results as
> #2.
> >
> >So, is there anything wrong with my code or is something just goofy in
> Tomcat?
> >
> >Jake
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> 


-- 
Kris Schneider <mailto:[EMAIL PROTECTED]>
D.O.Tech       <http://www.dotech.com/>

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

Reply via email to