时间:2020-10-07来源:www.pcxitongcheng.com作者:电脑系统城
问题描述
@WebFilter(filterName = “ssoFilter”,urlPatterns = “/*”)
未生效拦截器
解决方法
在springboot启动类上添加
@ServletComponentScan(basePackages = “full.package.path”)
路径替换为@WebFilter所在包
补充知识:在spring boot中使用@WebFilter配置filter(包括排除URL)
我就废话不多说了,大家还是直接看代码吧~
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
@WebFilter (urlPatterns = "/*" ) @Order (value = 1 ) public class TestFilter implements Filter { private static final Set<String> ALLOWED_PATHS = Collections.unmodifiableSet( new HashSet<>( Arrays.asList( "/main/excludefilter" , "/login" , "/logout" , "/register" ))); @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println( "init-----------filter" ); } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; String path = request.getRequestURI().substring(request.getContextPath().length()).replaceAll( "[/]+$" , "" ); boolean allowedPath = ALLOWED_PATHS.contains(path); if (allowedPath) { System.out.println( "这里是不需要处理的url进入的方法" ); chain.doFilter(req, res); } else { System.out.println( "这里是需要处理的url进入的方法" ); } } @Override public void destroy() { System.out.println( "destroy----------filter" ); } } |
@Order中的value越小,优先级越高。
以上这篇解决Springboot @WebFilter拦截器未生效问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
2023-03-17
Python 使用tf-idf算法计算文档关键字权重并生成词云的方法2023-03-15
Go json反序列化“null“的问题解决2023-03-09
Golang 字符串转time类型实现本文主要介绍了Go中数组传参的几种方式小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...
2023-03-09