文章目录
- 1. 为什么要使用拦截器
- 2.拦截器的注册
- 3.创建一个登录拦截器
1. 为什么要使用拦截器
1.权限检查:进入程序判断是否登录,没有登录,直接返回跳转到登录界面
2.性能监控:通过拦截器在进入处理程序之前记录开始时间,处理完后记录结束时间从而得到请求的处理时间
3.读取cookie得到的用户信息,将用于信息放入请求中
4.拦截器的三个过程
2.拦截器的注册
1.在自己的包下创建config文件加,新建WebConfig文件
供复制
package org.example.helloworld.config;
import org.example.helloworld.interceptor.Logininterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new Logininterceptor()).addPathPatterns("/user/**");
}
}
3.创建一个登录拦截器
1.包下新建interceptor文件,新建Logininterceptor文件
供复制
package org.example.helloworld.interceptor;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
public class Logininterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("Logininterceptor preHandle");
return false;
}
}
在2中自定义拦截的路径,在访问/user路径下所有的路径前会打印Logininterceptor preHandle的内容