1.过滤器Filter:对Servlet请求进行拦截,先进入过滤器,过滤器处理完之后进入Servlet,Servlet处理完之后再回到过滤器,最后由Tomcat服务器响应给用户
2,写一个类implements Filter接口,再javax.servlet.Filter包下,在web.xml中配置
<filter>
<filter-name>hello_filter</filter-name>
<filter-class>HelloFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>hello_filter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>//拦截的类型包括重定向
<dispatcher>FORWARD</dispatcher>//拦截转发x`
</filter-mapping>
执行顺序按配置文件中配置顺序,注解按name计算值得大小
3,容器启动创建Filter实例,执行init()方法,用户请求,过滤器执行拦截,chain.doFilter()放行,进入Servlet处理请求,返回过滤器拦截,服务器停止,执行destroy()方法
4,监听器listener主要监听域对象的创建销毁,属性的变化1.ServletRequestListener;ServletRequestAttributeListener(request域对象)2.HttpSessionListener;HttpSessionAttributeListener(session域对象),ServletContextListener;ServletContextAttributeListener(servletContext域对象)
5.session相关监听器:1.HttpSessionBindingListener如果只关心自定义类属性被添加到session域对象中,在自定义对象上implements序列号和这个接口,就可以监听了。
web.xml中配置一个Listener标签,或者用注解