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. 深入理解CSS定位

    CSS中有3种定位机制:普通流,浮动和绝对定位.除非专门指定,否则所有框都在普通流中定位.顾名思义,普通流中元素框的位置由HTML元素的位置决定.块级框一个接一个地垂直排列,框之间的垂直距离由框的垂直 ...

  2. [hdu4628 Pieces]二进制子状态,DP

    题意:给一个长度为16的字符串,每次从里面删掉一个回文序列,求最少需要几次才能删掉所有字符 思路:二进制表示每个字符的状态,那么从1个状态到另一个状态有两种转移方式,一是枚举所有合法的回文子序列,判断 ...

  3. [acdream_oj1732]求1到n的最小公倍数(n<=1e8)

    题意:如标题 思路:如果n在10^6以内则可以用o(nlogn)的暴力,题目给定的是n<=1e8,暴力显然是不行的,考虑到1到n的最小公倍数可以写成2^p1*3^p2*5^p3*...这种素数的 ...

  4. 关于Tomcat+Nginx负载均衡与Jmeter服务器测压的日记

    Jmeter测压 1.Jmeter-5.1.1下载:http://mirror.bit.edu.cn/apache//jmeter/binaries/apache-jmeter-5.1.1.zip 2 ...

  5. zsy后台管理系统-界面

    自研平台:(java+vue+mysql+docker) 欢迎大家预览,指导! http://www.zsyai.top/dist 流程引擎 自定义定时任务: 一键生成前后端代码:

  6. Java 如何实现优雅停服?刨根问底

    在 Java 的世界里遨游,如果能拥有一双善于发现的眼睛,有很多东西留心去看,外加耐心助力,仔细去品,往往会品出不一样的味道. 通过本次分享,能让你轻松 get 如下几点,绝对收获满满. a)如何让 ...

  7. csdn code git下载运行的问题

    问题是,上传上去的脚本编码会有问题,老报 syntax error: unexpected end of file 搜索之,找到了 http://hi.baidu.com/homappy/item/f ...

  8. vue中mixins的使用方法和注意点(详2)(异步请求的情况)

    当混合里面包含异步请求函数,而我们又需要在组件中使用异步请求函数的返回值时,我们会取不到此返回值,如下: mixin中 组件中 控制台 解决方案:不要返回结果而是直接返回异步函数 mixin中 组件中 ...

  9. promise对象里resolve和reject状态讲解及Promise.all()的使用

    首先来说下同步异步与阻塞非阻塞的概念,同步异步与阻塞非阻塞并没有关系.同步异步主要是事情做完以后,如何进行处理.或者说关注的是一种消息通信机制. 同步的情况下,是由处理消息者自己去等待消息是否被触发: ...

  10. Angular 服务对象的作用范围

    1.高阶话题:服务对象的作用范围 声明服务提供者的方式: 方式1:在根模块中提供服务对象-----在整个应用中服务是单例 @Injectable({ providedIn:'root' }) expo ...