首页 > 编程语言 > 详细

springboot 使用Filter

时间:2019-03-23 00:37:51      阅读:208      评论:0      收藏:0      [点我收藏+]

1. 创建 Filter 类,实现 Fitler接口

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

/**
 * @Auther: Dandwj
 * @Date: 2019/3/20 23:00
 * @Description: 
 */
@WebFilter(filterName = "myFilter",urlPatterns = "/login/*")
public class AuthorFilter implements Filter {
    
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        //处理请求
        
        filterChain.doFilter(servletRequest, servletResponse);
    }
    @Override
    public void destroy() {

    }
}

 然后加上 @WebFilter 注解

2. 在启动类上加上@ServletComponentScan(basePackages = "pers.dandwj.cheerful.service")注解   MyFilter 是在 basePackages包下

 

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
@ServletComponentScan(basePackages = "pers.dandwj.cheerful.service")
public class CheerfulWxApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(CheerfulWxApiApplication.class, args);
    }

}

 

扩展:

三种拦截器比较:

技术分享图片

  • Filter 是 java web 里面的,肯定获取不到 spring 里面 Controller 的信息。
  • Interceptor、Aspect 是和 spring 相关的,所以能获取到 Controller 的信息。

springboot 使用Filter

原文:https://www.cnblogs.com/Dandwj/p/10582227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!