一些总结listener filter interceptor

阅读更多
servlet:运行在Java服务器端的应用程序,工作在客户端请求和服务器响应的中间层。

filter:是可复用的代码片段,可以对http请求、响应、头信息进行判断和修改,不能产生请求或者响应。

listener:通过监听web服务器某一执行动作,作出相应的响应。

interceptor:面向切面编程的,只能在调用业务方法的时候进行拦截。

servlet、filter、listener是配置到web.xml中,interceptor不配置到web.xml中,struts的拦截器配置到struts.xml中。spring的拦截器配置到spring.xml中。

拦截器是基于java反射机制的,而过滤器是基于函数回调的。
过滤器依赖与servlet容器,而拦截器不依赖与servlet容器。
拦截器可以访问Action上下文、值栈里的对象,而过滤器不能。
拦截器只能对Action请求起作用,而过滤器则可以对几乎所有请求起作用。
在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时被调用一次。

反射机制:在程序运行一个类以前并不知道类名称和完整结构。我们只是通过URL来Mapper他,在加载、编译期间并不知道他,只有在运行的时候才 知道类名称和完整结构 ,并生成对象实体,设置她的字段值,唤醒他的方法。

你可能感兴趣的:(listener,filter,interceptor,反射机制)