springboot中filter的⽤法
⼀、在spring的应⽤中我们存在两种过滤的⽤法,⼀种是、另外⼀种当然是过滤器。我们这⾥介绍过滤器在springboot的⽤法,在springmvc中的⽤法基本上⼀样,只是配置上⾯有点区别。
⼆、filter功能,它使⽤户可以改变⼀个 request和修改⼀个response. Filter 不是⼀个servlet,它不能产⽣⼀个response,它能够在⼀个request 到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是⼀个”servlet chaining”(servlet 链).
⼀个Filter包括:
1)、在servlet被调⽤之前截获;
2)、在servlet被调⽤之前检查servlet request;
3)、根据需要修改request头和request数据;
spring mvc和boot区别4)、根据需要修改response头和response数据;
5)、在servlet被调⽤之后截获.
三、应⽤
@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() {
}
}
四、解释:
1、@Component 这个注解的⽬的是将LoginFilter交给容器来处理。也就是让LoginFilter起作⽤
2、@ServletComponentScan 这个使⽤来扫描@WebFilter 的让@WebFilter起作⽤。当然对于servlet线管注解也是可以的。这个
@ServletComponentScan最好卸载Apllication这个上⾯,通⽤配置。我这⾥因为只有⼀个Filter所以没有写在Application上⾯。
3、@WebFilter 这个⽤处显⽽易见,针对于什么链接做过滤,filter的名称是为什么。
五、简单介绍⼀下springmvc中的Filter的⽤法
1、写的⽅法还是⼀样的都是继承Filter,来实现3个⽅法处理
2、丢⼊容器:这个需要配置在l⾥⾯
<filter>
<filter-name>loginFilter</filter-name>
<filter-class&boot.filter.LoginFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>loginFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、具体的⽤法可以⾃⼰研究。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。