2019-04-22 | spring | UNLOCK

Spring Boot - Servlet Filter


filter对象能够拦截应用程序的HTTP request和response,我们可以在以下两个场景中使用到过滤器:

  • 发送request请求给控制器前
  • 发送response响应给客户端前
    如下代码将会展示简单的过滤器实现Filter接口并标注@Component注解:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18

    import javax.servlet.*;
    import java.io.IOException;

    public class SimpleFilter implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException { }

    @Override
    public void destroy() { }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
    System.out.println("Remote Host: " + servletRequest.getRemoteAddr());
    System.out.println("Remote Address: " + servletRequest.getRemoteAddr());
    filterChain.doFilter(servletRequest,servletResponse);
    }
    }

测试:

评论加载中