标签:context 项目 bin 利用 统一 isp stat lock ext
1. 回顾一下三个作用域启动tomcat时会创建ServletContext,关闭服务器,将项目从服务器中移除会销毁ServletContext
请求项目中的任何资源都会创建ServletRequest,请求结束,销毁ServletRequest
请求项目中的JSP资源会创建HttpSession,Session过期,服务器正常或非正常退出都会销毁HttpSession
监听器,监听某个事件的发生或状态改变
监听器的内部机制就是接口回调
WEB监听器
总共有8个,划分为三种类型
监听三个作用域的创建和销毁
ServletContextListener 利用它,在创建ServletContext的时候,完成初始化操作,执行任务调度
ServletRequestListener 利用它,监听ServletRequest的创建和销毁
HttpSessionListener 利用它,统计在线人数
监听三个作用域的属性状态变更
可以监听作用域中值添加|替换|移除操作
ServletContextAttributeListener
ServletRequestAttributeListener
HttpSessionAttributeListener
监听HttpSession存储值的状态变更
这类监听器不用注册
HttpSessionBindingListener JavaBean实现该接口即可监听,监听对象在HttpSession中的绑定和移除
过滤器,就是对客户端发送的数据进行过滤,其实就是起到了拦截器的作用
可以对一些敏感词汇进行过滤
统一设置编码类型
自动登录
...
如何使用过滤器?
定义一个类,实现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 拦截包含页面
标签:context 项目 bin 利用 统一 isp stat lock ext
原文地址:http://blog.51cto.com/13559120/2329158