zoukankan      html  css  js  c++  java
  • logfilter

    package lee;
     
     import javax.servlet.*;
      import javax.servlet.http.*;
      import javax.servlet.annotation.*;
      
      import java.io.*;
      
      /**
      * Description:
      * <br/>网站: <a href="http://www.crazyit.org">疯狂Java联盟</a>
      * <br/>Copyright (C), 2001-2016, Yeeku.H.Lee
      * <br/>This program is protected by copyright laws.
      * <br/>Program Name:
      * <br/>Date:
     * @author  Yeeku.H.Lee kongyeeku@163.com
      * @version  1.0
      */
     @WebFilter(filterName="log"
         ,urlPatterns={"/*"})
     public class LogFilter implements Filter
     {
         // FilterConfig可用于访问Filter的配置信息
         private FilterConfig config;
         // 实现初始化方法
         public void init(FilterConfig config)
         {
             this.config = config;
         }
         // 实现销毁方法
         public void destroy()
         {
             this.config = null;
         }
        // 执行过滤的核心方法
         public void doFilter(ServletRequest request,
             ServletResponse response, FilterChain chain)
             throws IOException,ServletException
         {
             // ---------下面代码用于对用户请求执行预处理---------
             // 获取ServletContext对象,用于记录日志
             ServletContext context = this.config.getServletContext();
             long before = System.currentTimeMillis();
             System.out.println("开始过滤...");
             // 将请求转换成HttpServletRequest请求
             HttpServletRequest hrequest = (HttpServletRequest)request;
             // 输出提示信息
             System.out.println("Filter已经截获到用户的请求的地址: " +
                 hrequest.getServletPath());
             // Filter只是链式处理,请求依然放行到目的地址
             chain.doFilter(request, response);
             // ---------下面代码用于对服务器响应执行后处理---------
             long after = System.currentTimeMillis();
             // 输出提示信息
             System.out.println("过滤结束");
            // 输出提示信息
             System.out.println("请求被定位到" + hrequest.getRequestURI() +
                 "   所花的时间为: " + (after - before));
         }
     }
  • 相关阅读:
    electron之打包成安装程序
    electron之环境安装、启动程序
    微信支付.net官方坑太多,我们来精简
    微信支付官方.net版之坑你没商量
    程序员出路在何方
    简单介绍
    mac中显示隐藏文件
    sublime Text 3 安装emmet
    Andriod学习笔记5:通过NDK在C++中实现日志输出
    Andriod学习笔记4:mac下搭建 Eclipse+CDT 集成开发环境
  • 原文地址:https://www.cnblogs.com/tgq0101457/p/8650504.html
Copyright © 2011-2022 走看看