扩展默认的spirngMVC功能
步骤
1、使用@Configuration标注为配置类
2、实现WebMvcConfigurer接口
3、 根据需要实现接口方法
代码
CustomMvcConfig
@Configuration
public class CustomMvcConfig implements WebMvcConfigurer {
//自定义拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new MyInterceptor()).addPathPatterns("/**").excludePathPatterns("/test1");
}
//访问/showLogin时跳转到login视图
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/showLogin").setViewName("login");
}
}
MyInterceptor
public class MyInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("MyInterceptor.preHandle");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
System.out.println("MyInterceptor.postHandle");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
throws Exception {
System.out.println("MyInterceptor.afterCompletion");
}
}