拦截器:
先创建class类包config
创建class类MvcConfig
如下:
package com.example.demo.config;
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;
import com.example.demo.interceptor.EyInterceptor;
@Configuration
public class MvcConfig implements WebMvcConfigurer{
@Autowired
EyInterceptor interceptor;
@Override
public void addInterceptors(InterceptorRegistry registry) {
String[] addPathPatterns= {"/**"};
String[] excludePathPatterns= {"/login"};
registry.addInterceptor(interceptor).addPathPatterns(addPathPatterns).excludePathPatterns(excludePathPatterns);
}
}
创建类包interceptor
创建class类EyInterceptor
如下:
package com.example.demo.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import com.example.demo.entity.Yi;
@Component
public class EyInterceptor implements HandlerInterceptor{
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
HttpSession session = request.getSession(false);
if (session!=null) {
Yi yi = (Yi) session.getAttribute("yi");
if (yi!=null) {
return true;
} else {
response.sendRedirect("login");
return false;
}
} else {
response.sendRedirect("login");
return false;
}
}
}