SpingMVC执行流程
SpingMVC的常用组件
- DispatcherServlet
- HandlerMapping
- HandlerExecution
- HandlerAdapter
- ViewResolver
工作流程
- 用户发送请求,由前置控制器DispatcherServlet接受请求并拦截请求。
- DispatcherServlet调用HandlerMapping处理器映射,HandlerMapping根据URL查找Handler。
- HandlerExecution表示具体的Handler,查找URL对应的控制器,然后将解析后的信息传递给DispatcherServlet,如解析控制器映射等。
- DispatcherServlet 会根据 处理器执行链 中的处理器,找到能够执行该处理器的处理器适配器(HandlerAdaptor) --注,处理器适配器有多个
- HandlerAdaptor调用对应的具体的Controller
- Controller 将处理结果及要跳转的视图封装到一个对象 ModelAndView 中并将其返回给处理器适配器 (HandlerAdaptor)
- 然后HandlerAdaptor将 ModelAndView 交给 DispatcherServlet
- DispatcherServlet调用视图解析器ViewResolver,将视图名称封装为视图对象,然后将其返回给DispatcherServlet。
- DispatcherServlet 调用视图对象,让 (View) 进行渲染(将模型数据填充至视图中),形成响应对象 (HttpResponse)
- 前端控制器 (DispatcherServlet) 响应 (HttpResponse) 给浏览器,展示在页面上。
posted @
2022-09-05 10:55
追D
阅读(
21)
评论()
编辑
收藏
举报
点击右上角即可分享
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构