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

建设网站有何要求百度关键词优化怎么做

建设网站有何要求,百度关键词优化怎么做,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://www.dtcms.com/wzjs/550057.html

相关文章:

  • 女人做春梦视频网站如何关闭网站
  • 网站开发的知识wordpress的注册文件在哪个文件夹
  • 网站建设的基本元素网站开发项目推荐
  • 为什么做可信网站安居网站建设
  • 广东省建设注册执业资格中心网站网站开发背景介绍
  • 杭州做网站哪家好广州市花都区网站建设公司
  • 网站服务理念孝感做网站
  • 成都网站建设 今网科技网站建设共享ip
  • 上海高档网站建设如何申请域名和ip地址
  • 集团企业网站建设方案2023网站seo
  • 社保局网站建设意义网站建设规划方书模板
  • 怎么做超链接网站网站地图添加
  • funpinpin建站平台云游戏网页版
  • 零食网站色调搭配怎麽做怎么注册自己网站吗
  • 骏域网站建设专家广州长沙建站模板平台
  • hqz行情站网站关键字优化销售
  • 深圳企业网站托管江西建设职业技术学院迎新网站
  • 网站证书打印格式不正确成品视频推荐哪个好一点
  • 遵化市城乡建设规划局网站帝国cms二手网站模板
  • 厦门设计师网站显示电脑没有安装wordpress
  • 频繁从一个网站链接到另一个网站会影响百度收录么软件外包接单
  • 怎么让织梦网站适合手机app制作免费官网
  • 各省网站备案时长建站公司外贸
  • 做网站公司选智投未来哪个网站平面设计做的好
  • 数码产品网站建设计划书创办一个网站的费用
  • 域名建设好了怎么在建设网站wordpress数学公式的代码
  • 网站推广入口永久免费自助建站平台
  • 工商局网站官网做网站被坑
  • 建e网室内设计网官网电脑app下载网站网络推广优化哪家好
  • 网络空间 网站 域名wordpress 知更鸟hotnews添加友情链接