Springboot整合Servlet Filter和Interceptor
2020-07-21 04:14
1446 查看
一、整合Filter
1、写一个自己的Filter
[code]@Component public class MyFilter implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("initFilter"); } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("doFilter..."); filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { System.out.println("destroy"); } }
2、写一个Config类
[code]@Configuration public class WebConfig { @Autowired private MyFilter myFilter; public FilterRegistrationBean initFilter() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(); filterRegistrationBean.setFilter(myFilter); filterRegistrationBean.setName("MyFilter"); filterRegistrationBean.addUrlPatterns("/*"); return filterRegistrationBean; } }
二、整合Interceptor
1、写一个自己的Interceptor,当然这里preHandle等方法现在有默认实现,可以按需覆盖
[code]@Component public class MyInterceptor implements HandlerInterceptor { @Autowired private EverestConfig everestConfig; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { return null != everestConfig.getImageServer(); } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
2、写一个config类
[code]@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new AuthInterceptor()).addPathPatterns("/api/**").excludePathPatterns("/api/index/auth"); WebMvcConfigurer.super.addInterceptors(registry); } }
这里我们假设对所有的api接口做拦截,并放行鉴权的接口。
相关文章推荐
- 在springboot中自定义Filter、Listener、Servlet、Interceptor
- 基于SpringBoot,SSM的Filter,Servlet,Listener,Interceptor的实现
- Spring Boot中Servlet&Filter&Listener&Interceptor的使用
- 1.SpringBoot整合Filter和Servlet
- Spring Boot 编写Servlet、Filter、Listener、Interceptor的方法
- SpringBoot(四)-- 整合Servlet、Filter、Listener
- Spring Boot参考教程(六)Spring Boot配置Servlet,Filter,Listener,Interceptor
- spring boot (二) servlet listener filter interceptor
- SpringBoot整合web时报错Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
- Springboot整合过滤器(Filter)和拦截器(Interceptor)
- 02.Spring Boot 实战~SpringBoot 整合Servlet,Filter, Listener
- SpringBoot 从零开始学习(二) 之整合servlet/filter/listener
- spring boot整合servlet、filter、Listener等组件方式
- Spring Boot 学习(7)springboot 整合三大组件(Servlet、Filter、Listener)
- SpringBoot 之Servlet、 Filter、Listener应用开发
- spring 4000 boot自定义监听器(listener),过滤器(filter),拦截器(interceptor)。即执行时机、顺序。
- springboot中filter、interceptor的区别和实例
- spring boot servlet filter linstener
- SpringBoot中Servlet&Listener&Filter的应用
- 在SpringBoot中使用 Servlet Filter Listener