轉自:http://xiebh.iteye.com/blog/1006324
在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對象中。