1. 程式人生 > >Http get請求url中的參數和post請求中的body數據存放在哪裏了?後臺怎麽獲取?getParameter()作用最本質解釋。

Http get請求url中的參數和post請求中的body數據存放在哪裏了?後臺怎麽獲取?getParameter()作用最本質解釋。

類別 系統 param 官方 post tom header() 說明 string

轉載:https://blog.csdn.net/ZYK1746914945/article/details/85100575

相信很多人都和我有一樣的困惑,ServletRequest中getParameter()方法到底取的是什麽參數,這些參數又是怎麽放進去的,本文簡單的回答一下該問題:

首先話不多說,我們來看一下該方法的官方說明:

Returns the value of a request parameter as a String, or null if the parameter does not exist. Request parameters are extra information sent with the request. For HTTP servlets, parameters are contained in the query string or posted form data.

其實核心的一句話就是query string or posted form data,認真三遍這幾個單詞,此時大家是否已恍然大悟,也就是說getParameter()方法取的是query string 和 posted form data中的數據,那麽query string 和 posted form data又是指的啥呢?query string就是get請求中url的?後面的參數,posted form data就是post請求中的body數據,哈哈哈,到現在是不是覺得很有點感覺了;大家平時都是用的ajax請求,無論是get還是post,我們的請求參數都是可以放在data裏的,只不過ajax會判斷請求類別,如果是get請求的話,ajax會把data裏的值給拼接到url的後面。

好了,上面說了getParameter()方法取的是什麽數據的問題,那麽這些數據又是怎麽放進去的呢?我相信每個愛思考的人都會想過這個問題,可能百思不得其解。那我來告訴大家這些參數是tomcat放進去的,是不是有點小懵逼,tomcat又是怎麽放進去的呢,大家都知道tomcat是個容器,我們的http請求是會先經過tomcat進行處理的,它會分析http請求中的請求行、請求頭、數據三部分然後分別將其放到對應的位置中,這樣我們後臺就可以根據getParameter(),getHeader()等方法進行取值了。好了,我相信很多人都不知道http的請求消息格式是什麽樣子的,比如我上面說的請求行、請求頭、數據這三部分大家只是印象中好像有那麽幾個概念,但是並不知道這是http協議中所規定的,所以我建議大家好好去了解一下http協議,這樣才會對系統的交互流程有著最本質的了解。

看到這,大家可能會想問tomcat具體是怎麽處理的呢,哈哈哈,這個就需要去看tomcat的源碼了。
---------------------
作者:西雅圖的風
來源:CSDN
原文:https://blog.csdn.net/ZYK1746914945/article/details/85100575
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

Http get請求url中的參數和post請求中的body數據存放在哪裏了?後臺怎麽獲取?getParameter()作用最本質解釋。