Javaweb三大组件之过滤器filter

Filter的三个方法
  void init(FilterConfig):在Tomcat启动时被调用;
  void destroy():在Tomcat关闭时被调用;
  void doFilter(ServletRequest,ServletResponse,FilterChain):每次有请求时都调用该方法;

FilterConfig类
  与ServletConfig相似,用来获取Filter的初始化参数
    ServletContext getServletContext():获取ServletContext的方法;
    String getFilterName():获取Filter的配置名称;
    String getInitParameter(String name):获取Filter的初始化配置,与<init-param>元素对应;
    Enumeration getInitParameterNames():获取所有初始化参数的名称。

FilterChain类
  void doFilter(ServletRequest,ServletResponse):放行!表示执行下一个过滤器,或者执行目标资源。可以在调用FilterChain的doFilter()方法的前后添加语句,在FilterChain的doFilter()方法之前的语句会在目标资源执行之前执行,在FilterChain的doFilter()方法之后的语句会在目标资源执行之后执行。

四各拦截方式
  REQUEST、FORWARD、INCLUDE、ERROR,默认是REQUEST方式。
    REQUEST:拦截直接请求方式;
    FORWARD:拦截请求转发方式;
    INCLUDE:拦截请求包含方式;
    ERROR:拦截错误转发方式。

多个过滤器执行顺序
  一个目标资源可以指定多个过滤器,过滤器的执行顺序是在web.xml文件中的部署顺序

原文地址:https://www.cnblogs.com/fengmingyue/p/6074929.html