学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法()

  本篇文章为你整理了学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法()的详细内容,包含有 学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法,希望能帮助你了解 学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法。

  (1)过滤器主要作用:过滤Servlet请求

  (2)执行时机:两处执行时机(Servlet前、Servlet后)

  2、拦截器(Interceptor)属于框架(springMVC)

  (1)拦截器主要作用:拦截Controller请求

  (2)执行时机:三处执行时机

  ①执行DispatcherServlet之后,Controller之前

  ②执行Controller之后,DispatcherServlet之前

  ③执行DispatcherServlet之后

  二、拦截器概述

  1、SpringMVC可以使用拦截器实现拦截Controller请求,用户可以自定义拦截器来实现特定功能

  2、实现拦截器两种方式

  (1)实现接口:HandlerInterceptor

  (2)继承适配器类:HandlerInterceptorAdapter

  3、拦截器中三个方法

  (1)preHandler():这个方法在业务处理器处理请求之前被调用,可以在此方法中做一些权限的校验。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如果程序员决定不需要再调用其他组件去处理请求,则返回false.

  (2)postHandler():这个方法在业务处理器处理请求之后,渲染视图之前调用。在此方法中可以对ModelAndView中的模型和视图进行处理。

  (3)afterCompletion():这个方法在DispatcherServlet完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。

  三、实现拦截器步骤

  1、实现接口:HandlerInterceptor

  2、重写三个方法

  

@Component

 

  public class MyInterceptor implements HandlerInterceptor {

   public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

   System.out.println(" MyInterceptor== preHandle " );

   return true;

   public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable ModelAndView modelAndView) throws Exception {

   System.out.println(" MyInterceptor== postHandle " );

   public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, @Nullable Exception ex) throws Exception {

   System.out.println(" MyInterceptor== afterCompletion " );

  }

 

  3、在springmvc.xml配置文件中,装配拦截器

  

 !-- 装配拦截器-- 

 

   mvc:interceptors

   ref bean="myInterceptor" /ref

   /mvc:interceptors

 

  

  以上就是学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法()的详细内容,想要了解更多 学习笔记——拦截器与过滤器的区别;拦截器概述;拦截器中三个方法的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: