我的web.xml:
过滤器程序:
package filters;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public final class ExampleFilter implements Filter {
private String attribute = null;
private FilterConfig filterConfig = null;
public void destroy() {
System.out.println("enter filter.destory()");
this.attribute = null;
this.filterConfig = null;
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws IOException, ServletException {
System.out.println("enter filter.doFilter()");
// Store ourselves as a request attribute (if requested)
if (attribute != null)
request.setAttribute(attribute, this);
// Time and log the subsequent processing
long startTime = System.currentTimeMillis();
chain.doFilter(request, response);
long stopTime = System.currentTimeMillis();
String url = ((HttpServletRequest)request).getRequestURI();
filterConfig.getServletContext().log
(this.toString() + "(" + url + "): " + (stopTime - startTime) +
" milliseconds");
}
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("enter filter.init()");
this.filterConfig = filterConfig;
this.attribute = filterConfig.getInitParameter("attribute");
}
public String toString() {
if (filterConfig == null)
return ("InvokerFilter()");
StringBuffer sb = new StringBuffer("InvokerFilter(");
sb.append(filterConfig);
sb.append(")");
return (sb.toString());
}
}