SpringMVC流程架构图

【组件说明】

以下组件通常使用框架提供实现:

1.DisPatcherServlet:前端控制器(不需要程序员开发)

用户请求到达前端控制器,它相当于MVC模式中的C(Controller),DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性。

作用:作为接受请求,相应结果,相当于转发器,中央处理器,减少其他组件之间的耦合度。

2.HandlerMapping:处理器映射器(不需要程序员开发)

HandlerMapping负责根据用户请求找到Handler(即:处理器),SpringMVC提供了不同的映射器实现实现不同的映射方式,例如:配置文件方式、实现接口方式、注解方式等。

作用:根据请求的Url 查找Handler

3.HandLer:处理器(需要程序员开发)

Handler是继DispatcherServlet前端控制器的后端控制器,在DispatcherServlet的控制下,Handler对具体的用户请求进行处理。

由于Handler设计到具体的用户业务请求,所以一般情况需要程序员根据业务需求开发Handler。

注意:编写Handler时按照HandlerAdpter的要求去做,这样才可以去正确执行Handler。

4.HandlerAdapter:处理器适配器

通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。

作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler

5.ViewResolver:视图解析器(不需要程序员开发)

ViewResolver负责将处理结果生成View视图,ViewResolver首先根据逻辑视图名解析成物理视图名,即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面的展示给用户。SpringMVC框架提供了很多View视图类型,包括:JSTLView、freemarkerView、pdfView等等.

作用:进行视图解析,根据逻辑视图名解析成真正的视图(view)。

6.View视图 (需要程序员开发 jsp)

View是一个接口,实现类支持不同的View类型(jsp、freemarker、pdf)

一般情况下需要通过页面标签或者页面模板技术将模型数据通过页面展示给用户,需要由程序员根据业务需求开发具体的页面。

【流程图】

【流程图说明】

1.用户发送请求至 前端控制器DispatcherServlet。

2.前端控制器DispatcherServlet收到请求后调用处理器映射器HandlerMapping。

3.处理器映射器HandlerMapping根据请求的Url找到具体的处理器,生成处理器对象Handler处理器拦截器HandlerIntercepter(如果有则生成)一并返回给前端控制器DispatcherServlet。

4.前端控制器DispatcherServlet通过处理器适配器HandlerAdapter调用处理器Controller。

5.执行处理器(Controller,也叫后端控制器)

6.处理器Controller执行完后返回ModelAndView。

7.处理器映射器HandlerAdapter将处理器Controller执行返回的结果ModelAndView返回给前端控制器DispatcherServlet。

8.前端控制器DispatcherServlet将ModelAndView传给视图解析器ViewResolver。

9.视图解析器ViewResolver解析后返回具体的视图View。

10.前端控制器DispatcherServlet对视图View进行渲染视图(即:将模型数据填充至视图中)

11.前端控制器DispatcherServlet响应用户。

(注意颜色)

时间: 2024-10-10 18:10:45

SpringMVC流程架构图的相关文章

SpringMVC简易架构图。。。

DispatcherServlet拦截所有请求 -> 通过访问url路径找到对应的控制器 -> 通过适配器调用控制器的方法 -> 控制器里面的方法处理业务 -> 通过视图解析器返回数据到页面 -> 形成视图 暂时只有图...以后有空会附上简易模仿SpringMVC架构代码! 2019-07-28 原文地址:https://www.cnblogs.com/codecodeandcode/p/11260289.html

Linux系统访问控制流程架构图

离线数据分析流程及推荐系统架构图

1.离线数据分析流程 一个应用广泛的数据分析系统:"web日志数据挖掘" 1.1 需求分析 1.1.1 案例名称 "网站或APP点击流日志数据挖掘系统". 1.1.2 案例需求描述 "Web点击流日志"包含着网站运营很重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值,广告转化率.访客的来源信息,访客的终端信息等. 1.1.3 数据来源 本案例的数据主要由用户的点击行为记录 获取方式:在页面预埋一段js程序

SpringMVC流程架构基础理论

Spring web mvc和Struts2都属于表现层的框架 1. 用户发起request请求至控制器(Controller) 控制接收用户请求的数据,委托给模型进行处理 2. 控制器通过模型(Model)处理数据并得到处理结果 模型通常是指业务逻辑 3. 模型处理结果返回给控制器 4. 控制器将模型数据在视图(View)中展示,web中模型无法将数据直接在视图上显示,需要通过控制器完成. 5. 控制器将视图response响应给用户 通过视图展示给用户要的数据或处理结果. springMVC

为什么需要架构图,怎么画?

Technorati 标签: 架构图,架构,交流,布局 不知不觉中做架构师也已经4年了,最初的感觉只是一个名号,不再把代码作为强制的任务,后来开始慢慢的转变工作内容.画图,成为了我的主要工作.我可能不是每天都在写代码,但却是每天都在画图,而且我越来越觉得画图让我更容易说清楚. 画架构图有几个好处:看清楚系统包含哪几个部分,各个部分实现什么职责,相互之间的关系是什么.当和别人讨论的时候,通过架构图可以很容易的把讨论的问题框定在一个确定的范围里,可以很容易的察觉出彼此之间存在误解的一些区域,比如对一

软件各种架构图2

Spring MVC 核心架构图 架构图对应的DispatcherServlet核心代码如下: //前端控制器分派方法 protected void doDispatch(HttpServletRequest request, HttpServletResponse response) throws Exception { HttpServletRequest processedRequest = request; HandlerExecutionChain mappedHandler = nu

Spring 架构图

1.Spring 架构图 Spring 是一个开源 框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为J2EE 应用程序开发提供集成的框架.Spring 框架的功能可以用在任何J2EE 服务器中,大多数功能也适用于不受管理的环境.Spring 的核心要点是:支持不绑定到特定J2EE 服务的可重用业务和数据访问对象.这样的对象可以在不同J2EE 环境(Web或EJB ).独立应用程序.测试环境之间重用. 组成Spring 框架

架构师必备技能:教你画出一张合格的技术架构图

当我们想用一张或几张图来描述我们的系统时,是不是经常遇到以下情况: 对着画布无从下手.删了又来? 如何用一张图描述我的系统,并且让产品.运营.开发都能看明白? 画了一半的图还不清楚受众是谁? 画出来的图到底是产品图功能图还是技术图又或是大杂烩? 图上的框框有点少是不是要找点儿框框加进来? 布局怎么画都不满意…… 如果有同样的困惑,本文将介绍一种画图的方法论,来让架构图更清晰. 先厘清一些基础概念 1.什么是架构? 架构就是对系统中的实体以及实体之间的关系所进行的抽象描述,是一系列的决策. 架构是

程序员/架构师/CTO:如何画出一张美观的架构图

作为一名程序员或架构师,有时候我们需要画一张架构图去给同Team同事或其他组的同事或者给上级/老板进行汇报.我们都梦想画的架构图,很漂亮,让人一看就眼前一亮的感觉. 在这里我们介绍一种画图的方法论,来让架构图或流程图更加清晰,层次化.首先我们来看一个网站 (https://c4model.com/).该网站提出了一个被称之为C4模型的东西.什么是C4?Context(上下文).Container(容器).Component(组件).Code(代码).C4就是代表上述一系列分层的图表,可以用这些图