1.1. Introduction
官方的描述:
Spring Web MVC is the original web framework built on the Servlet API
and included in the Spring Framework from the very beginning. The
formal name “Spring Web MVC” comes from the name of its source module
spring-webmvc but it is more commonly known as “Spring MVC“.
// 简要来说, Spring MVC 就是建立在Servlet层上的web 框架。
MVC模式(Controller,Moderl,View):是软件开发过程中比较流行的设计思想。旨在分离模型、控制、视图。是一种分层思想的体现。
浏览器发出一个请求—————————————————————–>
被控制器(Servlet)所接收————————————————————>
由servlet去实例化一个模型层(通常是javabean层)————————->
由javabean层调用数据库层的对象,结果可以返回给控制层,
或者说界面层也可以访问(保存在session中)———————————–>
控制层获得模型层的反馈结果之后,选择合适的视图给用户呈现 ,最终给用户一个响应。
EIS(Enterprise Information System )企业信息系统(数据库)
MVC框架是围绕 DispatcherServlet 设计的。DispatcherServlet 用来处理所有的 HTTP 请求和响应。Spring Web MVC DispatcherServlet 的请求处理的工作流程如下图所示:
- 收到http请求后,DispatcherServlet 根据 HandlerMapping 来选择并且调用适当的控制器。
- 控制器接受请求,并基于使用的 GET 或 POST 方法来调用适当的 service 方法。Service 方法将设置基于定义的业务逻辑的模型数据,并返回视图名称到 DispatcherServlet 中。
- DispatcherServlet 会从 ViewResolver 获取帮助,为请求检取定义视图。
- 一旦确定视图,DispatcherServlet 将把模型数据传递给视图,最后呈现在浏览器中。
上面所提到的所有组件,即 HandlerMapping、Controller 和 ViewResolver 是 WebApplicationContext 的一部分,而 WebApplicationContext 是带有一些对 web 应用程序必要的额外特性的 ApplicationContext 的扩展。