为了账号安全,请及时绑定邮箱和手机立即绑定

JavaWeb之Listener&Filter

标签:
Java


1. 回顾一下三个作用域

启动tomcat时会创建ServletContext,关闭服务器,将项目从服务器中移除会销毁ServletContext

请求项目中的任何资源都会创建ServletRequest,请求结束,销毁ServletRequest

请求项目中的JSP资源会创建HttpSession,Session过期,服务器正常或非正常退出都会销毁HttpSession

2. Listener

监听器,监听某个事件的发生或状态改变

监听器的内部机制就是接口回调

WEB监听器

总共有8个,划分为三种类型

监听三个作用域的创建和销毁

ServletContextListener 利用它,在创建ServletContext的时候,完成初始化操作,执行任务调度

ServletRequestListener 利用它,监听ServletRequest的创建和销毁

HttpSessionListener 利用它,统计在线人数

监听三个作用域的属性状态变更

可以监听作用域中值添加|替换|移除操作

ServletContextAttributeListener

ServletRequestAttributeListener

HttpSessionAttributeListener

监听HttpSession存储值的状态变更

这类监听器不用注册

HttpSessionBindingListener JavaBean实现该接口即可监听,监听对象在HttpSession中的绑定和移除

3. Filter

过滤器,就是对客户端发送的数据进行过滤,其实就是起到了拦截器的作用

可以对一些敏感词汇进行过滤

统一设置编码类型

自动登录

...

如何使用过滤器?

定义一个类,实现Filter接口

注册过滤器

<filter>

  <filter-name>FilterDemo</filter-name>

  <filter-class>com.kernel.filter.FilterDemo</filter-class>

</filter>

<filter-mapping>

  <filter-name>FilterDemo</filter-name>

  <url-pattern>/*</url-pattern>

</filter-mapping>

Filter生命周期

在服务器启动时,创建Filter,当服务器停止,Filter销毁

Filter执行顺序

客户端发出请求,经过过滤器,过滤器通过chain.doFilter()方法放行后,才能到达Servlet,如果有多个过滤器,按照注册的顺序,一次经过每个过滤器,只有所有过滤器放行后,才会到达Servlet

dispatcher

REQUEST 拦截所有请求

FOWORD 拦截所有转发

ERROR 拦截页面出错

INCLUDE 拦截包含页面

©著作权归作者所有:来自51CTO博客作者灰白世界的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消