过滤器和监听器

过滤器在与之相关的serlvet或jsp页面间运行,能够检查进入这些页面的请求信息,进而做一些预先处理,如编码过滤、认证过滤、登陆和审核过滤以及判断用户的登录状态等等
Servlet过滤器类都必须实现javax.servlet.Filter接口,这个接口含有3个过滤器类必须实现的方法。
Servlet过滤器的创建步骤:
A.实现javax.servlet.Filter接口的servlet类
B.实现init(FilterConfig cfg)方法,读取过滤器的初始化函数。(初始化方法)
C.实现doFilter方法,完成对请求或过滤的响应。(此方法完成实际的过滤操作,当请求访问过滤器关联的URL时,Servlet容器将先调用过滤器的doFilter方法。FilterChain参数用于访问后续过滤器)
D.调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应。(Servlet容器在销毁过滤器实例前调用该方法,这个方法中可以释放Servlet过滤器占用的资源。,性质等同与servlet的destory()方法)
F.在web.xml中配置Filter



监听器能够给web应用增加事件处理机制,监控web应用的状态变化,可以监测共享的某些变量的值发生的变化,例如网站的在线人数统计。
实现监听器需要实现一个特定的接口,并针对相应动作覆盖接口中的相应方法。
Servlet监听器主要有以下几种:
ServletRequestListener ,ServletRequestAttributeListener,
HttpSessionActivationListener ,HttpSessionBindingListener ,
HttpSessionAttributeListener,HttpSessionListener,
ServletContextListener等等。
这些监听器主要用来监听session,request,application这三个对象里存取数据的变化。
监听器同样也需要在web.xml中配置。

你可能感兴趣的:(c,jsp,xml,Web,servlet)