一、SpringBootWeb入门
1.1 介绍
Spring发展到今天已经形成一种开发生态圈,Spring提供了若干个子项目,每个项目用于完成特定的功能。

SpringBoot
- Spring Boot 可以帮助我们非常快速的构建应用程序、简化开发、提高效率。
1.2 SpringBootWeb快速入门吧
- 步骤:
- 创建springboot工程,并勾选web开发相关依赖
- 定义HelloController类,添加方法 hello,并添加注解
- 运行测试
二、HTTP协议
2.1 HTTP-概述
HTTP概念:Hyper Text Transfer Protocol,超文本传输协议,规定了浏览器与服务器之间的数据传输的规则

特点:
- 基于TCP协议:面向连接,安全
- 基于请求-响应模型的:一个请求对应一次相应
- HTTP协议是无状态的协议:对于事物处理没有记忆能力。每次请求-响应都是独立的
- 缺点:多次请求间不能共享数据
- 优点:速度快
2.2 HTTP-请求协议
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 请求主体的大小(单位:字节)
2.3 HTTP-响应协议
HTTP-响应数据格式

常见状态码
状态码 含义 200 客户端请求成功 404 请求资源不存在,一般是 URL 输入有误,或者网站资源被删除了 500 服务器发生不可预期的错误 常见响应头:
响应头 含义 Content-Type 表示响应内容的类型,例如text/html,application/json Content-Length 表示该响应内容的长度(字节数) Content-Encoding 表示该响应头压缩算法,例如gzip Cache-Control 指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒 Set-Cookie 告诉浏览器为当前页面所在的域设置cookie
三、Web服务器-Tomcat
3.1 简介
3.1.1 服务器概述
服务器硬件:指的也是计算机,只不过服务器要比我们日常使用的计算机大很多。
- 服务器,也称伺服器。是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
- 服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
- 在网络环境下,根据服务器提供的服务类型不同,可分为:文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
- 服务器只是一台设备,必须安装服务器软件才能提供相应的服务。
服务器软件:基于ServerSocket编写的程序
- 服务器软件本质是一个运行在服务器设备上的应用程序
- 能够接收客户端请求,并根据请求给客户端响应数据
服务器概念:

3.1.2 Web服务器
- Web服务器:
- Web服务器是一个软件程序,对HTTP协议进行封装,使得程序员不必对协议进行操作,让Web开发更加便捷。
- 主要功能是“提供网上信息浏览服务”。
- 常见的Web服务器:
- Tomcat
- jetty
- WebLogic
- WebSphere
- Tomcat
- 概念:Tomcat 是 Apache 软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持 Servlet/JSP 少量 JavaEE 规范。
- JavaEE:Java Enterprise Edition,Java企业版。指Java企业级开发的技术规范总和。包含13项技术:JDBC、JNDI、EJB、RMI、JSP、Servlet、XML、Java IDL、JTS、JTA、JavaMail、JAF
- Tomcat 也被称为 Web容器、Servlet容器。Servlet程序需要依赖 Tomcat才能运行
- 官网:https://tomcat.apache.org/
3.2 基本使用
3.2.1 下载
- 直接从官方网站下载:https://tomcat.apache.org/download-90.cgi
- 打开官网选择:
64-bit Windows zip(pgp,sha512) - Tomcat软件类型说明
- tar.gz文件,是linux和mac操作系统下的压缩版本
- zip文件,是window操作系统下压缩版本(我们选择zip文件)
3.2.2 安装与卸载
安装: Tomcat是绿色版,直接解压即安装
注意,Tomcat在解压缩的时候,解压所在的目录可以任意,但最好解压到一个==不包含中文和空格的目录==,因为后期在部署项目的时候,如果路径有中文或者空格可能会导致程序部署失败。
打开
Tomcat目录就能看到如下目录结构,每个目录中包含的内容需要认识下
bin:目录下有两类文件,一种是以
.bat结尾的,是Windows系统的可执行文件,一种是以.sh结尾的,是Linux系统的可执行文件。webapps:就是以后项目部署的目录
卸载:卸载比较简单,可以直接删除目录即可
3.2.3 启动与关闭
启动Tomcat
双击tomcat解压目录
/bin/startup.bat文件即可启动tomcat注意: tomcat服务器启动后,黑窗口不会关闭,只要黑窗口不关闭,就证明tomcat服务器正在运行
Tomcat的默认端口为8080,所以在浏览器的地址栏输入:
http://IP地址:8080即可访问tomcat服务器Tomcat启动的过程中,遇到控制台有中文乱码时,可以通常修改
conf/logging.prooperties文件解决1
java.util.logging.ConsoleHandler.encoding = GBK
关闭有三种方式
- 强制关闭:直接x掉Tomcat窗口(不建议)
- 正常关闭:
bin\shutdown.bat - 正常关闭:在Tomcat启动窗口中按下 Ctrl+C
3.2.4 部署项目
- Tomcat部署项目:
- 将项目放置到 webapps 目录下,即部署完成
3.2.5 常见问题
Tomcat启动时,窗口一闪而过
- 检查Java环境变量是否配置正确
端口号冲突
发生问题的原因:Tomcat使用的端口被占用了。
解决方案一:结束占用8080端口的程序
解决方案二:换Tomcat端口号,要想修改Tomcat启动的端口号,需要修改
conf/server.xml文件1
2
3
4
5<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxParameterCount="1000"
/>HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号。
3.3 入门程序解析
起步依赖:
- spring-boot-starter-web:包含了web应用开发所需要的常见依赖
- spring-boot-starter-test:包含了单元测试所需要的常见依赖
内嵌Tomcat
- 在我们的SpringBoot中,引入了web运行环境(也就是引入spring-boot-starter-web起步依赖),其内部已经集成了内置的Tomcat服务器。