动力节点SpringBoot3- 第五章 说说Web服务
5 说说Web服务
基于浏览器的B/S结构应用十分流行。Spring Boot非常适合Web应用开发。可以使用嵌入式Tomcat、Jetty、Undertow或Netty创建一个自包含的HTTP服务器。一个Spring Boot的Web应用能够自己独立运行,不依赖需要安装的Tomcat,Jetty等。
Spring Boot可以创建两种类型的Web应用
[if !supportLists]· [endif]基于Servlet体系的Spring Web MVC应用
[if !supportLists]· [endif]使用spring-boot-starter-webflux模块来构建响应式,非阻塞的Web应用程序
Spring WebFlux是单独一个体系的内容,其他课程来说。 当前文档讲解 Spring Web MVC。又被称为“Spring MVC”。Spring MVC是“model view controller”的框架。专注web应用开发。我们快速的创建控制器(Controller),接受来自浏览器或其他客户端的请求。并将业务代码的处理结果返回给请求方。
Spring MVC处理请求:
5.1 高效构建Web应用
创建Web应用,Lession12-quick-web。 依赖选择spring-web 包含了Spring MVC , Restful, Tomcat这些功能。再选择Thymeleaf(视图技术,代替jsp),Lombok依赖。包名 com.****.quickweb。
项目结构:
5.1.1 html页面视图
step1: Maven依赖
spring-web starter
step2: 创建Controller
在根包的下面,创建子包controller,并创建QuickController
step3: 创建视图
step4:代码编写完成,现在运行启动类,在浏览器访问exam/quick url地址
编写Spring MVC的应用分成三步:
[if !supportLists]1. [endif]编写请求页面(在浏览器直接模拟的请求)
[if !supportLists]2. [endif]编写Controller
[if !supportLists]3. [endif]编写视图页面
5.1.2 JSON视图
上面的例子以Html文件作为视图,可以编写复杂的交互的页面,CSS美化数据。除了带有页面的数据,还有一种只需要数据的视图。比如手机应用app,app的数据来自服务器应用处理结果。app内的数据显示和服务器无关,只需要数据就可以了。主流方式是服务器返回json格式数据给手机app应用。我们可以通过原始的HttpServletResponse应该数据给请求方。 借助Spring MVC能够无感知的处理json。
step1:创建Controller
@Datapublic class User { private String name; private Integer age;}
注意:从Spring6. Spring Boot3开始 javax包名称,修改为jakarta。
原来:
javax.servlet.http.HttpServletRequest;
修改后:
jakarta.servlet.http.HttpServletRequest;
step2:浏览器测试两个地址
构建前-后端分离项目经常采用这种方式。
5.1.3 给项目加favicon
什么是favicon.ico :
favicon.ico是网站的缩略标志,可以显示在浏览器标签、地址栏左边和收藏夹,是展示网站个性的logo标志。
我们自己的网站定制logo。首先找一个在线工具创建favicon.ico。比如https://quanxin.org/favicon , 用文字,图片生成我们需要的内容。生成的logo文件名称是favicon.ico
step1:将生成的favicon.ico拷贝项目的resources/ 或 resources/static/ 目录。
step2:在你的视图文件,加入对favicon.ico的引用。