tlias管理系统-拦截器Interceptor快速入门

This commit is contained in:
2025-10-27 11:00:21 +08:00
parent cc8729b813
commit 2ae1c8e87b
3 changed files with 58 additions and 1 deletions

View File

@@ -0,0 +1,21 @@
package com.inmind.config;
import com.inmind.interceptor.LogincheckInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/*
web配置类用来注册拦截器
*/
@Configuration//配置类被spring容器管理
public class Webconfig implements WebMvcConfigurer {
@Autowired
private LogincheckInterceptor logincheckInterceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(logincheckInterceptor).addPathPatterns("/**");//拦截所有资源
}
}

View File

@@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
@Slf4j @Slf4j
@WebFilter(urlPatterns = "/*") //@WebFilter(urlPatterns = "/*")
public class LoginCheckFilter implements Filter { public class LoginCheckFilter implements Filter {
@Override @Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

View File

@@ -0,0 +1,36 @@
package com.inmind.interceptor;
/*
登录校验的拦截器类
*/
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Component
public class LogincheckInterceptor implements HandlerInterceptor {
//ctrl+O :提示可以重写的所有方法
//controller之前执行有返回值true放行 false不放行
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("preHandle执行了....");
return true;
}
//controller方法执行之后执行
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("postHandle执行了....");
}
//视图渲染完毕之后,执行
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("afterCompletion执行了....");
}
}