注意:我们以后编写Servlet类时,不会直接继承GenericServlet类,因为我们是B/S结构系统,这种系统是基于HTTP超文本传输协议的,他有一个专门的Servlet类。我们编程的时候要继承HttpServlet,其处理更方便。我们也没白学,因为HttpServlet继承GenericServlet。
连接池:
线程池:
什么是超文本?
这种协议游走在B和S之间,B和S之间传输数据都要遵循该协议,这样B和S才能解耦合(即B不依赖S,S不依赖B)。
HTTP协议包括:
HTTP请求协议:
HTTP请求协议包括四部分:
HTTP请求协议的具体报文:GET请求
GET /servlet01/getServlet?username=jack&password=123456 HTTP/1.1 //请求行
Accept: //请求头text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Connection: keep-alive
Host: localhost:8080
Referer: http://localhost:8080/servlet01/index.html
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52
sec-ch-ua: "Chromium";v="106", "Microsoft Edge";v="106", "Not;A=Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
//空白行
//请求体
请求行
请求头
空白行
HTTP请求协议的具体报文:POST请求
POST /servlet01/postServlet HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cache-Control: max-age=0
Connection: keep-alive
Content-Length: 26
Content-Type: application/x-www-form-urlencoded
Host: localhost:8080
Origin: http://localhost:8080
Referer: http://localhost:8080/servlet01/index.html
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52
sec-ch-ua: "Chromium";v="106", "Microsoft Edge";v="106", "Not;A=Brand";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
username=jack&password=123456 //请求体
HTTP响应协议:
HTTP响应协议包括四部分:
HTTP响应协议的具体报文:
HTTP/1.1 200 ok //状态行
Content-Type: text/html;charset=utf-8 //响应头
Content-Length: 110
Date: Tue, 25 Oct 2022 14:16:17 GMT
Keep-Alive: timeout=20
Connection: keep-alive
//响应体
from get servlet
from get servlet
怎么看协议内容:打开浏览器,按F12
只有两种情况可以发送POST请求:使用form表单,并且form标签中的method属性值为:post,或者做文件上传,用post
其他所有情况都是用get
get请求和post请求有什么区别?