springboot @webfilter FilterRegistrationBean「T」

您所在的位置:网站首页 webfilter注解指定url springboot @webfilter FilterRegistrationBean「T」

springboot @webfilter FilterRegistrationBean「T」

2023-10-12 10:46| 来源: 网络整理| 查看: 265

1、@webfilter过滤指定url,在启动类加注解@ServletComponentScan

2、Filter类:

import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; @WebFilter(urlPatterns="/task") public class DemoFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { System.out.println("Filter demo task"); chain.doFilter(request, response); } @Override public void destroy() { } }

3、@webfilter过滤全部路径,在filter类上加 @Component 或 @Configuration 注解:

 

4、FilterRegistrationBean 过滤指定url 或 全部路径,直接在FilterRegistrationBean中配置即可:

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 ConfigurationFilter { @Bean public RemoteIpFilter remoteIpFilter() { return new RemoteIpFilter(); } @Bean public FilterRegistrationBean testFilterRegistration() { FilterRegistrationBean registration = new FilterRegistrationBean(); registration.setFilter(new MyFilter());//添加过滤器 registration.addUrlPatterns("/user");//设置过滤路径,/*所有路径 //registration.addInitParameter("name", "alue");//添加默认参数 registration.setName("MyFilter");//设置优先级 registration.setOrder(2);//设置优先级 return registration; } public class MyFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest srequest, ServletResponse sresponse, FilterChain filterChain) throws IOException, ServletException { 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 { } } }

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3