Java Web程序设计教程(第二版)(微课版)10 Spring Web MVC_第1页
Java Web程序设计教程(第二版)(微课版)10 Spring Web MVC_第2页
Java Web程序设计教程(第二版)(微课版)10 Spring Web MVC_第3页
Java Web程序设计教程(第二版)(微课版)10 Spring Web MVC_第4页
Java Web程序设计教程(第二版)(微课版)10 Spring Web MVC_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章SpringWebMVC本章概述本章学习目标主要内容JavaWeb程序设计教程(第二版)(微课版)

第十章SpringWebMVC第1页Spring框架提供了构建Web应用程序的全功能MVC模块。SpringMVC让Web应用开发变得更简洁,而且易于与Spring框架的其他模块(如IoC和AOP)集成,能让我们非常简单地设计出干净的Web层。本章将介绍如何使用SpringWebMVC框架来替代我们前面学过的Servlet + JSP,重点学习控制器的设计与开发。JavaWeb程序设计教程(第二版)(微课版)

第2页本章概述第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第3页本章学习目标了解SpringWebMVC的基本内容掌握SpringWebMVC的工作流程掌握启动SpringMVC的方法掌握在Spring框架中如何访问静态资源文件掌握@RequestMapping的用法掌握控制器方法的参数设置掌握控制器方法的返回类型理解模型和视图掌握@ModelAttribute的用法掌握@ResponseBody的用法了解SpringMVC的表单标签第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第4页主要内容10.1SpringWebMVC入门 10.2深入学习SpringWebMVC10.3本章小结 10.4思考和练习第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第5页10.1SpringWebMVC入门SpringMVC(全称SpringWebMVC)是Spring框架提供的一款基于MVC模式的轻量级Web开发框架,是Spring为表示层(UI)开发提供的一整套完备的解决方案。SpringMVC使用MVC架构模式的思想,将Web应用进行职责解构,把一个复杂的Web应用划分成模型(Model)、控制器(Contorller)以及视图(View)三层,有效地简化了Web应用的开发,降低了出错风险,同时也方便了开发人员之间的分工配合。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第6页SpringWebMVC的工作流程SpringWebMVC是一个基于请求驱动的Web框架,并且使用了前端控制器模式来进行设计,再根据请求映射规则分发给相应的页面控制器(动作/处理器)进行处理。SpringWebMVC的工作流程如图所示。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第7页SpringMVC的HelloWorld程序 本节将介绍如何使用SpringWebMVC框架编写一个简单的基于Web的HelloWorld应用程序。(1)在Eclipse中新建一个动态Web应用程序UseSpring。(2)在项目中引入上一章中创建的UserLibrary——Spring4.3.6。(3)在src目录中新建包zhaozhixuan.spring.mvc。(4)在zhaozhixuan.spring.mvc包中创建一个Java类HelloController,这是一个控制层实现类,我们使用@Controller注解。该类中只有一个pringHello()方法,用于输出HelloWorld信息。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第8页主要内容10.1SpringWebMVC入门

