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

朋友圈网站怎么做的网站建设公司seo关键词

朋友圈网站怎么做的,网站建设公司seo关键词,没有公司自己做网站,日照做网站的那家做的好HandlerInterceptor 接口详解 1. 接口方法说明 方法作用执行时机返回值/注意事项preHandle请求处理前拦截在控制器方法执行前调用返回 false 中断后续流程;返回 true 继续执行postHandle控制器方法执行后拦截在控制器方法返回结果后,视图渲染前调用无返…

HandlerInterceptor 接口详解

1. 接口方法说明
方法作用执行时机返回值/注意事项
preHandle请求处理前拦截在控制器方法执行前调用返回 false 中断后续流程;返回 true 继续执行
postHandle控制器方法执行后拦截在控制器方法返回结果后,视图渲染前调用无返回值,不可中断流程
afterCompletion请求完全结束后拦截在视图渲染完成后调用(无论是否成功)无返回值,用于资源清理

2. 完整示例代码
2.1 自定义拦截器A(返回 false)
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@Component
public class InterceptorA implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {System.out.println("InterceptorA.preHandle: 开始拦截请求");// 返回 false 中断请求流程return false;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {System.out.println("InterceptorA.postHandle: 此处不会执行(因 preHandle 返回 false)");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {System.out.println("InterceptorA.afterCompletion: 请求已中断,但此方法仍会被调用");}
}
2.2 自定义拦截器B(正常流程)
import org.springframework.stereotype.Component;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@Component
public class InterceptorB implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {System.out.println("InterceptorB.preHandle: 正常拦截");return true;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) {System.out.println("InterceptorB.postHandle: 控制器方法执行后");}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {System.out.println("InterceptorB.afterCompletion: 请求完成");}
}
2.3 注册拦截器配置
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class WebConfig implements WebMvcConfigurer {@Autowiredprivate InterceptorA interceptorA;@Autowiredprivate InterceptorB interceptorB;@Overridepublic void addInterceptors(InterceptorRegistry registry) {// 注册顺序:A 先于 Bregistry.addInterceptor(interceptorA).addPathPatterns("/**");registry.addInterceptor(interceptorB).addPathPatterns("/**");}
}
2.4 控制器示例
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class DemoController {@GetMapping("/test")public String test() {System.out.println("控制器方法执行:此请求将被拦截器A中断");return "Hello World";}
}

3. 输出结果分析(访问 /test
InterceptorA.preHandle: 开始拦截请求
InterceptorA.afterCompletion: 请求已中断,但此方法仍会被调用
  • 拦截器A的 preHandle 返回 false
    • 拦截器B的 preHandle 不会被调用。
    • 控制器方法不会执行。
    • 拦截器B的 postHandleafterCompletion 也不会执行。
    • 拦截器A的 afterCompletion 仍会被调用(因已进入拦截器链)。

4. 常见处理场景示例

在拦截器中可实现以下功能:

  • 日志记录:记录请求时间、URL、IP 等(如示例中的 System.out.println)。
  • 权限校验:检查用户登录状态或角色权限。
  • 性能监控:计算接口响应时间。
  • 请求参数预处理:统一处理请求参数(如解密、格式化)。

5. 拦截器执行顺序总结表
阶段执行顺序规则示例(A注册在 B 前)
preHandle按注册顺序依次执行A → B
postHandle按注册逆序依次执行B → A
afterCompletion按注册逆序依次执行B → A

注意:若某个 preHandle 返回 false,后续拦截器和控制器方法均被跳过,但已执行的拦截器的 afterCompletion 仍会执行。

http://www.dtcms.com/wzjs/127923.html

相关文章:

  • 装修公司怎么做网站推广安卓手机优化软件排名
  • 自助网站建设北京网站建设专业公司
  • 保亭县住房城市建设局网站网络营销的主要方式
  • wordpress加站点描述企业网络营销成功案例
  • 电商网站建设怎么样360站长平台链接提交
  • 建个普通网站新站整站快速排名
  • 天津网站制作的公司哪家好提升seo排名平台
  • 淘宝做链接有哪些网站可以做100个商业经典案例
  • 阿里巴巴网站维护要怎么做链接提交工具
  • 怎么建设网站买链接网站
  • 做聊天室cpa用什么类型的网站好seo是什么服务
  • 家做网站怎么出售友情链接
  • 台州市建设规划局网站班子成员重庆百度总代理
  • 网站公司用什么软件做网站白帽seo
  • 网站建设分为哪三部分6个好用的bt种子搜索引擎
  • 企业网站怎么做百度百度指数api
  • 建设网站的费用吗单页网站制作
  • 网站建设公司代理淘宝推广引流方法有哪些
  • 做网站 前端廊坊百度关键词排名平台
  • wordpress 新窗口打开平台seo什么意思
  • 网站选择城市怎么做福建seo快速排名优化
  • 做公司网站需要准备什么科目软文营销是什么
  • 做网站一般都是织梦推广网络营销外包公司
  • 织梦网站面包屑导航怎么做中国网络营销网
  • 网站推广手段有哪些app推广渠道有哪些
  • 为赌博网站做代理怎么判南宁seo教程
  • 免费做外贸网站软文营销常用的方式
  • 可以下载的建站网站app推广接单平台有哪些
  • 濮阳做网站公司乐陵市seo关键词优化
  • 晋城企业网站建设价格百度搜索引擎优化方案