https://mp.weixin.qq.com/s/PjcA22STEDGwRxVQweObQQ

Java Web中的Request对象是哪里来的?Response对象的角色是什么?

Java Web中的Session对象中信息是哪里来的?

词汇表

SRC: 源IP,源端口等
DST: 目的IP,目的端口等
Application Container: 应用容器,如Tomcat, Glassfish,解析执行Java Servlet, Structs等程序;
Browser: 浏览器
Client_Port: (1024, 65535), 不固定,创建Socket时,操作系统协议栈自主选择;

一. 通信拓扑图

典型交互过程如下:
1. 用户点击URL或按钮。注意,这里是在客户端电脑上,与服务端时物理隔离的,跨越高山和大海。
2. 浏览器将URL或按钮点击事件,按照HTTP协议,封装成HTTP请求信息,包括Headers/Content;
3. HTTP协议将请求内容下发给TCP协议:TCP协议加上TCP头(包括源端口和目的端口),传递给IP层;
4. IP协议加上IP头(包括源IP地址和目的IP地址),把TCP报文转换成IP包,然后交给数据链路层;
5. 数据链路层加上MAC头,交给物理层;
6. 物理层加上物理头,把帧转换成物理信号发送到网线上;
7. 中间设备(交换机、路由器、边界路由器)不停的变更MAC头、物理头,把IP分组转发到下一跳;
8. IP分组跨越高山和大海,来到了服务器;
9. 服务器逐层解封IP头,TCP头,把HTTP请求交给HTTP服务器;
10.HTTP服务器按照HTTP协议,解析HTTP请求头,把请求信息传递给应用容器;
11.应用容器把请求信息封装成Request对象,并创建Response对象。把Request/Response对象传递给URL处理程序(Action);
12.URL处理程序根据Request封装的请求信息,把响应信息写入Response对象之后结束;
13.应用容器把Response对象包含的信息,按照HTTP协议,转换成HTTP Response信息,包括响应头和响应内容;
14.HTTP服务器把HTTP Response信息,发送给浏览器;
15.层层封装...
16.跨越高山和大海;
17.浏览器接收到HTTP Response信息,把响应内容显示出来;

二. 最终化身:HTTP

浏览器和HTTP服务器之间通过HTTP协议进行交互,所有的沟通交流都通过HTTP进行。
包括:信息传递,命令请求等,命令本身也是信息。

1. 石器时代
所有的网页都是静态html页面,服务器根据请求的URL,直接以http形式返回html文件内容。
eg.

Request:
GET /news/today.html
Host: 192.168.68.51:8000
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
Accept: image/webp,image/apng,image/*,*/*;q=0.8
Referer: http://192.168.68.51:8000/index.jsp
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6 Response:
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Expires: Thu, 01 Jan 1970 00:00:02 GMT
Content-Type: image/jpeg;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 21 Jun 2018 04:57:27 GMT <html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="/styles/index.css?V=V808R08M03SP12">
<script type="text/javascript" src="/scripts/util.js?V=V808R08M03SP12"></script>
</head>
<body style="background-color: white;" onresize="setIndexTop();">
//////////////
</body>
</html>

2. 近现代
根据用户请求的URL选择shtml模板文件,使用动态信息替换模板中的特定位置,
如使用当前日期,替换文件中的<% date %>.
返回替换之后的文件内容。

用户请求的URL决定了选择的模板文件。

3. 现代

分工更明确,更细化。
HTTP Server处理HTTP协议,应用服务器执行处理程序。
AJAX进行异步处理。
URL对应到Action类,GET/POST/UPDATE/DELETE等方法对应到要执行的函数(RESTful);

三. 生命周期: Request/Response & Session & Application

这个针对服务端。

HTTP服务器和引用容器通常是一个应用里执行,进程启动时,Application即建立,在进程运行期间一直存在。

Session通常针对用户而言,用户无论是游客,还是登陆用户,通过浏览器第一次访问服务端时建立Session,
在之后的多次访问中,Session继续存在。一般情况下,Session会自动超时消失。用户登出时也会终止之前的Session。

浏览器每发起一次URL请求,都会创建和销毁Request/Response。

四. 应用容器的作用

PS.

请求MAC帧的内容,示例如下:

