zoukankan      html  css  js  c++  java
  • springboot 使用Filter

     1.创建一个 Filter 类,实现 Filter 接口

    public class HelloFilter 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() {
        }
    }

    2. 创建一个配置类,将该过滤器注册到Web拦截器中

    @Configuration
    public class WebConfig implements WebMvcConfigurer {
    @Bean
    public FilterRegistrationBean filterRegistrationBean(){
    FilterRegistrationBean registrationBean = new FilterRegistrationBean();
    //将自定义的 HelloFilter注册到Web应用的Filter中 使其生效
    registrationBean.setFilter(new HelloFilter());

    //声明该 HelloFilter 作用在哪些url
    List<String> urlList = new ArrayList<>();
    //作用于所有url
    urlList.add("/*");
    registrationBean.setUrlPatterns(urlList);

    return registrationBean;
    }
    }

     

    扩展:

    Filter(过滤器) Interceptor(拦截器)Aspect(切片)比较:

    • Filter 是 java web 里面的,肯定获取不到 spring 里面 Controller 的信息。
    • Interceptor、Aspect 是和 spring 相关的,所以能获取到 Controller 的信息。
    • Interceotor获取不到请求方法中的参数信息    Aspect(切片)可以获取到
  • 相关阅读:
    把Discuz!NT放在虚拟目录下
    表格样式
    页面CSS的问题,不懂中
    临时存储信息
    asp.net2.0事务
    repeater控件分成两列显示
    P2P的NAT研究
    javascript字符串trim的实现
    新浪微博OAUTH2验证
    新浪微博接口在safri下的bug
  • 原文地址:https://www.cnblogs.com/Dandwj/p/10582227.html
Copyright © 2011-2022 走看看