SpringMVC的工作流程以及组件说明

1. SpringMVC处理流程

2. SpringMVC架构

  2.1 框架结构

  2.2 框架流程

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

    2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。

    3. 处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。

    4. DispatcherServlet调用HandlerAdapter处理器适配器。

    5. HandlerAdapter经过适配调用具体的处理器(controller,也叫后端控制器)。

    6. Controller执行完成返回ModelAndView。

    7. HandlerAdapter将Controller返回的执行结果ModelAndView返回给DispatcherServlet。

    8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器。

    9. ViewReslover解析之后返回具体的view。

    10.  DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图jsp/freemaker..中)。

    11. DispatcherServlet响应用户。

    

    举个栗子!(不知道合不合适)

    1. 用户发送请求至前端控制器DispatcherServlet。  —— 奥巴马要OOXX本拉登。他不能自己干啊,于是把命令给秘书处。

    2. DispatcherServlet收到请求调用HandlerMapping处理器映射器。  —— 秘书处也不能上手干啊,于是秘书处找到杀手中介!我要一个杀手!

    3. 处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。  —— 杀手中介给秘书处推荐了一个杀手。

    4. DispatcherServlet调用HandlerAdapter处理器适配器。  —— 秘书处让交通局给杀手提供了途径:飞机,火车,汽车..你想怎么过去

    5. HandlerAdapter经过适配调用具体的处理器(controller,也叫后端控制器)。  ——杀手想了想,还是飞机快,于是坐着飞机找到了本拉登。

    6. Controller执行完成返回ModelAndView。  ——把本拉登宰了,拿到一个人头~ 咦惹~

    7. HandlerAdapter将Controller返回的执行结果ModelAndView返回给DispatcherServlet。  ——交通局就血淋淋的~ 交给了秘书处。

    8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器。  —— 秘书处一看,太可怕了,我们不能就这么给总统看啊。于是找到“美容院”

    9. ViewReslover解析之后返回具体的view。  ——经过一番包装过后,给回秘书处。

    10.  DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图jsp/freemaker..中)。  ——秘书处整理一番,放进盒子里面。

    11. DispatcherServlet响应用户。  —— 交给奥巴马。

  2.3 组件说明   

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

    DispatcherServlet:前端控制器

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

    HandlerMapping:处理器映射器

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

    Handler:处理器

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

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

    HandlAdapter:处理器适配器

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

    View Resolver:视图解析器

      View Resolver负责将处理结果生成View视图(JSP,freemarker),View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。

    View:视图

      springmvc框架提供了很多的View视图类型的支持,包括:jstlView、freemarkerView、pdfView等。我们最常用的视图就是jsp。

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

    需要用户开发的组件有handler(controller类)、view(jsp/freemarker velocity,thyeleaf)

 

原文地址:https://www.cnblogs.com/sun7897/p/8576756.html

时间: 2024-10-09 22:29:05

SpringMVC的工作流程以及组件说明的相关文章

1、SpringMVC的工作流程

1.简单的谈一下SpringMVC的工作流程? 流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3.处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet. 4.DispatcherServlet调用HandlerAdapter处理器适配器 5.HandlerAdapter经过适配调用具体的处理器(Controller

09 springmvc的工作流程

问题 叙述一下springmvc的工作流程 答案 首先介绍几个概念: 前端控制器:即DispatcherServlet,用以接收前端请求,转发到对应的api 处理器映射器:顾名思义,映射找寻对应API 处理器适配器:调用映射找寻到的API 处理器:即后端控制器,程序员提供的API实现 视图解析器:顾名思义,寻址渲染显示视图之用 一个前端请求发送到后台再响应到前端一般会经过以下步骤: 1 用户发送请求经过类型转化.格式化和校验送至前端控制器DispatcherServlet 2 Dispatche

面试题:SpringMVC的工作流程

SpringMVC是当今最主流的Web MVC框架,没有之一,要做一名合格的JavaWeb工程师,学好它势在必行! 与Struts2原理不同,SpringMVC是通过最基础最传统的servlet来实现对框架源代码的封装以及对整个流程的控制的,而Struts2是通过过滤器来实现URL路径与具体Action的对应关系确认的.(Struts2具体机制参看另一篇博客链接) 下图是springMVC的原理示意图: SpringMVC工作流程概述: 1.客户端向web服务器(如tomcat)发送一个http

SpringMVC的工作流程 (网路精解拼接)

从网上找了一张很详细的图进行解释 组件:1.前端控制器DispatcherServlet(不需要工程师开发),由框架提供作用:接收请求,响应结果,相当于转发器,中央处理器.有了dispatcherServlet减少了其它组件之间的耦合度.用户请求到达前端控制器,它就相当于mvc模式中的c,dispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,dispatcherServlet的存在降低了组件之间的耦合性. 2.处理器映射器HandlerMapping(不需要工程

springMVC 基本工作流程、基本配置

(1) Http请求:客户端请求提交到DispatcherServlet. (2) 寻找处理器:由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller. (3) 调用处理器:DispatcherServlet将请求提交到Controller. (4)(5)调用业务处理和返回结果:Controller调用业务逻辑处理后,返回ModelAndView. (6)(7)处理视图映射并返回模型: DispatcherServlet查询一个或

SpringMVC的工作流程

DispatcherServlet:核心控制器 HandlerMapping:处理器映射器 HandlerAdapter:处理器适配器 Handler:处理器 ViewResolver:视图解析器 1,  用户请求,发送到核心控制器(DispatcherServlet) 2,  核心控制器(DispatcherServlet)到处理器映射器中查找处理该请求对应的处理器(Handler),并返回到核心控制器(DispatcherServlet) 3,  核心控制器(DispatcherServle

了解SpringMVC框架及基本工作流程

传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此,我们都知道我们request和response都依赖于url,当我们想要通过针对围绕url进行编程的话单纯的JSP+Servlet在实现上只有过滤器Filter在抵达相对应的Servlet之前起作用,但是如果我们想要在Servlet转发或者重定向之后再进行一些工作呢?一个url对应一个Servlet

SpringMVC框架及基本工作流程详解

传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此,我们都知道我们request和response都依赖于url,当我们想要通过针对围绕url进行编程的话单纯的JSP+Servlet在实现上只有过滤器Filter在抵达相对应的Servlet之前起作用,但是如果我们想要在Servlet转发或者重定向之后再进行一些工作呢?一个url对应一个Servlet

SpringMVC框架之工作流程

1.SpringMVC的基本工作流程 2.SpringMVC具体工作流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3.处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet. 4.DispatcherServlet调用HandlerAdapter处理器适配器 5.HandlerAdapter经过适配调用具体的处理器(