Packet Info
Packet Number: 315
Flags: 0x00000000
Status: 0x00000000
Packet Length: 667
Timestamp: 13:53:12.025787000 06/21/2018
Ethernet Type 2
Destination: D4:AE:52:C6:74:97 Dell:C6:74:97 [0-5]
Source: 34:17:EB:B7:09:4A [6-11]
Protocol Type: 0x0800 IP [12-13]
IP Version 4 Header - Internet Protocol Datagram
Version: 4 [14 Mask 0xF0]
Header Length: 5 (20 bytes) [14 Mask 0x0F]
Diff. Services: %00000000 [15]
0000 00.. Default
.... ..00 Not-ECT Total Length: 649 [16-17]
Identifier: 8245 [18-19]
Fragmentation Flags: %010 [20 Mask 0xE0]
0.. Reserved
.1. Do Not Fragment
..0 Last Fragment Fragment Offset: 0 (0 bytes) [20-21 Mask 0x1FFF]
Time To Live: 128 [22]
Protocol: 6 TCP - Transmission Control Protocol [23]
Header Checksum: 0x0000 Checksum invalid. Should be: 0xCE3A [24-25]
Source IP Address: 192.168.68.124 [26-29]
Dest. IP Address: 192.168.68.50 [30-33]
TCP - Transport Control Protocol
Source Port: 53347 [34-35]
Destination Port: 6080 [36-37]
Sequence Number: 3277077179 [38-41]
Ack Number: 2266623614 [42-45]
TCP Offset: 5 (20 bytes) [46 Mask 0xF0]
Reserved: %0000 [46 Mask 0x0F]
TCP Flags: %00011000 ...AP... [47]
0... .... (No Congestion Window Reduction)
.0.. .... (No ECN-Echo)
..0. .... (No Urgent pointer)
...1 .... Ack
.... 1... Push
.... .0.. (No Reset)
.... ..0. (No SYN)
.... ...0 (No FIN) Window: 64240 [48-49]
TCP Checksum: 0x0C7B Checksum invalid. Should be: 0xD73D [50-51]
Urgent Pointer: 0 [52-53]
No TCP Options
Application Layer
Data Area:
GET /xxxxxx/xx/x 47 45 54 20 2F 4E 4E 4E 4E 4E 4E 4E 4E 4E 4E 4E [54-69]
xxxx.aspx HTTP/1 6F 67 69 6E 2E 61 73 70 78 20 48 54 54 50 2F 31 [70-85]
.1..Host: xxxxxx 2E 31 0D 0A 48 4E 4E 4E 4E 4E 4E 4E 4E 4E 4E 4E [86-101]
xxxxxxxxxxx:6080 69 64 75 63 74 4E 4E 4E 4E 4E 4E 4E 4E 4E 4E 4E [102-117]
..Connection: ke 0D 0A 43 6F 6E 6E 65 63 74 69 6F 6E 3A 20 6B 65 [118-133]
ep-alive..Upgrad 65 70 2D 61 6C 69 76 65 0D 0A 55 70 67 72 61 64 [134-149]
e-Insecure-Reque 65 2D 49 6E 73 65 63 75 72 65 2D 52 65 71 75 65 [150-165]
sts: 1..User-Age 73 74 73 3A 20 31 0D 0A 55 73 65 72 2D 41 67 65 [166-181]
nt: Mozilla/5.0 6E 74 3A 20 4D 6F 7A 69 6C 6C 61 2F 35 2E 30 20 [182-197]
(Windows NT 6.1) 28 57 69 6E 64 6F 77 73 20 4E 54 20 36 2E 31 29 [198-213]
AppleWebKit/537 20 41 70 70 6C 65 57 65 62 4B 69 74 2F 35 33 37 [214-229]
.36 (KHTML, like 2E 33 36 20 28 4B 48 54 4D 4C 2C 20 6C 69 6B 65 [230-245]
Gecko) Chrome/6 20 47 65 63 6B 6F 29 20 43 68 72 6F 6D 65 2F 36 [246-261]
0.0.3112.113 Saf 30 2E 30 2E 33 31 31 32 2E 31 31 33 20 53 61 66 [262-277]
ari/537.36..Acce 61 72 69 2F 35 33 37 2E 33 36 0D 0A 41 63 63 65 [278-293]
pt: text/html,ap 70 74 3A 20 74 65 78 74 2F 68 74 6D 6C 2C 61 70 [294-309]
plication/xhtml+ 70 6C 69 63 61 74 69 6F 6E 2F 78 68 74 6D 6C 2B [310-325]
xml,application/ 78 6D 6C 2C 61 70 70 6C 69 63 61 74 69 6F 6E 2F [326-341]
xml;q=0.9,image/ 78 6D 6C 3B 71 3D 30 2E 39 2C 69 6D 61 67 65 2F [342-357]
webp,image/apng, 77 65 62 70 2C 69 6D 61 67 65 2F 61 70 6E 67 2C [358-373]
*/*;q=0.8..Accep 2A 2F 2A 3B 71 3D 30 2E 38 0D 0A 41 63 63 65 70 [374-389]
t-Encoding: gzip 74 2D 45 6E 63 6F 64 69 6E 67 3A 20 67 7A 69 70 [390-405]
, deflate..Accep 2C 20 64 65 66 6C 61 74 65 0D 0A 41 63 63 65 70 [406-421]
t-Language: zh-C 74 2D 4C 61 6E 67 75 61 67 65 3A 20 7A 68 2D 43 [422-437]
N,zh;q=0.8,en;q= 4E 2C 7A 68 3B 71 3D 30 2E 38 2C 65 6E 3B 71 3D [438-453]
0.6..Cookie: CCS 30 2E 36 0D 0A 43 6F 6F 6B 69 65 3A 20 43 43 53 [454-469]
=; ASP.NET_Sessi 3D 3B 20 41 53 50 2E 4E 45 54 5F 53 65 73 73 69 [614-629]
onId=14qdlj42ew1 6F 6E 49 64 3D 31 34 71 64 6C 6A 34 32 65 77 31 [630-645]
1gzzc2sj5xp2u... 31 67 7A 7A 63 32 73 6A 35 78 70 32 75 0D 0A 0D [646-661]
. 0A [662]
FCS - Frame Check Sequence
FCS: 0xBFDC4562 Calculated

响应MAC帧内容,示例如下:

Packet Info
Packet Number: 318
Flags: 0x00000000
Status: 0x00000000
Packet Length: 1518
Timestamp: 13:53:12.062176000 06/21/2018
Ethernet Type 2
Destination: 34:17:EB:B7:09:4A [0-5]
Source: D4:AE:52:C6:74:97 Dell:C6:74:97 [6-11]
Protocol Type: 0x0800 IP [12-13]
IP Version 4 Header - Internet Protocol Datagram
Version: 4 [14 Mask 0xF0]
Header Length: 5 (20 bytes) [14 Mask 0x0F]
Diff. Services: %00000000 [15]
0000 00.. Default
.... ..00 Not-ECT Total Length: 1500 [16-17]
Identifier: 17809 [18-19]
Fragmentation Flags: %010 [20 Mask 0xE0]
0.. Reserved
.1. Do Not Fragment
..0 Last Fragment Fragment Offset: 0 (0 bytes) [20-21 Mask 0x1FFF]
Time To Live: 128 [22]
Protocol: 6 TCP - Transmission Control Protocol [23]
Header Checksum: 0xA58B [24-25]
Source IP Address: 192.168.68.50 [26-29]
Dest. IP Address: 192.168.68.124 [30-33]
TCP - Transport Control Protocol
Source Port: 6080 [34-35]
Destination Port: 53347 [36-37]
Sequence Number: 2266623614 [38-41]
Ack Number: 3277077788 [42-45]
TCP Offset: 5 (20 bytes) [46 Mask 0xF0]
Reserved: %0000 [46 Mask 0x0F]
TCP Flags: %00010000 ...A.... [47]
0... .... (No Congestion Window Reduction)
.0.. .... (No ECN-Echo)
..0. .... (No Urgent pointer)
...1 .... Ack
.... 0... (No Push)
.... .0.. (No Reset)
.... ..0. (No SYN)
.... ...0 (No FIN) Window: 64240 [48-49]
TCP Checksum: 0xCD6F [50-51]
Urgent Pointer: 0 [52-53]
No TCP Options
Application Layer
Data Area:
HTTP/1.1 200 OK. 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D [54-69]
.Cache-Control: 0A 43 61 63 68 65 2D 43 6F 6E 74 72 6F 6C 3A 20 [70-85]
no-store..Pragma 6E 6F 2D 73 74 6F 72 65 0D 0A 50 72 61 67 6D 61 [86-101]
: no-cache..Cont 3A 20 6E 6F 2D 63 61 63 68 65 0D 0A 43 6F 6E 74 [102-117]
ent-Length: 4688 65 6E 74 2D 4C 65 6E 67 74 68 3A 20 34 36 38 38 [118-133]
..Content-Type: 0D 0A 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 [134-149]
text/html; chars 74 65 78 74 2F 68 74 6D 6C 3B 20 63 68 61 72 73 [150-165]
et=gb2312..Expir 65 74 3D 67 62 32 33 31 32 0D 0A 45 78 70 69 72 [166-181]
es: 0..Server: M 65 73 3A 20 30 0D 0A 53 65 72 76 65 72 3A 20 4D [182-197]
icrosoft-IIS/7.5 69 63 72 6F 73 6F 66 74 2D 49 49 53 2F 37 2E 35 [198-213]
..X-AspNet-Versi 0D 0A 58 2D 41 73 70 4E 65 74 2D 56 65 72 73 69 [214-229]
on: 4.0.30319..P 6F 6E 3A 20 34 2E 30 2E 33 30 33 31 39 0D 0A 50 [230-245]
3P: CP=CAO PSA O 33 50 3A 20 43 50 3D 43 41 4F 20 50 53 41 20 4F [246-261]
UR..P3P: CP=CAO 55 52 0D 0A 50 33 50 3A 20 43 50 3D 43 41 4F 20 [262-277]
PSA OUR..X-Power 50 53 41 20 4F 55 52 0D 0A 58 2D 50 6F 77 65 72 [278-293]
ed-By: ASP.NET.. 65 64 2D 42 79 3A 20 41 53 50 2E 4E 45 54 0D 0A [294-309]
Date: Thu, 21 Ju 44 61 74 65 3A 20 54 68 75 2C 20 32 31 20 4A 75 [310-325]
n 2018 05:51:52 6E 20 32 30 31 38 20 30 35 3A 35 31 3A 35 32 20 [326-341]
GMT......<!DOCTY 47 4D 54 0D 0A 0D 0A 0D 0A 3C 21 44 4F 43 54 59 [342-357]
PE html PUBLIC " 50 45 20 68 74 6D 6C 20 50 55 42 4C 49 43 20 22 [358-373]
-//W3C//DTD XHTM 2D 2F 2F 57 33 43 2F 2F 44 54 44 20 58 48 54 4D [374-389]
L 1.0 Transition 4C 20 31 2E 30 20 54 72 61 6E 73 69 74 69 6F 6E [390-405]
al//EN" "http:// 61 6C 2F 2F 45 4E 22 20 22 68 74 74 70 3A 2F 2F [406-421]
www.w3.org/TR/xh 77 77 77 2E 77 33 2E 6F 72 67 2F 54 52 2F 78 68 [422-437]
tml1/DTD/xhtml1- 74 6D 6C 31 2F 44 54 44 2F 78 68 74 6D 6C 31 2D [438-453]
transitional.dtd 74 72 61 6E 73 69 74 69 6F 6E 61 6C 2E 64 74 64 [454-469]
">..<html xmlns= 22 3E 0D 0A 3C 68 74 6D 6C 20 78 6D 6C 6E 73 3D [470-485]
"http://www.w3.o 22 68 74 74 70 3A 2F 2F 77 77 77 2E 77 33 2E 6F [486-501]
rg/1999/xhtml">. 72 67 2F 31 39 39 39 2F 78 68 74 6D 6C 22 3E 0D [502-517]
.<head><title>.. 0A 3C 68 65 61 64 3E 3C 74 69 74 6C 65 3E 0D 0A [518-533]
.......</title>. 09 B5 C7 C2 BD 0D 0A 3C 2F 74 69 74 6C 65 3E 0D [534-549]
..... <script 0A 0D 0A 0D 0A 20 20 20 20 3C 73 63 72 69 70 74 [550-565]
language="JavaS 20 6C 61 6E 67 75 61 67 65 3D 22 4A 61 76 61 53 [566-581]
cript" src="./.. 63 72 69 70 74 22 20 73 72 63 3D 22 2E 2F 2E 2E [582-597]
/Comm/JScript.js 2F 43 6F 6D 6D 2F 4A 53 63 72 69 70 74 2E 6A 73 [598-613]
"></script>.. 22 3E 3C 2F 73 63 72 69 70 74 3E 0D 0A 20 20 20 [614-629]
<meta http-equiv 3C 6D 65 74 61 20 68 74 74 70 2D 65 71 75 69 76 [630-645]
="Page-Enter" co 3D 22 50 61 67 65 2D 45 6E 74 65 72 22 20 63 6F [646-661]
ntent="revealTra 6E 74 65 6E 74 3D 22 72 65 76 65 61 6C 54 72 61 [662-677]
ns(duration=0.5, 6E 73 28 64 75 72 61 74 69 6F 6E 3D 30 2E 35 2C [678-693]
transition=8)" 20 74 72 61 6E 73 69 74 69 6F 6E 3D 38 29 22 20 [694-709]
/>.. <script l 2F 3E 0D 0A 20 20 20 3C 73 63 72 69 70 74 20 6C [710-725]
anguage="JavaScr 61 6E 67 75 61 67 65 3D 22 4A 61 76 61 53 63 72 [726-741]
ipt" src="./../C 69 70 74 22 20 73 72 63 3D 22 2E 2F 2E 2E 2F 43 [742-757]
omm/JS/Calendar/ 6F 6D 6D 2F 4A 53 2F 43 61 6C 65 6E 64 61 72 2F [758-773]
WdatePicker.js" 57 64 61 74 65 50 69 63 6B 65 72 2E 6A 73 22 20 [774-789]
defer="defer" >< 64 65 66 65 72 3D 22 64 65 66 65 72 22 20 3E 3C [790-805]
/script>.. <me 2F 73 63 72 69 70 74 3E 0D 0A 20 20 20 3C 6D 65 [806-821]
ta http-equiv="C 74 61 20 68 74 74 70 2D 65 71 75 69 76 3D 22 43 [822-837]
ache-Control" co 61 63 68 65 2D 43 6F 6E 74 72 6F 6C 22 20 63 6F [838-853]
ntent="no-store" 6E 74 65 6E 74 3D 22 6E 6F 2D 73 74 6F 72 65 22 [854-869]
/><meta http-eq 20 2F 3E 3C 6D 65 74 61 20 68 74 74 70 2D 65 71 [870-885]
uiv="Expires" co 75 69 76 3D 22 45 78 70 69 72 65 73 22 20 63 6F [886-901]
ntent="0" /><met 6E 74 65 6E 74 3D 22 30 22 20 2F 3E 3C 6D 65 74 [902-917]
a http-equiv="Pr 61 20 68 74 74 70 2D 65 71 75 69 76 3D 22 50 72 [918-933]
agma" content="n 61 67 6D 61 22 20 63 6F 6E 74 65 6E 74 3D 22 6E [934-949]
o-cache" />..<st 6F 2D 63 61 63 68 65 22 20 2F 3E 0D 0A 3C 73 74 [950-965]
yle type="text/ 79 6C 65 20 20 74 79 70 65 3D 22 74 65 78 74 2F [966-981]
css">..body..{.. 63 73 73 22 3E 0D 0A 62 6F 64 79 0D 0A 7B 0D 0A [982-997]
.margin: 0 auto; 09 6D 61 72 67 69 6E 3A 20 30 20 61 75 74 6F 3B [998-1013]
...font-size: 14 0D 0A 09 66 6F 6E 74 2D 73 69 7A 65 3A 20 31 34 [1014-1029]
px;...color: #00 70 78 3B 0D 0A 09 63 6F 6C 6F 72 3A 20 23 30 30 [1030-1045]
0;...line-height 30 3B 0D 0A 09 6C 69 6E 65 2D 68 65 69 67 68 74 [1046-1061]
: 20px;...font-f 3A 20 32 30 70 78 3B 0D 0A 09 66 6F 6E 74 2D 66 [1062-1077]
amily: ....;...t 61 6D 69 6C 79 3A 20 CB CE CC E5 3B 0D 0A 09 74 [1078-1093]
ext-align:center 65 78 74 2D 61 6C 69 67 6E 3A 63 65 6E 74 65 72 [1094-1109]
;...width:80%;.. 3B 0D 0A 09 77 69 64 74 68 3A 38 30 25 3B 0D 0A [1110-1125]
}.. #ImgIc 7D 0D 0A 20 20 20 20 20 20 20 23 49 6D 67 49 63 [1126-1141]
on.. {.. 6F 6E 0D 0A 20 20 20 20 20 20 20 7B 0D 0A 20 20 [1142-1157]
.width:8px; 20 20 20 20 20 09 77 69 64 74 68 3A 38 70 78 3B [1158-1173]
.. .height 0D 0A 20 20 20 20 20 20 20 09 68 65 69 67 68 74 [1174-1189]
:8px;.. }. 3A 38 70 78 3B 0D 0A 20 20 20 20 20 20 20 7D 0D [1190-1205]
..Baner..{.. 0A 2E 42 61 6E 65 72 0D 0A 7B 0D 0A 20 20 20 20 [1206-1221]
text-align:cente 74 65 78 74 2D 61 6C 69 67 6E 3A 63 65 6E 74 65 [1222-1237]
r;..}...Footer.. 72 3B 0D 0A 7D 0D 0A 2E 46 6F 6F 74 65 72 0D 0A [1238-1253]
{.. text-alig 7B 0D 0A 20 20 20 20 74 65 78 74 2D 61 6C 69 67 [1254-1269]
n:center;.. b 6E 3A 63 65 6E 74 65 72 3B 0D 0A 20 20 20 20 62 [1270-1285]
ackground-color: 61 63 6B 67 72 6F 75 6E 64 2D 63 6F 6C 6F 72 3A [1286-1301]
Gray;.. font- 47 72 61 79 3B 0D 0A 20 20 20 20 66 6F 6E 74 2D [1302-1317]
style:normal;.. 73 74 79 6C 65 3A 6E 6F 72 6D 61 6C 3B 0D 0A 20 [1318-1333]
float:inheri 20 20 20 20 66 6C 6F 61 74 3A 69 6E 68 65 72 69 [1334-1349]
t;..}...Main..{. 74 3B 0D 0A 7D 0D 0A 2E 4D 61 69 6E 0D 0A 7B 0D [1350-1365]
. height:100% 0A 20 20 20 20 68 65 69 67 68 74 3A 31 30 30 25 [1366-1381]
;..}....div#Top. 3B 0D 0A 7D 0D 0A 0D 0A 64 69 76 23 54 6F 70 0D [1382-1397]
.{.. backgrou 0A 7B 0D 0A 20 20 20 20 62 61 63 6B 67 72 6F 75 [1398-1413]
nd-position: rig 6E 64 2D 70 6F 73 69 74 69 6F 6E 3A 20 72 69 67 [1414-1429]
ht center;.. 68 74 20 63 65 6E 74 65 72 3B 0D 0A 20 20 20 20 [1430-1445]
margin: 0px;.. 6D 61 72 67 69 6E 3A 20 30 70 78 3B 0D 0A 20 20 [1446-1461]
padding: 0px 3 20 20 70 61 64 64 69 6E 67 3A 20 30 70 78 20 33 [1462-1477]
0px 0px 0px;.. 30 70 78 20 30 70 78 20 30 70 78 3B 0D 0A 20 20 [1478-1493]
height: 100%;. 20 20 68 65 69 67 68 74 3A 20 31 30 30 25 3B 0D [1494-1509]
. 0A 20 20 20 [1510-1513]
FCS - Frame Check Sequence
FCS: 0xF481CF5F Calculated

Web-从Java Request对象到HTTP协议的更多相关文章

  1. Web核心之Request对象

    HTTP协议中Request请求部分格式 //请求行(这种是POST类型的请求) POST /HttpServleLogin.html HTTP/1.1 //请求头(User-Agent里有Firef ...

  2. JAVA-JSP内置对象之request对象的其他方法

    相关资料:<21天学通Java Web开发> request对象的其他方法1.request对象除了可以用来获得请求参数,还可以用来获得HTTP标头及其他信息. 方法           ...

  3. JAVA-JSP内置对象之request对象参数

    相关资料:<21天学通Java Web开发> request对象1.request对象不但可以用来设置和取得requset范围变量,还可以用来获得客户端请求参数请求的来源.表头.cooki ...

  4. [原创]java WEB学习笔记47:Servlet 监听器简介, ServletContext(Application 对象), HttpSession (Session 对象), HttpServletRequest (request 对象) 监听器,利用listener理解 三个对象的生命周期

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  5. Java web 中的HttpServletRequest对象

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  6. 9.Java web—JSP内置对象

    容器内置了9大对象,这些对象在jsp页无需实例化,可以直接使用. 分别为request. response .session. application .out. pageContext .confi ...

  7. Java 之 Request 对象

    一.Request 对象和 Response 对象原理 request和response对象是由服务器创建的,供我们使用的. request对象是来获取请求消息,response对象是来设置响应消息. ...

  8. Request对象 --web浏览器向web服务端的请求

    一]Request对象常用方法        1)StringBuffer getRequestURL()            url表示访问web应用的完整路径            2)Stri ...

  9. Java面试题之Request对象的主要方法

    setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值 getAt ...

随机推荐

  1. Vue列表实现滚动到指定位置样式改变

    这个需求大概是这样子: 我做的一个聊天Demo,在搜索框搜索用户,可以滚动到指定的用户.然后成选中状态. 这是目前状态,我搜索 南宫仆射 ,想要下面的用户列表直接滚动到 南宫仆射 并改变CSS样式. ...

  2. ASP.NET Core Blazor 初探之 Blazor WebAssembly

    最近Blazor热度很高,传说马上就要发布正式版了,做为微软脑残粉,赶紧也来凑个热闹,学习一下. Blazor Blazor是微软在ASP.NET Core框架下开发的一种全新的Web开发框架.Bla ...

  3. 【HBase】快速搞定HBase与Hive的对比、整合

    目录 对比 整合 需求一 步骤 一.将HBase的五个jar包拷贝到Hive的lib目录下 二.修改hive的配置文件 三.在Hive中建表 四.创建hive管理表与HBase映射 五.在HBase中 ...

  4. indexDB解决过的难题

    我第一次使用indexDB是1年前(2018年10月),运用这个黑科技,解决过3个异常棘手的问题(如果不是indexDB 几乎找不到其他解决方案)所以我经常强调,前端一定要学indexDB! 难题一: ...

  5. [hdu4763]next数组的应用

    http://acm.hdu.edu.cn/showproblem.php?pid=4763 题目大意:给一个字符串,判断是否可以写成ABACA,B.C表示长度大于等于0的字符串. 方法:ans = ...

  6. Python Web自动化测试入门与实战,从入门到入行

    Python Web自动化测试入门与实战 购买地址 · 京东:https://item.jd.com/69239480564.html   天猫:https://detail.tmall.com/it ...

  7. javascript操作字符串间隔显示随机颜色

    参考了另一篇文章 https://www.cnblogs.com/zjfree/p/11584177.html,原理在这篇文章已经有详细描述了. 然后结合自己的一些js基础,当然改成jquery也可以 ...

  8. DNSlog注入学习

    之前一直有看到过DNSlog这个字眼,但一直没有好好去了解一下,最近又接触到了刚好来深入学习下 0x01 什么是DNSlog 我们都知道DNS就是将域名解析为ip,用户在浏览器上输入一个域名A.com ...

  9. python实现边缘提取

    1.  题目描述 安装opencv环境,实现边缘提取 2.  实现过程 1. 安装opencv+python环境 2. 打开图片 3. 将图片二值化 4. 提取边缘 5. 显示图片 3.  运行结果 ...

  10. Anaconda3中的Jupyter notebook添加目录插件

    学习python和人工智能的相关课程时安装了Anaconda3,想在Jupyter notebook中归纳整理笔记,为了方便日后查找想安装目录(Table of Contents, TOC)插件,查找 ...