前面介绍了三剑客(HTML,CSS,JavaScript),Axios,Vue和Element,本篇将带你快速了解并使用SpringBoot创建工程,以及介绍http协议还有Tomcat服务器。

一、SpringBoot入门

1、概述

SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程,加速Spring开发

Spring官网:https://spring.io/

2、SpringBootWeb快速入门

2.1 需求

使用SpringBoot开发一个web应用,浏览器发起请求 /hello后,给浏览器返回字符串”Hello World ~”。

2.2 开发步骤

1)创建springboot工程,并勾选web开发相关依赖(Spring Web)。步骤如下


然后点击 Finish,就会联网创建SpringBoot项目。创建完成后,删除工程下不必要的文件,这样看起来更加简洁。

2)定义HelloController类,添加方法hello,并添加注解。

对应的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
package com.itweb.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// 请求处理类
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("Hello World~");
return "Hello World~";
}
}

3)运行测试
运行启动类

打开浏览器测试,可以看到浏览器和控制台都输出了 Hello World~

2.3 相关说明

1)最简SpringBoot程序所包含的基础文件

  • pom.xml文件
  • Application类

2)创建SpringBoot工程(两种方式)

  • idea创建:基于 idea开发 SpringBoot程序要确保联网且能够加载到程序框架结构
  • 官网创建:进入Spring官网(spring.io),找到 Spring Boot–Quickstart Your Project–Spring Initializr

二、HTTP协议

1、概述

1.1 概念

HTTP(HyperText Transfer Protocol),超文本传输协议,规定了浏览器和服务器之间数据传输的规则

1.2 特点

1)基于TCP协议:面向连接,安全
2)基于请求-响应模型的:一次请求对应一次响应
3)HTTP协议是无状态的协议:对于事务处理没有记忆能力。每次请求-响应都是独立的。

  • 缺点:多次请求间不能共享数据。Java中使用会话技术(Cookie、Session)来解决这个问题
  • 优点:速度快

注:HTTP协议默认端口号为80

2、HTTP-请求协议

2.1 HTTP-请求数据格式

1)请求数据分为3部分

  • 请求行:请求数据的第一行。其中GET表示请求方式,/表示请求资源路径,HTTP/1.1表示协议版本
  • 请求头:第二行开始,格式为key: value形式。
  • 请求体::POST请求的最后一部分,存放请求参数

2)常见的HTTP请求头(了解即可)

相关说明如下

  • Host:表示请求的主机名
  • User-Agent:浏览器版本,例如Chrome浏览器的标识类似Mozilla/5.0 …
  • Chrome/79,IE浏览器的标识类似Mozilla/5.0 (Windows NT ..) like Gecko;
  • Accept:表示浏览器能接收的资源类型,如 text/*,image/* 或者 */* 表示所有;
  • Accept-Language:表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
  • Accept-Encoding:表示浏览器可以支持的压缩类型,例如gzip, deflate等。
  • Content-Type:请求主体的数据类型。
  • Content-Length:请求主体的大小(单位:字节)

3)GET请求和POST请求区别(重点)

GET请求:请求参数在请求行中,没有请求体。如:/brand/findAll?name=OPPO&status=1。

POST请求:请求参数在请求体中

GET请求请求参数大小有限制,POST没有

3、HTTP-响应协议

3.1 HTTP-响应数据格式

1)响应数据分为3部分:

  • 响应行:响应数据的第一行。其中HTTP/1.1表示协议版
  • 响应头:第二行开始,格式为key: value形式
  • 响应体:最后一部分,存放响应数据

2)常见响应头

3.2 状态码分类

如下

1
2
3
4
5
信息响应 (100199)
成功响应 (200299)
重定向消息 (300399)
客户端错误响应 (400499)
服务端错误响应 (500599)

3.3 常见状态码

1)404:服务器找不到请求的资源。
2)500:服务器遇到了不知道如何处理的情况。
常见的整理如下表

状态码大全:https://cloud.tencent.com/developer/chapter/13553

三、Tomcat

1、Web服务器

1.1 概述

Web服务器是一个软件程序,对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让web开发更加便捷。主要功能是”提供网上信息浏览服务”。

1.2 作用

1)封装HTTP协议操作,简化开发
2)可以将web项目部署到服务器中,对外提供网上浏览服务

2、Tomcat

2.1 概述

Tomcat是一个轻量级的Web服务器,支持Servlet/JSP少量JavaEE规范,也称为Web容器,Servlet容器
官网:https://tomcat.apache.org/

2.1 使用

1)下载压缩包并解压
进入官网下载,如下

下载完成后,复制压缩包到一个没有中文,不带空格的路径下(如我的直接放在D盘根目录下)。右键 ->解压到当前文件夹。

2)目录说明

3)启动Tomcat

启动:双击 bin\startup.bat

启动后发现控制台中文乱码,解决:

修改 conf/logging.properties,将51行的 UTF-8 改为 GBK


再次启动,由于 Tomcat默认占用的是 8080端口,所以浏览器直接访问:http://localhost:8080/ ,访问成功如下

注:启动过程中可能会遇到的常见问题和解决方案

4)关闭方式

  • 直接x掉运行窗口: 强制关闭
  • bin\shutdown.bat: 正常关闭
  • ctrl+c: 正常关闭

5)配置Tomcat端口号(conf/server.xml)
打开 conf目录下的server.xml文件,定位到 69行,可根据需要自行修改端口号。

注:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则以后再访问Tomcat时,可以不用输入端口号

四、SpringBoot入门程序解析

1、起步依赖

1)spring-boot-starter-web

包含了web应用开发所需要的常见依赖。

2)spring-boot-starter-test

包含了单元测试所需要的常见依赖。

2、内嵌的Tomcat服务器

基于Springboot开发的web应用程序,内置了tomcat服务器,当启动类运行时,会自动启动内嵌的tomcat服务器。