Spring MVC是Spring Framework的一部分,是基于Java实现的MVC的轻量级Web框架。
特点
:
- 轻量级,简单易学
- 高效,基于请求响应的MVC框架
- 与Spring兼容性好,无缝结合
- 约定大于配置
- 功能强大:RESTFul,数据验证,格式化,本地化,主题等
核心
:DispatcherServlet (调度Servlet)
Spring的Web框架围绕DispatcherServlet设计。
SpringMVC框架想许多其他MVC框架一样,以请求为驱动,围绕一个中心Servlet分派请求及提供其他功能。DispatcherServelt实际上是一个Servlet(它继承自HttpServlet基类)
- 用户发起请求到DispatcherServlet(前端控制器),假设发送的请求为http://localhost:8080/springmvc/hello
- http://localhost:8080 :服务器域名
- springmvc :表示部署在服务器上的web站点名
- hello : 表示控制器
- DispatcherServlet调用HandlerMapping(处理器映射器),根据url查找Handler
- HandlerExecution表示为具体的Handler,即根据url查找控制器,查询到控制器为
hello
- HandlerExecution将解析后的信息传递给DispatcherServlet。(如解析控制器映射)
- DispatcherServlet调用HandlerAdapter(处理器适配器),其按照特定的规则去执行Handler
- Handler让具体的Controller执行
- Controller将具体的执行信息返回给HandlerAdapter。(如ModelAndView)
- HandlerAdapter将视图逻辑名或模型传递给DispatcherServlet
- DispatcherServlet调用ViewResolver(视图解析器)来解析HandlerAdapter传递的逻辑视图名。
- 获取ModelAndView的数据
- 解析ModelAndView的视图名字
- 拼接视图的名字(根据配置的前后缀),找到对应视图
- 视图解析器将解析的逻辑视图名传给DispatcherServlet。
- DispatcherServlet根据视图解析器解析的结果,调用具体的视图。
- 将视图呈现给用户。
原文:https://www.cnblogs.com/xiexi/p/15217246.html