Java——Filter和Listener的用法和区别

一、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

ServletContext

二、监听器的类型

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>统计在线用户人数

你可能感兴趣的:(jsp,java,servlet,开发语言)