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));

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

  • 相关阅读:
    函数的节流和函数的防抖
    微信小程序开发
    当后端人员未提供接口,前端人员该怎么测试 --mock
    vue之写发表评论思路
    vue之头像管理思路
    numpy 索引切片迭代
    numpy 通用函数
    numpy 数组运算
    numpy 创建数组
    numpy 数据类型
  • 原文地址:https://www.cnblogs.com/MapleDream/p/8644229.html
Copyright © 2011-2022 走看看