timerfilter.java

来自「OA典型例子」· Java 代码 · 共 37 行

JAVA
37
字号
package com.sure.servlet;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class TimerFilter extends HttpServlet implements Filter {
    private FilterConfig filterConfig;
    //Handle the passed-in FilterConfig
    public void init(FilterConfig filterConfig) {
        this.filterConfig = filterConfig;
    }
    //Process the request/response pair
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) {
        try {
            long before = System.currentTimeMillis();
            filterChain.doFilter(request, response);
            long after = System.currentTimeMillis();

            String name = "";
            if (request instanceof HttpServletRequest) {
              name = ((HttpServletRequest)request).getRequestURI();
            }
            filterConfig.getServletContext().log(name + ": " + (after - before) + "ms");
        }
        catch(ServletException sx) {
            filterConfig.getServletContext().log(sx.getMessage());
        }
        catch(IOException iox) {
            filterConfig.getServletContext().log(iox.getMessage());
        }
    }
    //Clean up resources
    public void destroy() {
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?