HandlerInterceptor的preHandle、postHandle、afterCompletion方法的作用

article/2025/10/12 12:47:26

public class MyHandlerInterceptor implements HandlerInterceptor {

(1) preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用。

SpringMVC中的Interceptor拦截器是链式的,可以同时存在多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在Controller方法调用之前调用。

(SpringMVC的这种Interceptor链式结构也是可以进行中断的,这种中断方式是令preHandle的返回值为false,当preHandle的返回值为false的时候整个请求就结束了。)

重写preHandle方法,在请求发生前执行。

 

 

(2)这个方法只会在当前这个Interceptor的preHandle方法返回值为true的时候才会执行。

postHandle是进行处理器拦截用的,它的执行时间是在处理器进行处理之后,也就是在Controller的方法调用之后执行,但是它会在DispatcherServlet进行视图的渲染之前执行,也就是说在这个方法中你可以对ModelAndView进行操作。

这个方法的链式结构跟正常访问的方向是相反的,也就是说先声明的Interceptor拦截器该方法反而会后调用,这跟Struts2里面的拦截器的执行过程有点像,只是Struts2里面的intercept方法中要手动的调用ActionInvocation的invoke方法,Struts2中调用ActionInvocation的invoke方法就是调用下一个Interceptor或者是调用action,然后要在Interceptor之前调用的内容都写在调用invoke之前,要在Interceptor之后调用的内容都写在调用invoke方法之后。

重写postHandle方法,在请求完成后执行。

 


(3)该方法也是需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行。

该方法将在整个请求完成之后,也就是DispatcherServlet渲染了视图执行。

(这个方法的主要作用是用于清理资源的)


}


http://chatgpt.dhexx.cn/article/oA64Qagw.shtml

相关文章

SpringBoot——拦截器

符合条件的请求被放行,不符合条件的请求访问不到所请求的东西。 1、步骤 (以登陆拦截器为例,只有用户登录了才能访问某页面): 1、编写拦截器,实现HandlerInterc此接口有三个方法 , preHandle…

拦截器的配置

文章目录 拦截器简介实现一个拦截器拦截器的配置多个拦截器时的执行顺序 拦截器简介 过滤器可以拦截请求,拦截器也能拦截请求,那过滤器和拦截器有啥区别?看下面这张图就明白了。 拦截器有三个方法,分别是 preHandle&#xff0c…

springmvc拦截器

实现拦截器步骤 步骤一 声明拦截器类(实现 handlerInterceptor接口) 1.主要看prehandle方法的返回值确定是否放行,如果是true,表示放行,会执行该拦截器的prehandle方法, 如果有多个拦截器,…

DateUtils时间类

1、测试 package test.utils.date; import java.text.ParseException; import java.util.Date; import org.apache.commons.lang.time.DateUtils; public class Test {public static void main(String[] args) {int amount 2;Date date new Date();// System.out.printf(&qu…

dateutil模块

安装:终端运行 pip install python-dateutil python第三方模块dateutil模块主要使用以下,1, parse,2,rrule, 3,relativedelta。 parse把字符串格式的时间转化为datetime.datetime格式时间。util是计算时间差…

封装工具类DBUtils、DateUtils详解

三、封装工具类DBUtils、DateUtils 把以下会重复写的代码封装: 3.1 封装货期连接、释放资源两个方法 提供public static Connection getConnection(){}方法。提供public static void closeAll(Connection conn,Statement sm,ResultSet rs){}方法。 3.2 跨平台方…

常用DateUtil

导语 最近项目中用到一些时间的操作,当然我们可以选择lang3,或者其他三方的jar,来进行操作,小编将项目中用到的一些用于的时间工具整理了一下,给大家参考一下! 先给大家展示一下使用及效果 使用 GetMapping(value &…

Android个人学习笔记之实战时间的获取相关-DateUtils

前言:在近期的项目编写过程中,看到了时间工具类DateUtil,虽然大致的用法已经清楚,但是对于这个类还是有一定的不解,很多类型并不知道实际的效果如何,所以就结合Android的API,实战来测试不同的效…

什么是token和使用的意义

一、什么是token token (计算机术语) 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。 二、token的意义 令牌:代表执行某些操作的权利和对象,访…

Token

Token笔记 是什么SessionCookietoken 为什么Session和Cookie 区别:token和Session区别:Session缺陷token相比而言: 怎么做token工作流程:token结构: 是什么 web应用程序是使用HTTP协议来传送数据的。而HTTP是无状态的…

Java 中 Token 是什么,有哪些用途

简介 Token 是一种身份验证机制,通常由服务器生成并返回给客户端,客户端在后续的请求中携带 Token,以证明自己的身份。在 Java 中,Token 的应用场景非常广泛,例如用户登录、API 认证、OAuth 授权等等。 在用户登录的…

Token的作用及原理

讲到Token的作用和原理,网上有很多相关的技术文章,通过搜集整理并加入自己的理解体会,做一个总结整理,希望可以帮助到更多有需要的人。 1、token作用及原理 Token,即令牌,是服务器产生的,具有…

Token和Jwt的区别

Token基本原理 Token(就是加密的字符串,使用MD5,等不可逆加密算法,一定要保证唯一性) 客户端使用用户名跟密码请求登录 服务端收到请求,去验证用户名与密码 验证成功,服务端会签发一个Token保存到(Session,redis,mysql…)中,然后再把这个 …

什么是token及怎样生成token

什么是token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。 基…

token是什么?

token的意思是令牌,是服务端生成的一串字符串,作为客户端进行请求的一个标识。 当用户第一次登录后,服务器生成一个token,并将token返回给客户端,之后客户端只需要带上这个token前来请求数据即可,无需再带…

Token是什么 Token登录认证

Token 是在服务端产生的一串字符串。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。如果这个 Token 在服务端持久化(比如存入数据库&a…

什么是Token(令牌)

Acess Token 访问资源接口(API)时所需要的资源凭证 简单token 的组成: uid(用户唯一的身份标识) 、time (当前时间的时间戳) ,sign(签名,token的前几位以hash算法压缩成的一定长度的16进制字符…

什么是token?token是用来干嘛的?

相信很多从事计算机行业的朋友都听说过token这么个东西,但是其他行业的人就很少了解到token,下面就给大家来详细介绍一下token是什么意思?token是用来干嘛的这一块的内容,希望能帮助到大家。 🏻 token是什么意思 作为…

究竟什么是token??

基于服务器验证方式的验证流程: 我们都是知道HTTP协议是无状态的,这种无状态意味着程序需要验证每一次请求,从而辨别客户端的身份。在这之前,程序都是通过在服务端存储的登录信息来辨别请求的。这种方式一般都是通过存储Session来…

python 处理 MovieLens 数据

文章目录 一、总述二、处理流程1. 处理 users 数据2. 处理 movies 数据3. 处理 ratings 数据4. 将 users、movies 和 ratings 数据合并5. one-hot 处理6. 完整代码 一、总述 该文记录处理 MovieLens-1m 数据集的步骤,首先分别处理用户、电影和评分数据,…