zoukankan      html  css  js  c++  java
  • S MVC 拦截器

    一个拦截器

    拦截器(interceptor)是spring mvc中提供的一种类似filter过滤器的技术,只不过拦截器只能拦截controller的请求,而filter可以过滤所有请求,其他内容大体上两者是近似的。

    定一个类实现HandlerInterceptor接口,这样就创建了一个拦截器,该接口中有三个方法:

    • preHandle(request, response, Object handler):
      该方法在controller中的方法执行之前执行。其返回值为 boolean,若为 true,则紧接着会执行controller方法,且会将afterCompletion()方法压栈进入入到一个专门的方法栈中等待执行。
    • postHandle(request, response, Object handler, modelAndView):
      该方法在controller方法执行之后执行。controller方法若最终未被执行,则该方法不会执行。由于该方法是在controller方法执行完后执行,且该方法参数中包含 ModelAndView,所以该方法可以修改controller方法的处理结果数据,且可以修改跳转方向。
      • afterCompletion(request, response, Object handler, Exception ex):
        当 preHandle()方法返回 true 时,会将该方法放到专门的方法栈中,等到对请求进行响应的所有
        工作完成之后才执行该方法。即该方法是在中央调度器渲染(数据填充)了响应页面之后执行的,此时对 ModelAndView 再操作也对响应无济于事。

    具体内容参:拦截器

    拦截器使用示例:链接

  • 相关阅读:
    在Mac OS X上配置Apache2
    Safari on iOS 7 中Element.getClientRects的Bug
    Ubuntu 升级到13.10之后出现Apache2启动失败的问题
    HTML5中DOM元素的querySelector/querySelectorAll的工作机制
    TLS之上的HTTP
    Linux常用设置
    http 连接复用
    js数组的操作
    https学习总结
    教你使用shell数组
  • 原文地址:https://www.cnblogs.com/lucky1024/p/11120715.html
Copyright © 2011-2022 走看看