您的位置:首页 > 编程语言 > Java开发

spring-boot过滤器

2017-05-24 16:58 330 查看
     最近在学过滤器,将学到的一些 记下,以后可以随时复习

     首先类需要继承Filter借口,然后加上@Compent注解,方便spring容器扫描到

    代码如下: 

    

@Component
public class TestFilter implements Filter {

@Override
public void destroy() {
log.info("----------------testFilter 准备销毁。。。");
}

@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
//强转
HttpServletRequest request=(HttpServletRequest) arg0;
HttpServletResponse response=(HttpServletResponse) arg1;
//设置编码格式
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=UTF-8");
response.setCharacterEncoding("utf-8");
System.out.println("-----------------------testFilter 过滤中");
arg2.doFilter(request, response);
}

@Override
public void init(FilterConfig arg0) throws ServletException {
log.info("------------------------testFilter 创建。。。。。。。");
}

}


    然后将自己写的过滤器注入FilterRegistrationBean中,并设置过滤请求的路径   
@Autowired
TestFilter testFilter;
@Bean
public FilterRegistrationBean filterRegistrationBean(){
FilterRegistrationBean registrationBean=new FilterRegistrationBean();
//将写好的Filter加入FilterRegistrationBean中
registrationBean.setFilter(testFilter);
List<String> urlpattern=new ArrayList<String>();
//过滤的请求地址
urlpattern.add("/*");
registrationBean.setUrlPatterns(urlpattern);
//排序
registrationBean.setOrder(1);
return registrationBean;
}

   在spring-boot启动的时候控制台:

 


   输入请求路径:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  filter bean 过滤器