• JavaEE系列(一)--Filter技术


    Filter是JavaEE中的另一个重要部分,很多Web框架都是基于Filter实现的。

    1.什么是Filter?

    Filter是用来过滤请求资源和资源响应的对象(这里的资源指静态内容和Servlet等);

     Filter接口定义了Filter的生命周期(由Web服务器管理),通过doFilter方法执行过滤任务。

    2.Filter能做什么?

    通常使用Filter做身份验证,日志和审计,图形转换,数据压缩,加密等。

    即在请求到达资源之前做一些预处理,以及资源在响应客户端之前做一些后续处理。

    3.Filter的简单使用

    ①实现Filter接口 

    ②通过@WebFilter注解生命Filter(也可以通过xml配置,这里不再介绍)

    ③通过@WebIniteParam初始化参数

    4.Filter的执行流程

     上图描述了三组映射:

    ①F1-F3-S1

    ②F1-F2-F3-S2

    ③F1-S3

    以②F1-F2-F3-S2为例,描述详细的流程如下所示:

     怎么理解呢?我们知道程序是顺序执行的,在每次执行chain.doFilter的时候,请求由当前过滤器到过滤器链中的下一个过滤器,并依次执行。当过滤器链的最后一个过滤器的doFilter执行完毕后,请求资源,

    然后后开始处理响应,从最后一个过滤器开始顺序执行完成每一个过滤器中的dofilter方法以后的代码(其实这和普通的方法调用的执行顺序是类似的)。

    5.总结

    理解Filter和Servlet的区别,以及执行流程

  • 相关阅读:
    主要用到 DELPHI XE 10.2新增HASH函数
    个人使用Onenote和Evernote对比
    OneNote和Evernote的特征
    allure的HTML报告信息解疑
    记:ModuleNotFoundError: No module named 'pip'
    用例需注意的点
    Selenium Builder
    定位到元素后可进行的操作事件
    基本定位方法
    webdriver的基本操作
  • 原文地址:https://www.cnblogs.com/masting/p/12790483.html
Copyright © 2020-2023  润新知