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. redis缓存, 缓存击穿,缓存雪崩,缓存穿透

    在实际项目中,MySQL数据库服务器有时会位于另外一台主机,需要通过网络来访问数据库:即使应用程序与MySQL数据库在同一个主机中,访问MySQL也涉及到磁盘IO操作(MySQL也有一些数据预读技术, ...

  2. DOM操作 三大家族

    clientHeight     获取对象的高度,不计算任何边距.边框.滚动条,但包括该对象的补白.   clientLeft     获取    offsetLeft     属性和客户区域的实际左 ...

  3. CF1276 D. Tree Elimination

    CF1276 D. Tree Elimination 传送门 CodeForces Solution 考虑树型\(dp\),设\(f_{u,0/1/2/3}\)分别表示点\(u\)被自己父亲边之前的边 ...

  4. String.format()的详细用法

    问题 在开发的时候一段字符串的中间某一部分是需要可变的 比如一个Textview需要显示”XXX用户来自 上海 年龄 21 性别 男” 其中的 XXX 是用户名 每个用户也是不一样的 地区 上海 为可 ...

  5. redis实现mysql的数据缓存

    环境设定base2 172.25.78.12 nginx+phpbase3 172.25.78.13 redis端base4 172.25.78.14 mysql端# 1.在base2(nginx+p ...

  6. Spring Boot 2.2.2 发布,新增 2 个新特性!

    Spring Boot 2.2.2 发布咯! Spring Boot 2.2.1 发布,一个有点坑的版本! 2.2.1 发布没过一个月,2.2.2 就来了. Maven依赖给大家奉上: <dep ...

  7. filbeat遇到的坑(运行久和文件数据量多时候 )

    1.现像,吃cpu,&& io 过程:量大的时候发现在filbeat很吃io, 原因: 日志量文件数太多,因为日志是2m一个文件 ,一天几十个G 开始怀疑是centos  6的问题,, ...

  8. JAVA锁的膨胀过程和优化(阿里)

    阿里的人问什么是锁膨胀,答不上来,回来做了总结: 关于锁的膨胀,synchronized的原理参考:深入分析Synchronized原理(阿里面试题) 首先说一下锁的优化策略. 1,自旋锁 自旋锁其实 ...

  9. 收藏:png8和png24的根本区别

    1.png8和png24的根本区别,不是颜色位的区别,而是存储方式不同. 2.png8有1位的布尔透明通道(要么完全透明,要么完全不透明),png24则有8位(256阶)的布尔透明通道(所谓半透明). ...

  10. [C++基础] 变量、关键字、运算符、位操作篇

    一.变量篇 1 全局变量和静态变量有什么异同? 相同:都在静态存储区分配空间,生命周期与程序生命周期相同. 区别:全局变量的作用域是整个程序,它只需要在一个源文件中定义,就可以作用于所有的源文件.而静 ...