diff --git a/tlias-web-management/src/main/java/com/inmind/config/Webconfig.java b/tlias-web-management/src/main/java/com/inmind/config/Webconfig.java new file mode 100644 index 0000000..e25e921 --- /dev/null +++ b/tlias-web-management/src/main/java/com/inmind/config/Webconfig.java @@ -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("/**");//拦截所有资源 + } +} diff --git a/tlias-web-management/src/main/java/com/inmind/filter/LoginCheckFilter.java b/tlias-web-management/src/main/java/com/inmind/filter/LoginCheckFilter.java index 3f6d2f0..f4cb133 100644 --- a/tlias-web-management/src/main/java/com/inmind/filter/LoginCheckFilter.java +++ b/tlias-web-management/src/main/java/com/inmind/filter/LoginCheckFilter.java @@ -14,7 +14,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; @Slf4j -@WebFilter(urlPatterns = "/*") +//@WebFilter(urlPatterns = "/*") public class LoginCheckFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { diff --git a/tlias-web-management/src/main/java/com/inmind/interceptor/LogincheckInterceptor.java b/tlias-web-management/src/main/java/com/inmind/interceptor/LogincheckInterceptor.java new file mode 100644 index 0000000..8f1b256 --- /dev/null +++ b/tlias-web-management/src/main/java/com/inmind/interceptor/LogincheckInterceptor.java @@ -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执行了...."); + } +}