美文网首页
Filter介绍

Filter介绍

作者: 柳岸 | 来源:发表于2016-10-26 23:54 被阅读0次

Filter可以认为是Servlet的一种加强版,主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理,是个典型的处理链。

Filter的作用有:

  • 拦截客户的HttpServletRequest, 修改其头和数据
  • 拦截到达客户的HttpServletResponse,修改其头和数据

1 创建Filter类

创建Fileter类必须实现javax.servlet.Filter接口,在这个接口中有三个方法,init, destroy, doFilter

@WebFilter(filterName="log",urlPattern={"/*"})
public class LogFileter implements Filter
{
    private FilterConfig config;
    public void init(FilterConfig config)
    {
        this.config = config;
    }
    public void destroy()
    {
        this.config = null;
    }
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,ServletException
    {
     }

2 配置Filter

配置方法除了上面用@WebFilter注解来进行配置之外,还可以通过web.xml来配置

<filter>
    <filter-name>log</filter-name>
    <filter-class>kevin.LogFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>log</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

在实际项目中很多Servlet中涉及到的权限控制、记录日志等代码是重复的,这样就可以放到Filter中进行。

相关文章

网友评论

      本文标题:Filter介绍

      本文链接:https://www.haomeiwen.com/subject/vsejuttx.html