您的位置:首页 > 编程语言 > Java开发

SpringMVC学习(一)--SpringMVC原理

2017-12-24 23:24 246 查看

SpringMVC学习(一)–SpringMVC原理

标签(空格分隔): SpringMVC

传统B/S的MVC模式

在MVC的设计模式中,一般用户的请求路径过程是:

请求过程:

用户发起http request请求 –> 控制层(Controller)接收请求 –> 控制层请求校验 –> 转发到模型层 —> 模型层(Model)处理请求

响应过程

模型层(Model)处理完请求返回模型数据 –> 控制层接收模型数据 –> 控制层将模型数据转发到视图层(View)–> 视图层解析模型数据生成结果视图(例如:Html) –> 结果返回给用户(http response)。

SpringMVC介绍

spring web mvc 和Struts2都属于表现成框架,它属于Spring体系的一部分,以下为Spring的整体接口:



从上图可以得知,Spring web mvc可以说在Spring 体系中占的比重还是相对比较重的

SpringMVC原理

根据上面对传统mvc 请求路径的分析,Spring mvc的整个执行路径如下图所示:



1、用户发送请求到前端控制器DispatcherServelet

2、DispatcherServlet收到请求调用HandlerMapper处理器映射器

3、HandlerMapper处理器映射器根据请求的url找到具体的处理器,生成处理器代理对象及处理器拦截器对象一并返回给DispatcherServlet。

4、DispatcherServlet通过HandlerAdapter处理器适配器调用处理器

5、执行处理器逻辑(Controller、也叫后端控制器)

6、Controller执行完请求之后返回ModelAndView对象

7、HandlerAdapter将Controller执行结果ModelAndView返回给DispatcherServlet

8、DispatcherServlet将ModelAndView传递给视图解析器ViewReslover

9、ViewReslover解析返回具体的view

10、DispatcherServlet对View进行渲染视图,(将模型数据塞到视图中)

11、将视图响应给用户

组件说明

1、DispatcherServlet 前端控制器

DispatcherServlet作为整个流程控制的中心,由它调用其他组件进行用户请求,通过它的存在,降低其他组件之间的耦合性

2、HandlerMapping 处理器映射器

处理器映射器负责根据用户请求的url找到对应的处理器。根据处理器映射器的类型对应不同的映射器方式,例如:配置文件形式、实现接口形式、注解方式等等

3、Handler 处理器

Handler相对于DispatcherServlet,相当于后端处理器,实现真正的用户请求处理。(需要根据业务进行开发

4、HandlerAdapter 处理器适配器

处理器适配器定义了如果执行处理器,处理器根据适配器的类型定义,进行不同的实现方式

5、View Resolver 视图解析器

视图解析器负责将处理的结果解析成视图。首先根据逻辑视图名解析成物理视图(具体的页面地址),在生成View视图对象,最后将View进行渲染将处理结果以页面的形式展示给用户。SpringMVC提供了多种视图类型,jstlView\freemarkerView\pdfView.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: