SpringMVC笔记

SpringMVC笔记

ID:37898073

大小:830.00 KB

页数:39页

时间:2019-06-02

SpringMVC笔记_第1页
SpringMVC笔记_第2页
SpringMVC笔记_第3页
SpringMVC笔记_第4页
SpringMVC笔记_第5页
资源描述:

《SpringMVC笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SpringMVC一、SpringMVC介绍1.为什么要使用springMVC?很多应用程序的问题在于处理业务数据和显示业务数据的视图的对象之间存在紧密耦合。通常,更新业务对象的命令都是从视图本身发起的,使视图对任何业务对象更改都有高度敏感性。而且,当多个视图依赖于同一个业务对象时是没有灵活性的。SpringWebMVC是一种基于Java的实现了WebMVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,SpringWebMVC也是要简化我们日常Web

2、开发的。2.MVC设计模型MVC是一种著名的设计模式,特别是在Web应用程序领域。模式全都是关于将包含业务数据的模块与显示模块的视图解耦的。这是怎样发生的?视图(例如,JSP页面)怎样能够与其模型(例如,包含数据的JavaBean)解耦?记得这句格言么?一个层次的重定向几乎可以解决计算机业中的所有问题。确实,在模型和视图之间引入重定向层可以解决问题。此重定向层是控制器。控制器将接收请求,执行更新模型的操作,然后通知视图关于模型更改的消息。依赖于模型的状态并且依赖于请求的控制器可以决定要显示哪个视图。图1演示了这种模式。3.springMVC的强大之处1.SpringMV

3、C实现了即用的MVC的核心概念。它为控制器和处理程序提供了大量与此模式相关的功能。并且当向MVC添加反转控制(InversionofControl,IoC)时,它使应用程序高度解耦,提供了通过简单的配置更改即可动态更改组件的灵活性。SpringMVC为您提供了完全控制应用程序的各个方面的力量。2.Spring的WebMVC模块是围绕 DispatcherServlet 而设计的。DispatcherServlet 给处理程序分派请求,执行视图解析,并且处理语言环境和主题解析,此外还为上传文件提供支持。3.DispatcherServlet 通过使用处理程序映射来决定哪一

4、个处理程序应当处理传入的请求。处理程序映射只是用于标识使用哪一个处理程序来处理特定URL模式的映射。处理程序是只有一种方法 ModelAndViewhandleRequest(request,response) 的控制器接口的实现。Spring还有一些可用的高级处理程序实现;其中一个重要的高级处理程序实现是 SimpleFormController,它提供了将命令对象绑定到表单、对其执行验证等功能。4.您已经在本系列教程的先前教程中使用了 DispatcherServlet 和简单的处理程序。在下一个部分中,将使用 SimpleFormController 并说明Spr

5、ingMVC提供的各种即用功能。4.springMVC优势1、清晰的角色划分:前端控制器(DispatcherServlet)、请求到处理器映射(HandlerMapping)、处理器适配器(HandlerAdapter)、视图解析器(ViewResolver)、处理器或页面控制器(Controller)、验证器( Validator)、命令对象(Command 请求参数绑定到的对象就叫命令对象)、表单对象(FormObject提供给表单展示和提交到的对象就叫表单对象)。2、分工明确,而且扩展点相当灵活,可以很容易扩展,虽然几乎不需要;3、由于命令对象就是一个POJO,

6、无需继承框架特定API,可以使用命令对象直接作为业务对象;4、和Spring其他框架无缝集成,是其它Web框架所不具备的;5、可适配,通过HandlerAdapter可以支持任意的类作为处理器;6、可定制性,HandlerMapping、ViewResolver等能够非常简单的定制;7、功能强大的数据验证、格式化、绑定机制;8、利用Spring提供的Mock对象能够非常简单的进行Web层单元测试;9、本地化、主题的解析的支持,使我们更容易进行国际化和主题的切换。10、强大的JSP标签库,使JSP编写更容易。………………还有比如RESTful风格的支持、简单的文件上传、约

7、定大于配置的契约式编程支持、基于注解的零配置支持等等。5.springMVC的运行原理1.架构图2.传统的MVC架构首先让我们了解下MVC(Model-View-Controller)三元组的概念:Model(模型):数据模型,提供要展示的数据,因此包含数据和行为,可以认为是领域模型或JavaBean组件(包含数据和行为),不过现在一般都分离开来:ValueObject(数据)和服务层(行为)。也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。领域模型javaBean组件等价于域模型层+业务逻辑层+持久层View(视

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。