springMVC,拦截器

一、springmvc工作原理

客户端请求 --> DispatcherServlet(前端控制器) --> 前端控制器根据用户的url,请求HandlerMapping(处理器映射器)查找匹配该url的handler --> 返回一个执行链**(HandlerExecutionChain)** --> 前端控制器再请求HandlerAdapter(处理器适配器)调用相应的handler进行处理并返回给前端控制器一modelAndView --> 前端控制器再请求视图解析器(ViewResolver)对返回的逻辑视图进行解析 --> 最后前端控制器将返回的视图进行渲染并把数据装入到request域,返回给用户。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

二、过滤器、拦截器

过滤器是在请求到达servlet之前,
拦截器是在请求到达controller之前

在这里插入图片描述

1.jdk1.8之后接口可以实现,只需要加一个default,jdk1.8之前不可以

2.拦截器是基于AOP的
(1)进入handler方法之前执行
应用场景:用于身份认证、身份授权
比如身份认证,如果认证通过表示当前用户没有登录,需要此方法拦截不再向下执行
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler) throws Exception

(2)进入handler方法之后,返回modelAndView之前执行
应用场景:从modelAndView出发,将公用的模型数据(比如菜单导航)在此方法传到视图,也可以在这里统一指定视图
public void postHandle(HttpServletRequest request,
HttpServletResponse response,
Object handler, ModelAndView modelAndView) throws Exception

**(3)执行handler完成执行此方法 **
应用场景:统一异常处理,统一的日志处理
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response,
Object handler, Exception ex) throws Exception

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值