loggerfilter.java

来自「JAVA Servlet2.3外文书籍源码」· Java 代码 · 共 37 行

JAVA
37
字号
package filters;

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

public final class LoggerFilter implements Filter {

  private FilterConfig filterConfig = null;

  public void doFilter(ServletRequest request,
                         ServletResponse response,
                         FilterChain chain)
    throws IOException, ServletException {
       
    long startTime = System.currentTimeMillis();
    String remoteAddress =  request.getRemoteAddr();
    String remoteHost = request.getRemoteHost();
    HttpServletRequest myReq = (HttpServletRequest) request;
    String reqURI = myReq.getRequestURI();
    String browserUsed = myReq.getHeader("User-Agent").toLowerCase();
    chain.doFilter(request, response);
    filterConfig.getServletContext().log("Request Originated from IP " + 
                                         remoteAddress + "(" + remoteHost + 
                                         "), using browser (" + browserUsed  +
                                         ") and accessed resource " + reqURI + " and used " +
                                         (System.currentTimeMillis() - startTime) + " ms"  );
  }

  public void destroy() {
    this.filterConfig = null;
  }

  public void init(FilterConfig filterConfig) {
	  this.filterConfig = filterConfig;
  }
}

⌨️ 快捷键说明

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