过滤器
1、Filter工作原理(执行流程)
当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请求/响应进行拦截,对请求头和请求数据进行检查或改动,并依次通过过滤器链,最后把请求/响应交给请求的Web资源处理。
2.过滤器生命周期的四个阶段:
1、初始化:实例化完成之后,马上进行初始化工作。Web容器回调init()方法。
2、实例化:Web容器在部署Web应用程序时对所有过滤器进行实例化。Web容器回调它的无参构造方法。
3、过滤:请求路径匹配过滤器的URL映射时。Web容器回调doFilter()方法——主要的工作方法。
4、销毁: Web容器在卸载Web应用程序前,Web容器回调destroy()方法。
3.Servlet过滤器开发步骤:
1、创建实现javax.servlet.Filter接口的类。
2、过滤器的xml配置。
- <filter>
- <filter-name>ipfIter</filter-name>//过滤器名称
- <filter-class>ipf.ipfiIter</filter-class>//实现过滤器的类
- <init—param>
- <param—name>RejectedlP</param-name>//过滤器初始化参数
- <param-value>192.168.12.*/param-value>
- </init—pamm>
- </filter>
- <filter-mapping>
- <filter-name>ipfiIter</filter-name>
- <url—pattem>/*</ud-pattem>
- //映射到Web应用根目录下的所有JSP文件
- </filter-mapping>
监听器
Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。
监听器主要是用来监听:用户是否登陆,用户是否销毁、在线人数统计等等;
监听器所监听的是域对象,监听三大作用域的对象
使用域对象 | 生命周期事件(初始化、销毁时)的监听
| 作用域中的值产生变化的时候进行监听(添加值、修改值、删除值) |
Application/servletcontext | ServletContextListener | 实现接口 ServletContextAttributeListener |
HttpSession | 初始化、销毁是 HttpSessionListener | HttpSessionAttributeListener |
HttpRequest | HttpRequestListener | HttpRequestAttributeListener |
XML配置
- <listener>
- <listener-class>com.ycq.ListenerTest</listener-class>
- </listener>