wood burning stoves*
The moose likes Servlets and the fly likes Fudging Filter Functionality  as a method call Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Fudging Filter Functionality  as a method call" Watch "Fudging Filter Functionality  as a method call" New topic
Author

Fudging Filter Functionality as a method call

Sam Gehouse
Ranch Hand

Joined: Jul 21, 2003
Posts: 281
Is there a way that I can fudge filter functionality as a method call.
I am having problem using Jason Falkner's Compression Filter using Struts. Apparently, our application (developed by previous developers) is doing ServletChaining and I am getting exception.
I want to use Jason Falkner's CompressionFilter.
But can I use it as a method call, instead of using it as a Filter? I have no other filter in the application.

Jason Falkner's Compression Filter:

public void doFilter(ServletRequest req, ServletResponse res,
FilterChain chain) throws IOException, ServletException {
if (req instanceof HttpServletRequest) {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
String ae = request.getHeader("accept-encoding");
// String doCompression = req.getParameter("doCompession");
if (ae != null && ae.indexOf("gzip") != -1) {
System.out.println("GZIP supported, compressing.");
GZIPResponseWrapper wrappedResponse =
new GZIPResponseWrapper(response);
chain.doFilter(req, wrappedResponse);
wrappedResponse.finishResponse();
return;
}
chain.doFilter(req, res);

}
}

I tried using it as a method call by commenting out line chain.doFilter(req, wrappedResponse). As I saidd, there is no filter in the application. Chain.doFilter(..) in reality passes control to the resource that has to be compressed. After that, control comes back to wrappedResponse.finishResponse() line.

However, if I try to use doFilter as a method call by commenting out chain.doFilter(req, wrappedResponse), and call it at some place of a Servlet, it does not do any good. Key is, control has to come back to filter for it to be compressed.

Any thoughts?
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Fudging Filter Functionality as a method call
 
Similar Threads
Filters and GZip
Stream and writer
Filter Configuration in Websphere Application Server 6.1
chain.doFilter() being called twice.
JSP with large data loads slow in Solaris10 OS , we are using Jrun4 and nested logic:iterate