10.2深入学习SpringWebMVC10.3本章小结 10.4思考和练习第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第9页10.2深入学习SpringWebMVC启动SpringMVC:在Java工程中,通过在应用程序的main()方法中以编程方式启动Spring:通过XML配置文件或者使用@Configuration注解声明的配置类来完成bean的装配。在JavaWeb应用程序中,有两种选择可以启动SpringWebMVC:使用web.xml配置文件;也可以在javax.servlet.ServletContainerInitializer中通过编程的方式启动。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第10页DispatcherServlet组件类DispatcherServlet是一个Servlet,SpringWebMVC框架是围绕DispatcherServlet设计的,它处理所有的HTTP请求和响应。DispatcherServlet的请求处理工作流程如图所示。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第11页使用@RequestMapping@RequestMapping注解是SpringMVC中最常被用到的注解之一。它通常被标注在控制器方法上,负责将请求与处理请求的控制器方法关联起来,建立映射关系。SpringMVC的前端控制器(DispatcherServlet)拦截到用户发来的请求后,会通过@RequestMapping注解提供的映射信息找到对应的控制器方法,对这个请求进行处理。DispatcherServlet截获请求后,就通过控制器上@RequestMapping提供的映射信息确定请求对应的处理方法:URL限制HTTP请求方法限制请求参数限制请求头限制内容类型限制第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第12页控制器方法的参数控制器方法可以有任意数量的不同类型的参数,也可以没有参数。Spring可以理解这些参数的目的,并在调用的时候提供正确的值。另外,通过一些简单的配置,还可以扩展Spring理解的参数类型。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第13页标准Servlet类型在需要的时候,Spring可以为方法提供ServletAPI相关的众多参数类型作为参数。传入到这些参数的值永远不会为null,可以使用的参数类型有如下几种:HttpServletRequestHttpServletResponseHttpSessionInputStream或ReaderOutputStream或Writer客户端识别出的java.util.Localeorg.springframework.web.context.request.WebRequest第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第14页注解请求属性可以使用几个参数注解表示方法参数的值应该从请求的某些属性中获取。在大多数情况下,标志这些注解之一的参数可以是任意的原始类型或者原始封装类型。除了标准Servlet类型,还可以从请求的某些属性中获取信息作为控制器方法的参数。这需要使用几个参数注解。@RequestParam@RequestHeader@PathVariable第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第15页输入绑定表单对象尽管@RequestParam是一个有价值的工具,但是当方法中使用数十个参数是非常繁杂的。Spring允许指定一个表单对象作为控制器方法参数。表单对象是含有设置和读取方法的简单POJO。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第16页请求正文转换和实体目前为止,我们已经学习了与@RequestMapping注解一起配合使用的几个注解,用于处理GET和POSTWeb请求的额外信息。当数据代表某种对象时,它们通常被引用为请求实体或HTTP实体。这时,就可以使用@RequestBody注解,该注解用于读取请求的body数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上,再把HttpMessageConverter返回的对象数据绑定到控制器方法的参数上。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第17页文件上传——multipart请求数据在浏览器环境中,几乎总是使用multipart请求来上传文件,并结合使用正常的表单数据。在这种情况下,请求的Content-Type为multipart/form-data,并且它包含了被提交的每个表单字段的一部分。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第18页模型类型除了注解参数,控制器方法还可以有单个类型为Map<String,Object>、org.springframework.ui.ModelMap或org.springframework.ui.Model的非标注参数。这些类型的方法参数代表了Spring传入到视图中用于渲染的模型,并且我们可以在方法执行时向其中添加任意属性。第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第19页控制器方法的返回类型方法参数通常与请求内容相关,而返回类型通常与响应相关:模型类型视图类型响应正文实体任意返回类型异步类型第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第20页模型与视图SpringWebMVC名称的渊源就在于它依赖于模型-视图-控制器(MVC)设计模式。控制器用来操作模型中的数据,并将模型传递给视图,而视图将以某种有用的方式对模型进行渲染。终端用户只与视图进行交互,不会知道它在与控制器交互。模型视图重定向视图:org.springframework.web.servlet.view.RedirectView视图解析器使用@ModelAttribute使用@SessionAttributes使用@ResponseBody返回响应实体第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第21页SpringMVC的表单标签库在使用SpringMVC开发含有表单的JSP视图页面时,可以使用Spring封装的一系列表单标签,这些标签都可以访问ModelMap中的内容,进而更加轻松地在视图上展示模型中的数据。与使用JSTL类似,使用Spring的表单标签也需要一个@taglib指令,如下所示:<%@tagliburi="/tags/form"prefix="form"%>第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第22页主要内容10.1SpringWebMVC入门 10.2深入学习SpringWebMVC10.3本章小结

10.4思考和练习第十章SpringWebMVCJavaWeb程序设计教程(第二版)(微课版)

第23页本章小结本章介绍了使用SpringWebMVC开发Web应用的基本技能和注意事项,包括SpringWebMVC的工作流程,SpringMVC中的控制器、模型与视图等内容。首先从SpringWebMVC是什么讲起,介绍了SpringWebMVC的工作流程、为什么使用SpringWebMVC,以及通过开发一个简单的HelloWorld程序使读者对SpringWeb应用开发有个基本认识。然后深入学习了SpringWebMVC中的控制器(C)、模型(M)和视图(V),从起点SpringMVC讲起,讲述了DispatcherServlet组件类和如何访问静态资源文件。接着重点介绍了@RequestMapping注解的用法、控制器方法的参数设置以及返回类型,围绕控制器方法延伸到模型与视图,包括模型和视图的概念、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论