SpringMVC拦截器使用总结

本文详细介绍了SpringMVC中的拦截器,包括它们的用途、常见应用场景、实现方式以及执行顺序。通过实现HandlerInterceptor接口或WebRequestInterceptor接口,可以对请求进行拦截处理,如权限验证、性能监控和日志记录。文中还展示了XML配置文件中的声明方式和拦截器执行顺序的详细说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 一、简介

SpringMVC的处理器拦截类似于servlet开发中的过滤器Filter,用于对请求进行拦截处理。拦截器是基于SpringAOP实现的,它是AOP编程思想的典型应用。

二、常见应用场景

  1. 权限检验:检测请求是否具有登录权限,如果没有直接返回登录页面。
  2. 性能监控:用请求处理前和请求处理后的时间差计算整个请求相应完成所消耗的时间。
  3. 日志记录:记录请求信息的日志,以便进行信息监控、信息统计等。

三、使用方法

SpringMVC实现拦截的功能,主要有两个途径,第一种实现是实现HandleIntercepter接口(在Spring框架中,还提供了另外一个接口和抽象类实现了对HandleIntercepter接口的功能拓展,分别为:AsyncHandlerInterceptor和 HandlerInterceptorAdapter) ,第二种是实现WebRequestIntercepter接口。

A,HandlerIntercepter接口详解:

在接口中定义了3个方法,分别为:preHandle(),postHandle和afterCompletion(),通过复写这3个方法可以实现用户的请求进行拦截处理。AsyncHandlerInterceptor接口,其在继承HandlerInterceptor接口的同时,又声明了一个新的方法afterConcurrentHandlingStarted();而HandlerInterceptorAdapter抽象类,则是更进一步,在其继承AsyncHandlerInterceptor接口的同时,又复写了preHandle方法。因此,AsyncHandlerInterceptor更像是一个过渡的接口。

在实际应用中,咱们一般都是通过实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter抽象类,复写preHandle()、postHandle()和afterCompletion()这 3 个方法来对用户的请求进行拦截处理的。

B,WebRequ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值