所有的开发之中拦截器一定是一个必须要使用的功能,利用拦截器可以更加有效的实现数据的验证处理,而且最为幸运的是在SpringBoot之中所使用的拦截器与Spring中的拦截器完全一样。
基础拦截器操作:
拦截器是一种AOP操作实现,那么在AOP之中用户一定不需要去关注拦截器的存在,用户只需要按照自己已经习惯的处理方式进行代码的编写即可。
首先我们先创建一个自定义的拦截器:
public class SysInterceptor extends HandlerInterceptorAdapter { /** * 进入拦截器后首先进入的方法 * 返回false则不再继续执行 * 返回true则继续执行 */ public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception { System.out.println("我是拦截器:我证明我进来了"); HttpSession session=request.getSession(); User userInfo = (User)session.getAttribute("userInfo"); if(userInfo==null) { System.out.println("我证明用户没有登录"); response.sendRedirect(request.getContextPath()+"/login.html"); return false; } System.out.println("我证明用户已经登录"); return true; } /** * 生成视图时执行,可以用来处理异常,并记录在日志中 */ public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object arg2, Exception exception){ //-----------------// } /** - * 生成视图之前执行,可以修改ModelAndView */ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object arg2, ModelAndView arg3) throws Exception{ //----------------------------// } }