- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.1、Spring Web MVC是什么
Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。
?
另外还有一种基于组件的、事件驱动的Web框架在此就不介绍了,如Tapestry、JSF等。
?
Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是DispatcherServlet;应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含ModelAndView handleRequest(request, response)?方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。
2.2、Spring Web MVC能帮我们做什么
√让我们能非常简单的设计出干净的Web层和薄薄的Web层;
√进行更简洁的Web层的开发;
√天生与Spring框架集成(如IoC容器、AOP等);
√提供强大的约定大于配置的契约式编程支持;
√能简单的进行Web层的单元测试;
√支持灵活的URL到页面控制器的映射;
√非常容易与其他视图技术集成,如Velocity、FreeMarker等等,因为模型数据不放在特定的API里,而是放在一个Model里(Map数据结构实现,因此很容易被其他框架使用);
√非常灵活的数据验证、格式化和数据绑定机制,能使用任何对象进行数据绑定,不必实现特定框架的API;
√提供一套强大的JSP标签库,简化JSP开发;
√支持灵活的本地化、主题等解析;
√更加简单的异常处理;
√对静态资源的支持;
√支持Restful风格。
2.3、Spring Web MVC架构
Spring Web MVC框架也是一个基于请求驱动的Web框架,并且也使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。首先让我们整体看一下Spring Web MVC处理请求的流程:
?
2.3.1、Spring Web MVC处理请求的流程
如图2-1
图2-1
具体执行步骤如下:
1、 首先用户发送请求————前端控制器,前端控制器根据请求信息(如URL)来决定选择哪一个页面控制器进行处理并把请求委托给它,即以前的控制器的控制逻辑部分;图2-1中的1、2步骤;
2、 页面控制器接收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,这个对象在Spring Web MVC中叫命令对象,并进行验证,然后将命令对象委托给业务对象进行处理;处理完毕后返回一个ModelAndView(模型数据和逻辑视图名);图2-1中的3、4、5步骤;
3、 前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染;图2-1中的步骤6、7;
4、 前端控制器再次收回控制权,将响应返回给用户,图2-1中的步骤8;至此整个结束。
?
问题:
1、 请求如何给前端控制器?
2、 前端控制器如何根据请求信息选择页面控制器进行功能处理?
3、 如何支持多种页面控制器呢?
4、 如何页面控制器如何使用业务对象?
5、 页面控制器如何返回模型数据?
6、 前端控制器如何根据页面控制器返回的逻辑视图名选择具体的视图进行渲染?
7、 不同的视图技术如何使用相应的模型数据?
?
首先我们知道有如上问题,那这些问题如何解决呢?请让我们先继续,在后边依次回答。
?
2.3.2、Spring Web MVC架构
1、Spring Web MVC核心架构图,如图2-2
图2-2
?
?
架构图对应的DispatcherServlet核心代码如下:
Java Code复制内容到剪贴板
//前端控制器分派方法??????
protected?void?doDispatch(HttpServletRequest?request,?HttpServletResponse?response)?throws?Exception?{??? ??
????????HttpServletRequest?processedRequest?=?request;??? ??
????????HandlerExecutionChain?mappedHandler?=
您可能关注的文档
- 眩晕和良性发作性位置性眩晕.ppt
- 学会宽容-与人为善主题班会.pptx
- 学籍操作手册(省市区县).doc
- 学生健康体检管理系统(山东版)智能数据采集应用方案.docx
- 学生选课系统可行性研究报告.docx
- 学生压力及情绪管理.ppt
- 学习《准则》《条例》课件.ppt
- 学习camundaBPM(未完待续).docx
- 学习SpringMVC系列教程(二)DispatcherServlet详解.doc
- 学习队章我们的作风.ppt
- 预应力筋用锚具、夹具和连接器应用技术规程 JGJ 85-2010 知识培训.pptx
- 多联机空调系统工程技术规程 JGJ 174-2010 知识培训.pptx
- 2025届山西晋中学市榆次区中考冲刺卷历史试题含解析.doc
- 钢管满堂支架预压技术规程 JGJ_T 194-2009 知识培训.pptx
- 河北省唐山市古治区2025届中考历史模拟试卷含解析.doc
- 建筑桩基技术规范 JGJ 94-2008知识培训.pptx
- 普通混凝土用砂、石质量及检验方法标准培训.pptx
- 建筑施工作业劳动防护用品配备及使用标准 JGJ 184-2009知识培训.pptx
- 城市轨道交通引起建筑物振动与二次辐射噪声限值及其测量方法标准 JGJ_T 170-2009知识培训.pptx
- 岩溶地区建筑地基基础技术规范 DBJ_T 15-136-2018 知识培训.pptx
最近下载
- 安阳学院 《计算机应用基础》在线作业答案.pdf VIP
- 服装生产管理概述概要.doc VIP
- 微服务架构原理和设计方法课件(49张).ppt VIP
- 高速公路机电工程隧道消防技术规范.docx VIP
- 重庆市江北区2023-2024学年五年级下学期期末质量监测语文试卷(文字版,含答案).docx VIP
- 2023年人教版高中历史选择性必修3第四单元商路、贸易与文化交流单元整合.pptx VIP
- 专项15化学反应的热效应反应机理分析-2023年高考化学阶段性新题精选专项特训(全国卷)(2月期)(原卷版).docx
- 四年级句子练习——关联词 .pdf VIP
- 南开大学22春“药学”《药物合成反应》期末考试高频考点版(带答案)试卷号:1.pdf VIP
- 沪教版小学1-5年级词语表.doc VIP
文档评论(0)