request中引數(parameter)和屬性(Attribute)的區別
阿新 • • 發佈:2019-02-18
在JAVA WEB開發中經常遇到獲取請求引數的值和在request物件中set或者get屬性,初學者往往容易混淆,那麼二者之間關係到底如何呢?下面是個人的總結:
區別:
共同點
區別:
- 來源不同: 引數(parameter)是從客戶端(瀏覽器)中由使用者提供的,若是GET方法是從URL中
提供的,若是POST方法是從請求體(request body)中提供的;
屬性(attribute)是伺服器端的元件(JSP或者Servlet)利用requst.setAttribute()設定的 - 操作不同: 引數(parameter)的值只能讀取不能修改,讀取可以使用request.getParameter()讀取;
屬性(attribute)的值既可以讀取亦可以修改,讀取可以使用request.setAttribute(),設定可使用request.getAttribute() - 資料型別不同: 引數(parameter)不管前臺傳來的值語義是什麼,在伺服器獲取時都以String型別看待,並且客戶端的引數值只能是簡單型別的值,不能是複雜型別,比如一個物件。
屬性(attribute)的值可以是任意一個Object型別。
共同點
二者的值都被封裝在request物件中。
原文:http://xiebh.iteye.com/blog/1006324