前端请求到 SpringMVC 的处理流程

1. 发起请求

客户端通过 HTTP 协议向服务器发起请求。

2. 前端控制器(DispatcherServlet)

这个请求会先到前端控制器 DispatcherServlet ,它是整个流程的入口点 ,负责接收请求并将其分发给相应的处理器。

3. 处理器映射(HandlerMapping)

DispatcherServlet 调用 HandlerMapping 来确定哪个 Controller 应该处理这个请求。通常会根据请求的 URL 来确定

4. 处理器适配器(HandlerAdapter)

一旦找到目标 Controller,DispatcherServlet 会使用 HandlerAdapter 来调用 Controller 的处理方法

5. 执行处理器(Controller)

Controller 处理请求,处理完后返回一个 ModelAndView 对象,其中包含模型数据和逻辑视图名

6. 视图解析器(ViewResolver)

DispatcherServlet 接收到 ModelAndView 后,会使用 ViewResolver 来解析视图名称,找到具体的视图页面

7. 渲染视图

视图使用模型数据渲染页面,生成最终的页面内容

8. 响应结果

DispatcherServlet 将视图结果返回给客户端


在前后端分离的情况下,步骤 ⑥、⑦、⑧ 会略有不同,后端通常只需要处理数据,并将 JSON 格式的数据返回给前端就可以了,而不是返回完整的视图页面。


👨‍🏫 参考地址

相关推荐
jktantan3 小时前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
前端·javascript·vue.js
2601_962885724 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
excel4 小时前
encodeURI 和 encodeURIComponent 有什么区别?
前端
前端精髓4 小时前
调用openrouter的免费API模型
java·前端·javascript
赛博守夜人5 小时前
AI安全攻防与治理之十四:AI 安全测试不能脱离传统安全,Web、API、移动端与模型攻击面的组合拳
前端·人工智能·安全
开开心心_Every5 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
networknomad5 小时前
OpenReplay:自己搭的会话回放工具,给前端排错用的
前端·其他
缓慢更新6 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
陈随易7 小时前
AI 运维服务器,安全又可靠的方法
前端·后端·程序员
风骏时光牛马7 小时前
AI稳定性治理体系构建与疑难问题深度分析
前端