一,在启动类的同级目录下创建一个interceptor的包,在包下创建一个类,实现HandlerInterceptor接口的方法。
package com.example.springboot1.interceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
public class demoInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//业务逻辑处理
String requestURI = request.getRequestURI();
System.out.println(requestURI);
//true-放过,false-拦截
return true;
}
}
二,在启动类的同级目录下创建一个config的包,在包下创建一个类,实现WebMvcConfigurer接口的方法。
package com.example.springboot1.config;
import com.example.springboot1.interceptor.demoInterceptor;
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 WebMvcConf implements WebMvcConfigurer {
//添加拦截器
@Override
public void addInterceptors(InterceptorRegistry registry) {
demoInterceptor demoInterceptor = new demoInterceptor();
//添加的路径 //排除的路径
registry.addInterceptor(demoInterceptor).addPathPatterns("/**").excludePathPatterns("/3rd/**");
}
}
这段代码代表拦截所有路径,但排除拦截/3rd/**。