第五章说说web服务-动力节点springboot3

动力节点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

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

step2: 创建Controller

在根包的下面,创建子包controller,并创建QuickController

@Controllerpublic class QuickController { @RequestMapping("/exam/quick") public String quick(Model model){ //业务处理结果数据,放入到Model模型 model.addAttribute("title", "Web开发"); model.addAttribute("time", LocalDateTime.now()); return "quick"; }}

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;}

@Controllerpublic class JSONViewController { //HttpServletResponse @RequestMapping("/exam/json") public void exam1(HttpServletResponse response) throws IOException { String data="{\"name\":\"lisi\",\"age\":20}"; response.getWriter().println(data); } //@ResponseBody @RequestMapping("/exam/json2") @ResponseBody public User exam2() { User user = new User(); user.setName("张三"); user.setAge(22); return user; }}

注意:从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的引用。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容