Springboot+SpringCloud实战 05-第五章电子课件.ppt
《Springboot+SpringCloud实战 05-第五章电子课件.ppt》由会员分享,可在线阅读,更多相关《Springboot+SpringCloud实战 05-第五章电子课件.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Springboot+SpringCloud实战05-第五章电子课件第五章 Spring Boot Web应用开发学习目标l 掌握Spring Boot Web应用开发常用注解、JSR-303校验工具的使用。l 掌握JSP以及基于Thymeleaf的开发过程。l 了解Spring Boot中访问静态资源的原理和方式。通过第4章,我们了解了Spring Boot项目的自动装配过程和启动过程。本章我们来深入讲解Spring Boot在Web应用开发中的使用。Spring Boot Web开发常用注解12JSR-303校验的使用3Spring Boot实现JSP页面的Web应用开发4Spring B
2、oot实现基于Thymeleaf模板的Web应用开发5Thymeleaf的使用6访问静态资源Spring Boot Web开发常用注解回顾第2章,在编写HelloController应用时我们使用了3个注解Controller、RequestMapping、ResponseBody,相信读者都已经清楚它们的含义,这里不赘述。下面我们介绍另一个常用注解:RestController。RestController用在类上,它和Controller的含义类似,只是多了一层含义。在类上加上这个注解,表示此类中的所有方法都返回JSON格式的数据,它的作用等同于ResponseBody。所以,RestCo
3、ntroller相当于Controller和ResponseBody的结合,使用RestController后就不用在每个方法上写ResponseBody。为了验证RequestMapping和RestController注解的作用,我们创建一个名为HelloController2的类,如程序清单5-1所示。然后启动demo项目,在浏览器中进行验证,如图5-1所示,成功返回“hello2”。Spring Boot Web开发常用注解Spring Boot Web开发常用注解常用的注解还有GetMapping、PostMapping、DeleteMapping、PutMapping。GetMap
4、ping相当于RequestMapping(value=“/”,method=RequestMethod.GET)。RequestMapping中我们仅写了value,没写method(默认GET和POST都支持)。同理,另外3个也是类似的。这4个注解主要用于RESTful风格开发。RESTful是一种互联网软件架构设计的风格,它提出了一组客户端和服务器交互时的架构理念和设计原则,基于这种理念和原则设计的接口更简洁、更有层次。举一个简单的例子,我们要访问一个接口“http:/localhost:8080/order?id=1”,采用RESTful风格则地址为“http:/localhost/o
5、rder/1”。实现RESTful风格最重要的就是PathVariable,使用它将URL中占位符参数绑定到控制器处理方法的参数中。下面我们通过实际的例子来理解。编写hello3方法。注意,URL中作为参数的“word”要使用花括号标注。然后,我们重启demo项目,在浏览器中进行验证。Spring Boot Web开发常用注解在传统开发中,我们通常只使用GET和POST方式来实现增删改查,所以URL中通常是动词。例如,获取ID为1的学生的URL为“http:/localhost:8080/getStudent?id=1”,而RESTful风格则使用名词,即“http:/localhost:80
6、80/student/1”。并且增删改查都使用这一个URL,那么怎样区分操作类型呢?答案是通过请求方式。这4个注解PostMapping、DeleteMapping、PutMapping和GetMapping刚好分别对应增删改查,即对应POST请求、DELETE请求、PUT请求和GET请求。Spring Boot Web开发常用注解12JSR-303校验的使用3Spring Boot实现JSP页面的Web应用开发4Spring Boot实现基于Thymeleaf模板的Web应用开发5Thymeleaf的使用6访问静态资源JSR-303校验的使用日常开发的业务中难免遇到对数据的校验,例如,登录/
7、注册的手机号是否规范、密码长度是否符合要求、账号是否为空等。而数据校验不能只在前端页面进行,在后端同样需要对数据进行校验,以确保通过其他方式调用接口也能正常工作。如果我们在Controller中使用if-else语句来判断,代码会很多且逻辑复杂,因此我们可以使用JSR-303校验工具来实现数据校验。JSR-303是Java EE 6 中的一项规范,叫作Bean Validation。Spring从3.x版本开始就已经支持JSR-303。JSR-303通过在实体类的属性上添加注解的方式实现数据的校验。使用JSR-303校验工具的步骤如下。添加spring-boot-starter-validat
8、ion 依赖,如程序清单5-3所示。创建实体类,如程序清单5-4所示。我们在demo的entity包下创建一个User类,它有3个属性,分别是“name”(用户名)、“age”(密码)和“phone”(手机号)。其中,“message”表示在不符合校验规则时向用户展示的提示信息。我们在controller包下创建一个UserController类,写一个注册接口“regist”,用于模拟接收用户注册的表单数据,如程序清单5-5所示。JSR-303校验的使用注册请求访问此接口时,JSR-303对标注有Valid的实体类进行校验,并将校验结果封装在BindingResult对象中。hasError
9、s方法返回一个布尔值,只要有一个校验规则不符合便返回true。getFieldErrors方法返回不符合校验规则的FieldError的集合,FieldError用于存储属性名和message信息。然后,我们通过forEach循环遍历FieldError的集合,把错误信息封装进返回结果。JSR-303校验的使用JSR-303校验的使用最后,我们启动demo项目并打开浏览器,先输入不符合校验规则的表单数据进行验证,结果如图5-3所示。然后,输入符合校验规则的表单数据进行验证,结果如图5-4所示。JSR-303校验的使用读者实际操作时可能会疑惑,为什么和我们测试返回的数据显示不一样,这是因为我们给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Springboot+SpringCloud实战 05-第五章电子课件 Springboot SpringCloud 实战 05 第五 电子 课件
限制150内