一、Filter
1、Filter概念
过滤器,是一种可插拔式组件,可以拦截用户的
请求和响应过程,便于做一些统一性的操作
二、Filter的编写步骤
1、编写过滤器类实现Filter接口
2、重写过滤器中三个方法
1)init()
过滤器初始化,容器启动时自动初始化,
并为该过滤器创建一个FilterConfig对象,
如果有初始化参数,就装载进去
2)doFilter()
过滤器执行过滤的方法,只有在该方法中
调用了chain.doFilter(request, response)
才表示放过请求不拦截,否则就是拦截请求
3)destroy()
过滤器销毁的方法,容器关闭或重启时销毁
3、在web.xml或注解中对过滤器进行注册,
注意url请求路径需要与被过滤的servlet保持一致
4、多个过滤器的执行顺序
1)web.xml中先注册的先执行
2)注解中按照类名首字母顺序执行
Listener
一、Listener概念
监听器,主要用于监听Tomcat容器域对象的创建与销毁,
以及属性绑定和移除事件
域对象:
HttpServletRequest
HttpSession
二、监听器的类型
1、监听域对象的创建与销毁
1>ServletRequestListener
监听request对象的创建与销毁
2>HttpSessionListener
监听session对象的创建与销毁
3>ServletContextListener
监听ServletContext对象的创建与销毁
2、监听域对象的属性绑定和移除事件
1>ServletRequestAttributeListener
监听request对象的属性绑定和移除
2>HttpSessionAttributeListener
监听session对象的属性绑定和移除
3>ServletContextAttributeListener
监听servletContext对象的属性绑定和移除
三、监听器的注册
1>web.xml
监听器类全限定名
2>注解
@WebListener
四、监听器使用场景
1>统计网站的总访问量
2>统计在线用户人数