zoukankan      html  css  js  c++  java
  • Filter拦截用户请求

    下面这个Filter负责拦截所有用户的用户请求:

    1.创建Filter必须实现javax.servlet.Fileter接口。

    2.

     1 // FilterConfig可用于访问Filter的配置信息
     2     private FilterConfig config;
     3     // 实现初始化方法
     4     public void init(FilterConfig config)
     5     {
     6         this.config = config;
     7     }
     8     // 实现销毁方法
     9     public void destroy()
    10     {
    11         this.config = null;
    12     }

    destory方法用于在Filter销毁前,完成某些资源的回收。

    3.

    1 // 获取ServletContext对象,用于记录日志
    2         ServletContext context = this.config.getServletContext();
    3         long before = System.currentTimeMillis();
    4         System.out.println("开始过滤...");
    5         // 将请求转换成HttpServletRequest请求
    6         HttpServletRequest hrequest = (HttpServletRequest)request;
    7         // 输出提示信息
    8         System.out.println("Filter已经截获到用户的请求的地址: " +
    9             hrequest.getServletPath());

    上面这一段代码是对用户请求进行预处理。

    (1)currentTimeMillis方法的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数。而且可以用这个值来构造一个Date对象。

    4.

    // Filter只是链式处理,请求依然放行到目的地址
            chain.doFilter(request, response);

    实现该方法前对用户请求进行预处理,实现后对服务器响应进行后处理。

    5.

    long after = System.currentTimeMillis();
            // 输出提示信息
            System.out.println("过滤结束");
            // 输出提示信息
            System.out.println("请求被定位到" + hrequest.getRequestURI() +
                "   所花的时间为: " + (after - before));

    对服务器响应执行后处理。

  • 相关阅读:
    17岁韩寒在CCTV《对话》舌战群吊的视频
    在线LaTex编辑器
    PowerShell 点滴记录
    程序阅读理解题目(高中语文版,附答案)
    jQuery Validate 应用
    ASP.net MVC 向子视图传递数据
    分库分表(sharding)后主键全局唯一性的解决方案
    Ajax局部刷新例子
    限制 Flash 在指定域名/网址中播放 (Flash 防盗链)
    javascript实现二级联动下拉框
  • 原文地址:https://www.cnblogs.com/MapleDream/p/8644229.html
Copyright © 2011-2022 走看看