spring boot拦截器使用(HandlerInterceptorAdapter)

1.继承HandlerInterceptorAdapter
public class MyInterceptor extends HandlerInterceptorAdapter{

	private static final Logger logger = LoggerFactory.getLogger(MyInterceptor.class);
	/**
	 * 请求前执行该方法
	 * 
	 * @param request
	 * @param response
	 * @param handler
	 * @return
	 * @throws Exception
	 */
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		System.out.println("请求前");
		if(request.getSession() == null || request.getSession().getAttribute("user_info")==null){
			System.out.println("登陆超时,请重新登陆!");
			logger.error("登陆超时,请重新登陆!");
			return false;
		}
		System.out.println(request.getRequestURL());
		System.out.println(request.getRemoteHost());
		return true ;
	}
	/**
	 * 执行完成后执行该方法
	 * 
	 * @param request
	 * @param response
	 * @param handler
	 * @param modelAndView
	 * @throws Exception
	 */
	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
		System.out.println("请求后");
	}
}


2.将拦截器加入全局WebMvcConfigurerAdapter中
@Configuration
public class InterceptorConfig extends WebMvcConfigurerAdapter {
	@Override
	public void addInterceptors(InterceptorRegistry registry) {
		registry.addInterceptor(new MyInterceptor());
	}
}






猜你喜欢

转载自forlan.iteye.com/blog/2403731
今日推荐