SpringBoot过滤器使用

SpringBoot的过滤器配置起来很简单,下面是步骤。

一、在Application启动类上增加@ServletComponentScan注解

SpringBoot过滤器使用_第1张图片

二、实现javax.servlet.Filter接口,在接口上增加@WebFilter注解

import javax.servlet.*;
import javax.servlet.Filter;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

/**
 * Created by wzj on 2018/5/16.
 */
@WebFilter(filterName="myFilter",urlPatterns="/*")
public class WebFilterTest implements Filter
{
    /**
     * 
     *
     * @param filterConfig The configuration information associated with the
     *                     filter instance being initialised
     * @throws ServletException if the initialisation fails
     */
    @Override
    public void init(FilterConfig filterConfig) throws ServletException
    {

    }

    /**
     *
     * @param request  The request to process
     * @param response The response associated with the request
     * @param chain    Provides access to the next filter in the chain for this
     *                 filter to pass the request and response to for further
     *                 processing
     * @throws IOException      if an I/O error occurs during this filter's
     *                          processing of the request
     * @throws ServletException if the processing fails for any other reason
     */
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
    {
        System.out.println("自定义的过滤器Filter Filter.......");
        chain.doFilter(request, response);
    }

    /**
     * Called by the web container to indicate to a filter that it is being
     * taken out of service. This method is only called once all threads within
     * the filter's doFilter method have exited or after a timeout period has
     * passed. After the web container calls this method, it will not call the
     * doFilter method again on this instance of the filter. 
*
*

* This method gives the filter an opportunity to clean up any resources * that are being held (for example, memory, file handles, threads) and make * sure that any persistent state is synchronized with the filter's current * state in memory. */ @Override public void destroy() { } }



你可能感兴趣的:(Spring,Boot)