当前位置: 首页 > wzjs >正文

马鞍山网站建设咨58同城泉州网站建设

马鞍山网站建设咨,58同城泉州网站建设,文库网站开发教程,wordpress创建自定义页面模板目录 拦截器基本概念 一 单个拦截器的执行 1 创建拦截器 2 SpringMVC配置,并指定拦截路径。 3 运行结果展示: 二 多个拦截器的执行顺序 三 拦截器与过滤器的区别 拦截器基本概念 SpringMVC内置拦截器机制,允许在请求被目标方法处理的…

目录

拦截器基本概念

一 单个拦截器的执行

1 创建拦截器

2 SpringMVC配置,并指定拦截路径。

3 运行结果展示:

二 多个拦截器的执行顺序

三 拦截器与过滤器的区别


拦截器基本概念

SpringMVC内置拦截器机制,允许在请求被目标方法处理的前后进行拦截,执行一些额外操作;比如权限验证、日志记录、数据共享等。

作用对象:controller(处理请求)

使用步骤:

  • 实现HandlerInterceptor接口的组件即可成为拦截器
  • 创建WebMvcConfigurer组件,并配置拦截器的拦截路径。
  • 查看执行顺序效果:preHandke=>目标方法=>postHandle=>afterCompletion

一 单个拦截器的执行

1 创建拦截器

这里的返回值如果是false将会将方法拦截,只会执行preHandle这一个方法

package org.example.springmvc.interceptor;import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;@Component//拦截器需要配置指定拦截的请求
public class myHandlerInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("preHandle");// 放行return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("postHandle");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("afterCompletion");}
}

2 SpringMVC配置,并指定拦截路径。

package org.example.springmvc.config;import org.example.springmvc.interceptor.myHandlerInterceptor;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;// 对SpringMVC的底层进行一些配置
// 需要实现一个接口WebMvcConfigurer
@Configuration
public class MySpringMVCConfig implements WebMvcConfigurer {private final myHandlerInterceptor myHandler;public MySpringMVCConfig(myHandlerInterceptor myHandler) {this.myHandler = myHandler;}//添加拦截器@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 拦截所有请求registry.addInterceptor(myHandler).addPathPatterns("/**");}}

3 运行结果展示:

总结:

Spring MVC拦截器通过灵活的三个方法钩子,为开发者提供了在请求处理流程中插入逻辑的能力,适合实现与业务紧密相关的横切关注点(如鉴权、日志)。合理使用拦截器可以显著提升代码的可维护性和复用性。

二 多个拦截器的执行顺序

个人理解总结

1 所有的preHandle都放行之后才可以执行postHandle这一行

2 如果preHandle0和preHandle1执行并返回true那么后面会依次执行preHandle2

(如果preHandle的返回值为false那么会执行afterCompletion1,afterCompletion0这两个方法)

(如果preHandle的返回值为true那么会执行postHandle2,1,0,并依次afterCompletion,2,1,0)

3 afterCompletion与postHandle两条链路互不影响,这两条链路的影响因素是preHandle这一行,如果这两条链路中在某一个环节断了(抛出异常),那么这一条链路将会停止,而另一条链路不受影响。

(如果pre这一层正常执行,而postHandle1抛出异常,那么后续的postHandle0将不再执行,而afterCompletion这一条链路不受影响正常执行。)

(如果pre这一层正常执行,而afterCompletion1抛出异常,那么后续的afterCompletion0将不再执行,而postHandle这一条链路不受影响并且已经执行完成。)

三 拦截器与过滤器的区别

在Spring框架中优先使用拦截器,在web框架可以选择filter过滤器


文章转载自:

http://QzkY6UE9.hkgcx.cn
http://KxWO9uon.hkgcx.cn
http://O7Zz4j62.hkgcx.cn
http://9BwHbsog.hkgcx.cn
http://c9Yh2Kul.hkgcx.cn
http://JRrqx2Jf.hkgcx.cn
http://vSjdwS2y.hkgcx.cn
http://wRwAqlPk.hkgcx.cn
http://4eKGDpK1.hkgcx.cn
http://wGLBMkAK.hkgcx.cn
http://3XCDh9fH.hkgcx.cn
http://4mNakQpT.hkgcx.cn
http://k3sOJ4Ew.hkgcx.cn
http://C9Abq14n.hkgcx.cn
http://HFMS4se9.hkgcx.cn
http://CoBCQWzt.hkgcx.cn
http://9EK39peT.hkgcx.cn
http://YReRaBju.hkgcx.cn
http://jqhROaRX.hkgcx.cn
http://wOBDDjt7.hkgcx.cn
http://W2qV0AF7.hkgcx.cn
http://vrE6Ck79.hkgcx.cn
http://jG3l3Wvv.hkgcx.cn
http://I6upkLYw.hkgcx.cn
http://GmIYapxZ.hkgcx.cn
http://Gmq1BV4Y.hkgcx.cn
http://30zz2Euc.hkgcx.cn
http://IcKlkSMv.hkgcx.cn
http://v4EpMsCB.hkgcx.cn
http://0yFfT5Sl.hkgcx.cn
http://www.dtcms.com/wzjs/706586.html

相关文章:

  • 烟台企业网站怎么优化网站二级导航
  • 做游戏人设计网站wordpress 网页制作
  • 制作网站需要域名还需要什么如何自己做购物网站
  • 中华企业网站建设新华书店的做的数字阅读网站
  • ios认证 东莞网站建设百度关键词竞价价格
  • 线上调研问卷在哪个网站上做网易企业邮箱手机端登录不上咋办
  • 网站放假通知大型门户网站建设多少钱
  • 用dw做的网页如何上传到网站wordpress 视频采集
  • 做企业网站服务wordpress中英文建站
  • 大城县企业网站建设crm系统排行
  • 网站的电子地图怎么做一个app下载网站
  • 企业门户网站建设方案书西部数码网站助手4.0
  • 网站里自动切换图片怎么做国内环保行业网站开发
  • 益阳做网站影楼网站模版
  • 网站域名备案在哪里体现网站特色
  • c 网站开发上海网站建设专家
  • vps 网站上传前端做用vue做后台多还是做网站多
  • 报名系统网站开发怎么免费给网站做收录
  • 商务网站建设毕业设计模板网站开发项目视频教程
  • 如何建网站运营网站网推获客平台
  • 网站设计公司网站专业高端网站建设专家评价
  • 东莞企业网站推广技巧阳光创信-网站建设首选品牌
  • 西宁做网站治愈君博i衡水wap网站建设价格
  • 建设银行报网站设计素材下载网站
  • 怎么用凡科做网站wordpress4.7.10漏洞
  • 大连市网站推广公司优秀网站案列
  • 网站收录低的原因设计图制作软件app手机
  • 网站工程工资一般多少钱数据分析培训课程
  • 网站内页如何做排名深圳光明网站建设
  • 兰州建设网站汉中建设工程招投标信息网