package com.ack.web.servlet;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
/*
to configure this filter display every request uri and the time taken
to complete it. Compile this class into the WEB-INF/classes directory
and configure you WEB-INF/web.xml file to include the following filter.
Note how you can map the filter onto any url-pattern of your choosing.
requesttimerfilter
com.ack.web.servlet.RequestTimerFilter
requesttimerfilter
/*
*/
public class DelegateFilter extends HttpServlet implements Filter {
private FilterConfig filterConfig;
public void init( FilterConfig filterConfig ) {
this.filterConfig = filterConfig;
}
public void doFilter( ServletRequest request,
ServletResponse response,
FilterChain filterChain ) {
try {
String requestURI = ( (HttpServletRequest) request ).getRequestURI();
System.out.println( "delegating to -> " + requestURI );
filterChain.doFilter( request, response );
}
catch( ServletException sx ) {
log( sx.getMessage() );
}
catch( IOException iox ) {
log( iox.getMessage() );
}
}
}