继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

JavaWeb之Listener&Filter

holdtom
关注TA
已关注
手记 1885
粉丝 240
获赞 992


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博客作者灰白世界的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP