码迷,mamicode.com
首页 > 编程语言 > 详细

springboot(八)自定义Filter

时间:2018-07-29 17:59:01      阅读:804      评论:0      收藏:0      [点我收藏+]

标签:enc   添加   技术分享   catalina   text   pac   ref   ack   tps   

自定义Filter

  我们常常在项目中会使用filters用于录调用日志、排除有XSS威胁的字符、执行权限验证等等。

  Spring Boot自动添加了OrderedCharacterEncodingFilter和HiddenHttpMethodFilter,并且我们可以自定义Filter。

两个步骤:

  实现Filter接口,实现Filter方法

  添加@Configurationz 注解,将自定义Filter加入过滤链

package cn.cnki.ref.filter;

import org.apache.catalina.filters.RemoteIpFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;

@Configuration
public class WebConfiguration {
    @Bean
    public RemoteIpFilter remoteIpFilter() {
        return new RemoteIpFilter();
    }

    @Bean
    public FilterRegistrationBean testFilterRegistration() {

        FilterRegistrationBean registration = new FilterRegistrationBean();
        registration.setFilter(new MyFilter());
        registration.addUrlPatterns("/*");
        registration.addInitParameter("paramName", "paramValue");
        registration.setName("MyFilter");
        registration.setOrder(1);
        return registration;
    }

    public class MyFilter implements Filter {
        @Override
        public void destroy() {
            // TODO Auto-generated method stub
        }

        @Override
        public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain)
                throws IOException, ServletException {
            // TODO Auto-generated method stub
            HttpServletRequest request = (HttpServletRequest) srequest;
            System.out.println("this is MyFilter,url :"+request.getRequestURI());
            filterChain.doFilter(srequest, sresponse);
        }

        @Override
        public void init(FilterConfig arg0) throws ServletException {
            // TODO Auto-generated method stub
        }
    }
}

 测试结果

技术分享图片

自定义Property

  在web开发的过程中,我经常需要自定义一些配置文件,如何使用呢

 

springboot(八)自定义Filter

标签:enc   添加   技术分享   catalina   text   pac   ref   ack   tps   

原文地址:https://www.cnblogs.com/cnki/p/9385862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!