servlet是服务器端执行的小程序,主要作用是动态响应web请求。
filter是将servlet请求进行过滤处理,一个servlet请求可以由多个fliter进行顺序处理,执行的顺序是按照在web.xml中的配置顺序执行的。
servlet listener是对SerlvetConext,HttpSession和ServletRequest这三个域对象进行监听。
Servlet规范针对这三个对象上的操作,又把这多种类型的监听器划分为三种类型:
1>监听三个域对象创建和销毁的事件监听器
2>监听域对象中属性的增加和删除的事件监听器
3>监听绑定到HttpSession域中的某个对象的状态的时间监听器。
a、如三个域对象的创建与销毁方法签名:
ServletRequestListener有以下两个方法
void requestDestroyed(ServletRequestEvent sre)
void requestInitialized(ServletRequestEvent sre)
HttpSessionListener有以下两个方法
void sessionCreated(HttpSessionEvent se)
void sessionDestroyed(HttpSessionEvent se)
ServletContextListener
void contextDestroyed(ServletContextEvent sce)
void contextInitialized(ServletContextEvent sce)
b、三个类型对象域中增、删、改的监听器(3个)
ServletContextAttributeListener,
HttpSessionAttributeListener,
ServletRequestAttributeListener
c、感知型监听器(2个):监听自己何时被帮到session上,何时解绑了;何时被钝化了,何时被活化了(序列化到某个存储设置中)。
注意:这种监听器不需要注册。某个javabean实现这些接口后就可以监听何时被绑定、解绑或被激活或钝化。
HttpSessionBindingListener:实现该接口的类,能检测自己何时被Httpsession绑定,和解绑
HttpSessionActivationListener:实现该接口的类(要求些javabean必须是实现了Serializable接口的),能监测自己何时随着HttpSession一起激活和钝化。
intercepter是应用在struts中的对action进行拦截处理。拦截器是在面向切面编程中应用的,就是在你的service或者一个方法前调用一个方法,或者在方法后调用一个方法。是基于JAVA的反射机制。
监听器详解参考:http://www.open-open.com/lib/view/open1350703815649.html
比较参考:http://blog.csdn.net/x_yp/article/details/6358630