以下是本人在项目中用Servlet Filter实现的Web页面执行时间过滤器: package com.sunfairs.filter; 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.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class TimerFilter implements Filter { private static final Log log = LogFactory.getLog(TimerFilter.class); public static final String DEFAULT_TIMER_ATTRIBUTE = "sunfairs.shop.jsp.timer"; private String key; public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; Timer timer = new Timer(); timer.start(); request.setAttribute(key, timer); chain.doFilter(request, response); timer.stop(); } public void init(FilterConfig config) throws ServletException { if(config.getInitParameter("key")!=null){ this.key = config.getInitParameter("key"); } else{ this.key = DEFAULT_TIMER_ATTRIBUTE; } } public static class Timer{ private long time; public Timer(){ this.time = 0l; } public long getTime() { return time; } public void start(){ this.time = System.currentTimeMillis(); } public void stop(){ this.time = System.currentTimeMillis() - this.time; } } }