ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Filter和Listener

2019-07-23 11:05:08  阅读:148  来源: 互联网

标签:Listener web 配置 Filter 过滤器 拦截 执行 资源


Filter:

1、概念:

  web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,做一些事。

  过滤器的作用:一般用于完成一些通用的操作:登录验证、统一编码处理,敏感字符处理....

2、快速入门:

  步骤:

    1、定义一个类,实现Filter接口。

    2、复写方法。

    3、配置拦截路径。

      * web.xml

 <filter>
        <filter-name>demo1</filter-name>
        <filter-class>filter.filter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>demo1</filter-name>
        <!--        拦截路径-->
        <url-pattern>/*</url-pattern> 
    </filter-mapping>

 

      * 注解:@WebFilter("/*")

3、过滤器细节。

  1、过滤器执行流程:执行过滤器 ----  执行放行后的资源 ---- 回来执行放行代码后面的代码。

  2、过滤器的生命周期方法。

    1、init :在服务器启动后,会创建Filter对象,条用init方法。只执行一次。用来加载资源。

    2、doFilter :每次请求被拦截资源时会执行。执行多次。

    3、destroy:在服务器正常关闭时执行,销毁Filter对象。用于释放资源。

  4、过滤器配置详解。

    1、拦截路径配置。

      * 具体资源路径:/index.jsp :只有访问index.jsp资源时过滤器才执行。

      * 拦截目录: /user/* :。。。。。

      * 后缀名拦截: * . jsp :。。。。

      * 拦截所有资源: /* 

    2、拦截方式配置。

      * 注解配置:设置dispatcherTypes属性。

        1、REQUEST:默认值,浏览器直接请求资源时过滤。

        2、FORWARD:转发访问资源时。。

        3、INCLUDE:包含访问资源时。。。

        4、ERROR:错误跳转资源。

        5、ASYNC:异步访问资源时。

      * web.xml 配置 :设置<dispatcher></dispatcher> 标签。

  5、过滤器链(配置多个过滤器)

    * 执行顺序:两个过滤器:filter1 filter2 :filter1-》filter2-》资源-》filter2 -》filter1.

    * 过滤器先后顺序问题:

      1、注解配置:比较类名的字符串,小的先执行。

      2、web.xml 配置:谁在前面谁先执行。

Listener:

1、概念。

事件监听机制:

  * 事件 :一件事情

  * 事件源:事件发生的地方

  * 监听器 :一个对象

  * 注册监听:将事件、事件源、监听器绑定在一起。发生某个事件后,执行监听器代码。

2、ServletContextListener:监听ServletContext对象的创建和销毁。

  * 

标签:Listener,web,配置,Filter,过滤器,拦截,执行,资源
来源: https://www.cnblogs.com/zhangyuhao/p/11060684.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有