springboot中filter的用法

1、在spring的应用中咱们存在两种过滤的用法,一种是拦截器、另一种固然是过滤器。咱们这里介绍过滤器在springboot的用法,在springmvc中的用法基本上同样,只是配置上面有点区别。web

2、filter功能,它使用户能够改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它可以在一个request到达servlet以前预处理request,也能够在离开 servlet时处理response.换种说法,filter实际上是一个”servlet chaining”(servlet 链).spring

一个Filter包括:
1)、在servlet被调用以前截获;
2)、在servlet被调用以前检查servlet request;
3)、根据须要修改request头和request数据;
4)、根据须要修改response头和response数据;
5)、在servlet被调用以后截获.springboot

3、应用mvc

复制代码

@Component
@ServletComponentScan
@WebFilter(urlPatterns = "/login/*",filterName = "loginFilter")
public class LoginFilter implements Filter{

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

    }

    @Override
    public void destroy() {

    }
}

复制代码

4、解释:app

一、@Component 这个注解的目的是将LoginFilter交给容器来处理。也就是让LoginFilter起做用ide

二、@ServletComponentScan 这个使用来扫描@WebFilter 的让@WebFilter起做用。固然对于servlet线管注解也是能够的。这个@ServletComponentScan最好卸载Apllication这个上面,通用配置。我这里由于只有一个Filter因此没有写在Application上面。url

三、@WebFilter 这个用处显而易见,针对于什么连接作过滤,filter的名称是为何。.net

5、简单介绍一下springmvc中的Filter的用法xml

一、写的方法仍是同样的都是继承Filter,来实现3个方法处理继承

二、丢入容器:这个须要配置在web.xml里面

复制代码

<filter>
        <filter-name>loginFilter</filter-name>
        <filter-class>com.troy.boot.filter.LoginFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>loginFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

复制代码

相关文章
相关标签/搜索