LogFilter (2).zip

  • nagoya
    了解作者
  • Java
    开发工具
  • 1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2020-11-27 16:43
    上传日期
编写一个过滤器LogFilter.java,对Request请求进行过滤,记录请求的访问时间、从请求获取远程地址、远程主机名、客户请求的资源URI,并记录到日志文件中。
LogFilter (2).zip
  • web.xml
    806B
  • LogFilter.jsp
    372B
  • LogFilter.java
    1.5KB
内容介绍
package com.oracle.filter; import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @WebFilter(filterName = "LogFilter") public class LogFilter implements Filter { private Object Timer; private FilterConfig config; @Override public void destroy() { this.config=null; System.out.println("LogFilter 的destroy方法被调用"); } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException { chain.doFilter(req, resp); ServletContext context=this.config.getServletContext(); long before=System.currentTimeMillis(); System.out.println("开始过滤:"); HttpServletRequest hrequest=(HttpServletRequest) req; context.log("获得的远程地址为"+hrequest.getServletPath()); try{ chain.doFilter(req,resp); }catch (Exception e) { e.printStackTrace(); } long after=System.currentTimeMillis(); context.log("过滤结束"); context.log("客户请求的资源URI为"+((HttpServletRequest) req).getRequestURI()+"请求访问的时间为"+(after-before)); } @Override public void init(FilterConfig config) throws ServletException { this.config=config; System.out.println("LogFilter的init方法被调用"); } }
评论
    相关推荐