一、Spring MVC起步
- 官方图解
1.1、步骤
- 1、第一站会是Spring的DispatcherServlet(前端控制器),单实例,将请求委托给应用程序的其他组件来执行实际的处理。
- 3、DispatcherServlet的任务是将请求发送给Spring MVC控制器(controller),控制器是一个用于处理请求的spring组件,一般会有多个控制器。
- 2、为了判断将请求发送给哪个控制器,所以DispatcherServlet会查询一个或多个处理映射(handler mapping)来确定请求的下一站是哪里。处理映射器会根据请求的url来进行决策,一旦决策下定,DispatcherServlet会将请求发送给指定的控制器
- 4、控制器处理的内容:
- (1)、到了控制器,请求会卸下所有的负载(用户提交的信息)并耐心等待控制器处理这些信息。(实际上,良好的控制器本身不做业务处理,一般是将业务逻辑委托给一个或者多个service进行处理)
- (2)、控制器处理完逻辑,将返回信息返回浏览器展示,返回信息是(model)。为了让浏览器友好展示,这些返回信息需要进行一些处理,发送给一个视图(view),一般会是jsp(jsp、thymeleaf包括freemarker都属于前端的模板引擎,都是为了渲染加载界面。)进行处理,返回一个视图名(这样的好处是控制器不会与指定的视图进行耦合,去视图解析器根据视图名查找出真正的视图)。
- (3)、将模型数据打包,标识出用于渲染输出的视图名,一同返回给前端控制器DispatcherServlet
- 5、DispatcherServlet会使用视图解析器(view resolver)来将逻辑视图名匹配一个特定的视图实现
- 6、知晓是哪个视图的实现,交付给模型数据,视图将使用模型数据进行渲染输出。