1. 程式人生 > >request中引數(parameter)和屬性(Attribute)的區別

request中引數(parameter)和屬性(Attribute)的區別

在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