java-spring-4

Spring Web App

  • 映射请求到 Spring Controller

  • 透明绑定表单参数

  • 校验表单提交

Model View Controller

Spring MVC 起步

调度 Servlet,Handler Mapping, Controller, View Resolver

Spring 会将请求在上述几个之间移动

Request -> DispatcherServlet -> Handler Mapping -> Controller -> DispatcherServlet -> View Resolver -> View -> Response

1. Requset -> DispatcherServlet

Spring MVC 所有请求都会通过 Front Controller Servlet, 也就是 DispatcherServlet

DispathcerServlet 会把请求委托给其他组件处理

2. DispatcherServlet -> Handler Mapping -> Controller

DispatcherServlet 会去查询 Hander Mapping 决定将请求发到哪个具体的 Controller

通过 URL 决定

业务逻辑一般交给 Controller 去处理

Controller 会去处理 Request Payload

3. Controller -> DispatcherServlet

Controller 处理完 request 之后会有产生额外的信息,返回给用户显示在浏览器上

这些信息便是 Model

View 用来把原始信息处理成用户友好的格式, HTML

Controller 会把 Model 打包,连同 Request 和 View 名字一起发给 DispatcherServlet

4. DispatcherServlet -> View Resolver -> View

DispatcherServlet 收到的只是 View 的名字,所以可以用 ViewResolver 去通过名字找到真正对应的 View 实现

5. View -> Response

DS 把 Model 数据交给 View 实现完之后,请求就结束了,

View 会用 Model 数据来渲染输出,把 Response 交到 Client