处理器拦截器注册方式
处理器拦截器(HandlerInterceptor
)在Spring MVC中的注册方式主要有两种:
1. 使用Java配置类注册
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Autowired
private MyInterceptor myInterceptor; // 自定义的拦截器类实现HandlerInterceptor接口
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 注册自定义拦截器
registry.addInterceptor(myInterceptor)
.addPathPatterns("/**") // 指定拦截所有请求,可以根据需要指定特定路径
.excludePathPatterns("/public/**"); // 排除不需要拦截的路径
}
}
2. XML配置方式注册
<!-- 在Spring MVC的配置文件中添加 -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**" /> <!-- 拦截所有请求 -->
<mvc:exclude-mapping path="/public/**" /> <!-- 排除不需要拦截的请求 -->
<bean class="com.example.MyInterceptor" /> <!-- 自定义的拦截器类 -->
</mvc:interceptor>
</mvc:interceptors>
在这两种方式中,MyInterceptor
是实现了 org.springframework.web.servlet.HandlerInterceptor
接口的自定义拦截器类。通过 addInterceptors
方法或XML
配置,将自定义拦截器加入到Spring MVC的拦截器链
中,并可以指定它应该应用到
哪些URL路径上以及需要排除
哪些路径不受拦截器影响。