下图展示了请求使用Spring MVC所经历的所有站点。

  • 在请求离开浏览器时1,会带有用户请求内容的信息,至少会包含请求的URL。但是还可能包含其他的信息,如用户提交的表单。
  • DispatcherServlet的任务是将请求发送给Spring MVC控制器。控制器(Controller)是一个用于处理请求的Spring组件。在典型的应用程序中,可能会有多个控制器,DispatcherServlet想要知道将请求发送给哪个控制器。所以DispatcherServlet会查询一个或多个处理器映射(handler mapping)来确定请求的下一站在哪里。处理器映射会根据所携带的URL信息来进行决策。
  • 一旦选择了合适的控制器,DispatcherServlet会将请求发送给选中的控制器。
  • 控制器在完成逻辑处理后,通常会产生一些消息,这些信息需要返回给用户并在浏览器上显示,这些信息被称为模型(Model)。这些信息需要以有好的方式格式化,一般会是HTML。所以,信息需要发送给一个视图(View),通常是JSP。最后,控制器会将model和视图名发送回DispatcherServlet。
  • DispatcherServlet会使用视图解析器(view resolver)来将逻辑视图名匹配为一个特定的视图实现。
  • 既然DispatcherServlet已经知道由哪个视图渲染结果,它就会将model数据交给特定的视图。视图将使用模型数据渲染输出。

转载于:https://www.cnblogs.com/ustc-anmin/p/10188366.html

Spring MVC起步(一)相关推荐

  1. [Spring MVC起步]我的第一个MVC

    2019独角兽企业重金招聘Python工程师标准>>> pom.xml,代码,一些是多余的 Spring-framework-bom解决spring的不同模块依赖版本不同问题 < ...

  2. Spring MVC 起步

    Spring 通常用来开发 web 应用. 1. Spring MVC 的请求响应机制 Spring 框架会将请求(request)在调度Servlet(DispatcherServlet).处理器映 ...

  3. 第7章 使用Spring MVC构建Web程序(一)

    7.1 Spring MVC起步 7.1.1 跟踪Spring MVC的请求 在spring MVC中,DispatcherServlet是前端控制器,客户端的请求以及各种请求(处理器映射器,处理器适 ...

  4. jax-rs jax-ws_JAX-RS 2.x与Spring MVC:返回对象列表的XML表示

    jax-rs jax-ws JSON是所有REST * API的王者,但是您仍然可能需要公开多种表示形式,包括XML. 使用JAX-RS和Spring MVC都非常简单. 实际上,唯一要做的就是用JA ...

  5. JAX-RS 2.x与Spring MVC:返回对象列表的XML表示

    JSON是所有REST * API的王者,但是您仍然可能需要公开多种表示形式,包括XML. 使用JAX-RS和Spring MVC都非常简单. 实际上,唯一要做的就是用JAXB注释对从API调用返回的 ...

  6. Spring Boot 起步依赖

    参考书<Spring Boot实战> 1.Spring Boot起步依赖        Spring项目的依赖管理也很费力.需要决定项目要用哪些库,还要考虑库的版本和其他库的版本不会用冲突 ...

  7. Java之Spring mvc详解(非原创)

    文章大纲 一.Spring mvc介绍 二.Spring mvc代码实战 三.项目源码下载 四.参考文章 一.Spring mvc介绍 1. 什么是springmvc   springmvc是spri ...

  8. spring mvc 关键接口 HandlerMapping HandlerAdapter

    HandlerMapping  Spring mvc 使用HandlerMapping来找到并保存url请求和处理函数间的mapping关系.     以DefaultAnnotationHandle ...

  9. spring mvc 控制器方法传递一些经验对象的数组

    由于该项目必须提交一个表单,其中多个对象,更好的方法是直接通过在控制器方法参数的数组. 因为Spring mvc框架在反射生成控制方法的參数对象的时候会调用这个类的getDeclaredConstru ...

最新文章

  1. 1分钟、2束光,3D打印出一座“柏林地标”,精度高于发丝 | Nature
  2. linux文件系统中文件基本权限,Linux文件权限基本属性图文详解
  3. Win32 多线程的创建方法,区别和联系
  4. 计算机组成原理 第四版 总线的主模块 总线的从模块,唐朔飞计算机组成原理课件3.ppt...
  5. MacOS 系统使用命令安装软件包
  6. Python max 函数 - Python零基础入门教程
  7. oracle命中率sql,Oracle 检查命中率的SQL
  8. Discuz X2 模块模板代码详解,DIY更容易!
  9. Deep Residual Network
  10. Springer期刊参考文献格式如何用Latex生成
  11. Matlab之linspace函数
  12. 微信登录报错40125和-6签名秘钥问题解决方案
  13. 视频安防监控系统介绍
  14. 家用路由器的相关知识和功能
  15. 对Java的展望_优秀技能经验及对java学习展望
  16. 深圳政府发文:采取SA模式建设的5G基站,每个奖励1万元
  17. Devops之制品库平台nexus实践
  18. 使用 acme.sh 生成免费的泛域名证书
  19. 参考文献格式要求及书写规则
  20. 单机版音乐播放器--ZTPlayer

热门文章

  1. 结构体在固件库中的应用
  2. 关于iframe的一点发现与思考
  3. LeetCode(257)——二叉树的所有路径(JavaScript)
  4. LeetCode(709)——转换成小写字母(JavaScript)
  5. 计算机网络学习笔记(15. OSI参考模型③、TCP/IP参考模型)
  6. 零基础带你学习MySQL—查询数据库(二)
  7. APP推广有效果,APP地推要以用户需求为核心
  8. 严阵以待的意思是什么,怎么用严阵以待造句?
  9. “三步走”助你完成领导者转变
  10. 今天跟某个投了社区团购的资本合伙人聊,发现对于社区团购的认知,还是太肤浅