day01-SpringBootWeb入门
day01
Maven 总结
作用
- 依赖管理
方便管理项目的依赖(jar)包,避免版本冲突问题,只需要在pom.xml中添加一段配置即可。 - 统一项目结构
可以生成统一的项目结构 - 项目构建
Maven提供了跨平台,自动化项目构建方式,Maven提供了一套简单的命令来实现编译、测试、打包、发布等操作
SpringBootWeb总结
1,信息交互

浏览器:
-
输入网址:
http://192.168.100.11:8080/hello-
通过IP地址192.168.100.11定位到网络上的一台计算机
我们之前在浏览器中输入的localhost,就是127.0.0.1(本机)
-
通过端口号8080找到计算机上运行的程序
localhost:8080, 意思是在本地计算机中找到正在运行的8080端口的程序 -
/hello是请求资源位置
- 资源:对计算机而言资源就是数据
- web资源:通过网络可以访问到的资源(通常是指存放在服务器上的数据)
localhost:8080/hello,意思是向本地计算机中的8080端口程序,获取资源位置是/hello的数据- 8080端口程序,在服务器找/hello位置的资源数据,发给浏览器
- 资源:对计算机而言资源就是数据
-
服务器:(可以理解为ServerSocket)
- 接收到浏览器发送的信息(如:/hello)
- 在服务器上找到/hello的资源
- 把资源发送给浏览器
我们在JavaSE阶段学习网络编程时,有讲过网络三要素:
- IP :网络中计算机的唯一标识
- 端口 :计算机中运行程序的唯一标识
- 协议 :网络中计算机之间交互的规则
2,HTTP协议
2.1 特点
- 基于TCP协议:面向连接,安全
TCP是一种面向连接的(建立连接之前是需要经过三次握手)、可靠的、基于字节流的传输层通
信协议,在数据传输方面更安全 - 基于请求-响应模型
一次请求对应一次响应(先请求后响应,没有请求,就没有响应
- HTTP协议是无状态协议: 对于数据没有记忆能力。每次请求-响应都是独立的
- 缺点: 多次请求间不能共享数据,java提出了使用会话技术(Cookie、Session)来解决这个问题
- 优点: 速度快
2.2 请求协议
分为:请求协议和响应协议
- 请求协议:浏览器(前端)将数据以请求格式发送到服务器(后端)
- 请求协议:请求行、请求头 、请求体
- 响应协议:响应行 、响应头 、响应体
最常见的几种浏览器访问服务器的方式:
| 请求方式 | 请求说明 |
|---|---|
| GET | 获取资源。 向特定的资源发出请求。例:http://www.baidu.com/s?wd=itheima |
| POST | 传输实体主体。 向指定资源提交数据进行处理请求(例:上传文件),数据被包含在请求体中。 |
| OPTIONS | 返回服务器针对特定资源所支持的HTTP请求方式。 因为并不是所有的服务器都支持规定的方法,为了安全有些服务器可能会禁止掉一些方法,例如:DELETE、PUT等。那么OPTIONS就是用来询问服务器支持的方法。 |
| HEAD | 获得报文首部。 HEAD方法类似GET方法,但是不同的是HEAD方法不要求返回数据。通常用于确认URI的有效性及资源更新时间等。 |
| PUT | 传输文件。 PUT方法用来传输文件。类似FTP协议,文件内容包含在请求报文的实体中,然后请求保存到URL指定的服务器位置。 |
| DELETE | 删除文件。 请求服务器删除Request-URI所标识的资源 |
| TRACE | 追踪路径。 回显服务器收到的请求,主要用于测试或诊断 |
| CONNECT | 要求用隧道协议连接代理。 HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 |
GET请求和POST请求的区别:
| 区别方式 | GET请求 | POST请求 |
|---|---|---|
| 请求参数 | 请求参数在请求行中。 例:/brand/findAll?name=OPPO&status=1 |
请求参数在请求体中 |
| 请求参数长度 | 请求参数长度有限制(浏览器不同限制也不同) | 请求参数长度没有限制 |
| 安全性 | 安全性低。原因:请求参数暴露在浏览器地址栏中。 | 安全性相对高 |
响应状态码分类
- 4xx 客户端错误
处理发生错误,责任在客户端,如:
客户端的请求一个不存在的资源,客户端未被授权,禁止访问等- 5xx 服务器端错误
处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,
HTTP版本不支持等
3,WEB服务器-Tomcat
服务器

3.1 Web服务器
Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作
(不用程序员自己写代码去解析http协议规则),让Web开发更加便捷。主要功能是"提供网上信息浏览服
务"。
在我们的SpringBoot中,引入了web运行环境(也就是引入spring-boot-starter-web起步
依赖),其内部已经集成了内置的Tomcat服务器。
我们可以通过IDEA开发工具右侧的maven面板中,就可以看到当前工程引入的依赖。其中已经将
Tomcat的相关依赖传递下来了,也就是说在SpringBoot中可以直接使用Tomcat服务器。

浙公网安备 33010602011771号