一.定义拦截器
1.1创建java类继承自WebMvcConfigurerAdpater,并通过@Configruation注解进行标注
1.2重写父类addInterceptors方法,创建HandlerInterceptor对象
public void addInterceptors(InterceptorRegistry registry) {
HandlerInterceptor handlerInterceptor = new HandlerInterceptor() {
/**
* 拦截请求的方法
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("*********");
// String userName = request.getParameter("userName");
// String password = request.getParameter("password");
// if("admin".equals(userName)& "123".equals(password)){
// return true;
// }else {
// return false;
// }
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
};
registry.addInterceptor(handlerInterceptor).addPathPatterns("/**");//拦截一切请求
}
}
1.3在addInterceptors方法中,将HandlerInterceptot 对象放到InerceptorRegistry对象中,并通过addPathPatterns方法定义拦截规则
registry.addInterceptor(handlerInterceptor).addPathPatterns("/**");//拦截一切请求
二.全部源代码
package com.example.news.interceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.HandlerAdapter;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@Configuration
public class MyInterceptor extends WebMvcConfigurerAdapter {
@Override
public void addInterceptors(InterceptorRegistry registry) {
HandlerInterceptor handlerInterceptor = new HandlerInterceptor() {
/**
* 拦截请求的方法
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("*********");
// String userName = request.getParameter("userName");
// String password = request.getParameter("password");
// if("admin".equals(userName)& "123".equals(password)){
// return true;
// }else {
// return false;
// }
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
HandlerInterceptor.super.afterCompletion(request, response, handler, ex);
}
};
registry.addInterceptor(handlerInterceptor).addPathPatterns("/**");//拦截一切请求
}
}