过滤器和监听器

1.过滤器常用来设置页面编码,和访问权限 

1.实现filter接口

2.一般,init()和destroy()不用动

3.重写doFilter()方法
    相当于servlet的service()方法,即执行的过滤主要操作
    
    要先把参数强转为 HttpServletRequest/response 
    request.setCharacterEncoding(""UTF-8");
    response.setCharacterEncoding("UTF-8");

4.在web.xml中配置filter
    
    <filter>
         <filter-name>demo</filter-name>
         <filter-class>包.类</filter-class>
    <filter>
    <filter-mapping>
         <filter-name>demo</filter-name>
         <url-pattern>/*</url-pattern>
    </filter-mapping>

2.filter用法

  filter不需要显式调用,在<url-pattren>设置过滤文件即可,全部或者部分

  filter个数不止一个时,按顺序过滤,

  过滤过程:从链头到链尾,回程从链尾到链头【可以在设置编码代码前后分别加输出来测试】

    相当于源和目标中间加几堵墙:请求从第一堵墙穿到最后一堵墙,响应从最后一堵墙穿到第一堵墙

3.监听器【不常用-相当于触发器】

  用法:实现ServletContextListener接口,web.xml中配置

<listener>
    <listener-class>包.类</listener-class>
</listener>