9、SpringMVC实战:拦截器的使用

拦截器的使用

    • 1.理解示意图
  • 2.内容原理
  • 3.代码实现

1.理解示意图

蓝色为拦截器,很直观…蓝=拦,手动滑稽
*

2.内容原理

使用 SpringMVC 的拦截器:

原理:

  • 在 Servlet 和控制器单元方法之间进行拦截

使用:

  • 创建拦截器类,创建一个实现了 HandlerInterceptor 接口的 java 类
  • 并复写方法preHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2)

作用:

  • 拦截单元方法,返回值为 false 则拦截,返回值为 true 则放行

参数:

  • HttpServletRequest arg0,拦截的请求的 request 对象
  • HttpServletResponse arg1, 拦截的请求的 response 对象
  • Object arg2 封存了单元方法对象的 HandleMethod 对象postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
  • HttpServletRequest arg0, 拦截的请求的 request 对象
  • HttpServletResponse arg1, 拦截的请求的 response 对象
  • Object arg2, 封存了单元方法对象的 HandleMethod 对象
  • ModelAndView arg3 封存了单元方法的返回值资源路径和请 求转到的 Map 数据afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
  • HttpServletRequest arg0, 拦截的请求的 request 对象
  • HttpServletResponse arg1, 拦截的请求的 response 对象
  • Object arg2, 封存了单元方法对象的 HandleMethod 对象
  • Exception arg3 存储了责任链的异常信息

注意:

  • 拦截器的方法执行顺序
  • preHandle—>单元方法—&g

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: