admin 管理员组

文章数量: 887021


2024年1月13日发(作者:省略英语怎么表达)

springmvc的工作流程

Spring MVC 作为 Spring 的一部分,旨在为 Web 应用提供模型-视图-控制器(MVC)架构体系中的功能支持。本文将带领读者熟悉Spring MVC的工作流程与三大部件,以及对 Spring MVC 模块的一些核心实现的理解。

### 一、Spring MVC的工作流程

(1)客户端发起请求,与Spring MVC的前端控制器Front Controller交互。前端控制器可以是 DispatcherServlet;

(2)DispatcherServlet收到请求后,会将请求转发给处理器映射器,它根据用户提交的URL,查找到处理器所对应的处理器(例如Controller);

(3)处理器映射器将Controller中处理用户请求的方法调用,并将处理结果传递给Model;

(4)Model将处理结果保存到ServletContext上下文,作为全局的变量;

(5)控制器调用相应的视图解析器,将相应的视图(JSP)解析成HTML或JSON字符串;

(6)视图转换器把处理结果刷新到所关联的视图上,供客户端调用;

(7)客户端浏览器接收服务器返回的信息,并且结束该请求,等待下一次请求。

在使用Spring MVC的时候,重要的部件有三个:FrontController,Model,View。

(1)Front Controller接受所有用户请求,并将这些请求路由到相应的Controller(处理器)中。

(2)Model由Controller控制,Controller使用Model把处理结果保存到属性中,Model中存放了处理结果值。

(3)View将Model中的处理结果值渲染成HTML或JSON字符串,给客户端,完成请求处理。

Spring MVC主要由Spring自身提供了DispatcherServlet,HandlerMapping,ViewResolver,Controller,Model等构成。

(1)DispatcherServlet负责接收客户端的 HTTP 请求,并将其转发给HandlerMapping寻找对应的处理器;

(2)HandlerMapping负责根据请求路径和HandlerMethod映射,其实现多种,例如

BeanNameUrlHandlerMapping,

SimpleUrlHandlerMapping,AnnotationMethodHandlerMapping等;

(3)ViewResolver负责将view逻辑名中的文件找到并转换为视图;

(4)Controller实现由DispatcherServlet发来的处理请求;

(5)Model配合View一起,将处理的结果返回信息发送给客户端。


本文标签: 请求 视图 客户端 处理结果 处理器