
SpringBoot 下添加 Interceptor
xml方式
1 2 3 4 5 6 7 8 9 10 11 12
|
<mvc:interceptors> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/> <mvc:interceptor> <mvc:mapping path="/**"/> <mvc:exclude-mapping path="/admin/**"/> <bean class="org.springframework.web.servlet.theme.ThemeChangeInterceptor"/> </mvc:interceptor> <mvc:interceptor> <mvc:mapping path="/secure/*"/> <bean class="org.example.SecurityInterceptor"/> </mvc:interceptor> </mvc:interceptors>
|
SpringBoot 中 @Configuration 方式
创建 Interceptor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
@Component public class Interceptor1 extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("preHandle1"); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception { System.out.println("postHandle1"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception { System.out.println("afterCompletion1"); } }
|
Interceptor1 同理
创建 InterceptorConfig
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
@Configuration public class InterceptorConfig extends WebMvcConfigurerAdapter { @Autowired private Interceptor1 interceptor1; @Autowired private Interceptor2 interceptor2; @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(interceptor1).addPathPatterns("/**"); registry.addInterceptor(interceptor2).addPathPatterns("/**")/*.excludePathPatterns("/api/xxx")*/; } }
|
结果
访问 http://localhost:8080/greeting
1 2 3 4 5 6
|
preHandle1 preHandle2 postHandle2 postHandle1 afterCompletion2 afterCompletion1
|
ref:
http://jinnianshilongnian.iteye.com/blog/1670856
近期评论