骑士李四记录:

1.过滤器(Filter):

过滤器依赖于servlet容器。
在实现上基于函数回调。几乎可以对所有请求进行过滤。
缺点是一个过滤器实例只能在容器初始化时调用一次。

2.拦截器(Interceptor)

拦截器依赖于web框架, 在SpringMVC中依赖于SpringMVC框架。
实现上基于java反射机制,属于面向切面编程(AOP)的一种应用,
缺点是只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理。

3;监听器:

Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次,随web应用的停止而销毁。主要作用是: 做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些固定的对象等等。主要作用是:感知到包括request(请求域),session(会话域)和applicaiton(应用程序)的初始化和属性的变化

有时间会对每一种的创建代码demo做个整理。