Mega Code Archive

 
Categories / Java / Servlets
 

Delegate filter

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. <web-app> <filter> <filter-name>requesttimerfilter</filter-name> <filter-class>com.ack.web.servlet.RequestTimerFilter</filter-class> </filter> <filter-mapping> <filter-name>requesttimerfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> */ 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() ); } } }