过滤器与监听器

过滤器

  什么是过滤器

    Servlet过滤器与Servlet十分相似,但他具有拦截客户端请求的功能,Servlet过滤器可以改变请求中的内容,来满足实际开发中的需要。对于程序开发人员而言,过滤器实质上就是在web应用服务器上的一个web应用组件,用于拦截客户端与目标资源的请求,并对这些请求进行一定过滤处理再发送给目标资源。

  过滤器的创建

 1 import java.io.IOException;
 2 import javax.servlet.Filter;
 3 import javax.servlet.FilterChain;
 4 import javax.servlet.FilterConfig;
 5 import javax.servlet.ServletException;
 6 import javax.servlet.ServletRequest;
 7 import javax.servlet.ServletResponse;
 8 
 9 public class MyFilter implements Filter {
10 
11     public MyFilter() {
12     }
13     //销毁方法
14     public void destroy() {
15         //销毁处理
16     }
17     //过滤处理方法
18     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
19         chain.doFilter(request, response);
20     }
21     //初始化方法
22     public void init(FilterConfig fConfig) throws ServletException {
23         //初始化处理
24     }
25 
26 }

  过滤器的配置

 <filter>
    
    <filter-name>MyFilterfilter-name>
    
    <filter-class>com.alex.web.MyFilterfilter-class>
  filter>
  <filter-mapping>
    
    <filter-name>MyFilterfilter-name>
    
    <url-pattern>/MyFilterurl-pattern>
  filter-mapping>

监听器

  什么是监听器

    监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。

  监听器接口

    1、Servlet上下文监听

      (1)、ServletContextListener接口:主要实现监听ServletContext的创建和删除。

      (2)、ServletAttributeListener接口:主要实现监听ServletContext属性的增加、删除和修改。

    2、HTTP会话监听

      (1)、HttpsessionListener接口:实现监听HTTP会话创建、销毁。

      (2)、HttpsessionActivationListener接口:实现监听HTTP会话active和passivate。

      (3)、HttpBindingListener接口:实现监听HTTP会话中对象的绑定信息。

      (4)、HttpsessionAttributeListener接口:实现监听HTTP会话中属性的设置请求。

    3、Servlet请求监听

      (1)、ServletRequestListener接口

      (2)、ServletRequestAttributeListener接口

你可能感兴趣的:(过滤器与监听器)