Sping mvc DispatcherServlet 处理请求的详细过程

本文详细介绍了Spring MVC框架中请求处理的核心流程,包括如何使用WebApplicationContext、LocalResolver、ThemeResolver、MultipartResolver等组件解析请求并进行响应。

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

1. 通过WebApplicationContext, 根据request 搜索一些属性,并绑定到request上

2. 通过 Local Resovler ,判定出本地化资源,绑定到request上

3. 通过 Theme Resovler ,判定出主题资源,绑定到request上

4. 如果指定了  multipart resovler ,multipart resolver 会判断,请求中是不是带上传文件,如果是,会把request 再包装成 MultipartHttpServletRequest 

5. 找到控制器,并执行

6. 如果有Model返回,则根据返回,找到相应的view 进行渲染。如果没有Model返回,则不渲染视图,这种情况 一般发生在请求被其它拦截器拦截了。

 

处理过程中有任何异常,将由exception resolvers来处理。

 

另外,DispatcherServlet 也会判断控制器是不是实现了LastModified,如果是的话,在返回的Header中将加上last-modification-date。利用这个特性,应该很容易做出缓存支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值