过滤器能对Servlet容器传给Web组件的ServletRequest对象和ServletResponse对象进行检查和修改。
实现过滤的方法签名为void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
。
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
code1;
chain.doFilter(request,response)
code2;
}
过滤器有初始化和销毁方法,初始化方法接收一个FilterConfig参数来读取过滤器的配置信息。
过滤器的配置信息
<filter>
<filter-name>过滤器名称</filter-name>
<filter-class>过滤器所在的路径</filter-class>
</filter>
<filter-mapping>
<filter-name>过滤器名称</filter-name>
<url-pattern>需要过滤的资源</url-pattern>
</filter-mapping>
监听器的概念多用于图形化界面的开发当中。
按照事件源的域,可以分为三个监听域:
按照事件不同,可分为以下监听事件:
contextInitialized(ServletContextEvent sce)
;contextDestroyed(ServletContextEvent sce)
;Spring框架实现此接口为ContextLoaderListener,用于加载框架配置文件。
用来监听 HttpSession 对象的创建和销毁
创建:
销毁:
监听 HttpSession 对象创建:sessionCreated(HttpSessionEvent se)
;
监听 HttpSession 对象销毁:sessionDestroyed(HttpSessionEvent se)
;
用来监听 ServletRequest 对象的创建和销毁
requestInitialized(ServletRequestEvent sre)
;requestDestroyed(ServletRequestEvent sre)
;监听 ServletContext 对象中的属性变更(属性添加、移除、替换)的监听器
监听 HttpSession 对象中的属性变更(属性添加、移除、替换)的监听器
监听 ServletRequest 对象中的属性变更(属性添加、移除、替换)的监听器
用来监听 Java类 在 HttpSession 中的绑定和解除绑定的监听器
用来监听 HttpSession 中 Java类 的钝化和活化的监听器
原文:https://www.cnblogs.com/dai-blog/p/14865344.html