自定义Filter类必须实现Filter接口,还必须实现Filter接口中定义的init()、doFilter()和destroy()方法

doFilter()方法接受三个参数,分别是request、response、和chain,其中request和response用来传递给下一个Filter或者JSP和Servlet.

chain则通过调用器doFilter()方法来调用下一个Filter,或者调用原始的JSP或者Servlet等其他内容

web.xml配置如下:

<filter>

    <filter-name>CharFilter</filter-name>

    <filter-class>com.excel.CharFilter</filter-class>

  </filter>

  <filter-mapping>

     <filter-name>CharFilter</filter-name>

     <url-pattern>/*</url-pattern>

  </filter-mapping>


常用Filter

非法文字过滤器、

字符编码过滤器:在过滤器中加上request.setCharacterEncoding("gb2312");这时就不需要在每个JSP页面中添加设置参数字符编码格式代码了

登陆验证器:通过Filter来定义一个登陆验证过滤器,这时就不需要再每个JSP页面中添加判断用户合法性代码了