拦截器注册配置
例:创建一个loginHandlerinterceptor.class拦截器
ackage com.itxinghua.baidu.config; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //拦截器 想要配置拦截器必须实现HandlerInterceptor接口 //crtl+O调出要实现的接口方法 //登陆检查 public class loginHandlerinterceptor implements HandlerInterceptor { //preHandle 目标方法执行之前 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { Object user = request.getSession().getAttribute("loginUser"); if (user == null){ //未登录返回登录页面 request.setAttribute("msg","未登录请先登录"); request.getRequestDispatcher("/index.html").forward(request,response); return false; }else { //登录 return true; } } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { } }
2.注册拦截器需要实现WebMvcConfigurer的拦截器方法addInterceptors
package com.itxinghua.baidu.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; //使用WebMvcConfigurer可以扩展SpringMVC的功能 @Configuration public class MyMvcConfig implements WebMvcConfigurer { @Bean public WebMvcConfigurer webMvcConfigurer(){ WebMvcConfigurer gurer = new WebMvcConfigurer(){ //注册拦截器 @Override public void addInterceptors(InterceptorRegistry registry) { // addPathPatterns拦截的请求 “/** ” 拦截所有 excludePathPatterns排除掉的请求 registry.addInterceptor(new loginHandlerinterceptor()).addPathPatterns("/**").excludePathPatterns("/index.html", "/", "/login/controller","/Css/*","/img/*"); } }; return gurer; } }

浙公网安备 33010602011771号