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对象的创建和销毁。

  *

Filter和Listener的更多相关文章

  1. Servlet、Filter、Listener、Interceptor

    首先,JSP/Servlet规范中定义了Servlet.Filter.Listener这三种角色,并没有定义Interceptor这个角 色,Interceptor是某些MVC框架中的角色,比如Str ...

  2. servlet、filter、listener、interceptor之间的区别和联系

    一.概念 1.servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层. 2.filter: ...

  3. j2ee Servlet、Filter、Listener

    首先,JSP/Servlet规范中定义了Servlet.Filter.Listener这三种角色,并没有定义Interceptor这个角色,Interceptor是某些MVC框架中的角色,比如Stru ...

  4. JavaWeb之Filter、Listener

    昨天和大家介绍了一下JSON的用法,其实JSON中主要是用来和数据库交互数据的.今天给大家讲解的是Filter和Listener的用法. 一.Listenner监听器 1.1.定义 Javaweb中的 ...

  5. Filter、Listener 学习总结

    今天我们来介绍 Filter.Listener 这两个模块一些简单的知识和应用,接下来我们开始我们的正题 ! 1. Filter(过滤器) 1.1 对 Servlet 容器调用 Servlet 的过程 ...

  6. 基于注解的SpringMVC添加其他的Servlet、Filter以及Listener

    我们可以在AbstractAnnotationConfigDispatcherServletInitializer的实现类中重写onStartup(ServletContext servletCont ...

  7. SpringBoot中使用Servlet,Filter,Listener

    项目最近在替换之前陈旧的框架,改用SpringBoot进行重构,初接触,暂时还没有用到Servlet,Filter,Listener的地方,但在之前回顾Servlet的生命周期时,https://ww ...

  8. SpringBoot 配置 Servlet、Filter、Listener

    SpringBoot 配置 Servlet.Filter.Listener 在SpringBoot应用中,嵌入式的 Servlet 3.0+ 容器不会直接使用 ServletContainerInit ...

  9. 【Web】servlet、filter和listener

    一般地,servlet.filter.listener是配置到web.xml中(web.xml 的加载顺序是:context-param -> listener -> filter -&g ...

  10. 【SpringBoot】SpringBoot拦截器实战和 Servlet3.0自定义Filter、Listener

    =================6.SpringBoot拦截器实战和 Servlet3.0自定义Filter.Listener ============ 1.深入SpringBoot2.x过滤器Fi ...

随机推荐

  1. Pandas | 22 时间差

    时间差(Timedelta)是时间上的差异,以不同的单位来表示.例如:日,小时,分钟,秒.它们可以是正值,也可以是负值.可以使用各种参数创建Timedelta对象,如下所示 - 字符串 通过传递字符串 ...

  2. 2015-2016 ACM ICPC Baltic Selection Contest D - Journey(广搜)

  3. plv8 触发器使用

    触发器使用 demo CREATE FUNCTION test_trigger() RETURNS TRIGGER AS $    plv8.elog(NOTICE, "NEW = &quo ...

  4. 列表:list

    #_*_coding:utf-8_*_#作者:王佃元#日期:2019/12/7'''数据类型整数字符串列表.元组name = 'wuchao'name = 'jinxin'name = 'xiaohu ...

  5. ESA2GJK1DH1K微信小程序篇: 小程序实现MQTT封包源码使用说明

    说明 我为了后期能够快速的让小程序实现MQTT,我做了一个MQTT的封装. 功能的封装有助于后期快速的开发,还方便咱维护. 我后期的所有代码皆使用此封装库, 这一节,我就详细的介绍我封装的MQTT.j ...

  6. 【数位DP】【P4127】[AHOI2009]同类分布

    Description 给出两个数 \(a,~b\) 求出 \([a~,b]\) 中各位数字之和能整除原数的数的个数. Limitations \(1 \leq a,~b \leq 10^{18}\) ...

  7. SqlServer 快速查看表结构

    --快速查看表结构(比较全面的) THEN obj.name ELSE '' END AS 表名, col.colorder AS 序号 , col.name AS 列名 , ISNULL(ep.[v ...

  8. vb.net 以读文本文件的方式对XML文件进行遍历

    '    对XML文件按照文本文件的方式进行遍历 Private Sub checkFile_establishEntity(strFile As String) Dim reader AsTextR ...

  9. 第01组 Alpha事后诸葛亮

    目录 一.总结思考 1.设想和目标 ①我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? ②我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原 ...

  10. python: 添加自定义模块路径 —— 可以使用相对路径

    自定义模块时,添加模块路径: sys.path.append('..')