Attribute 和 Parameter 的區別


request.getParameter取得 Web客戶端(jsp )到web服務端的http請求數據(get/post),只能是 string類型的,而且HttpServletRequest沒有對應的setParameter()方法。
如利用href(url)和form請求服務器時,表單數據通過parameter傳遞到服務器,且只能為字符串。
兩個web組件為鏈接關系時,被鏈接組件通過getParameter來獲取請求參數。
 
request.getAttribute():當兩個web組件為轉發關系時,通過getAttribute()和setAttribute()來共享request范圍內的數據。attrubute中的數據是Object類型的,通過attribute傳遞的數據只會存在於web容器內部,僅僅是請求處理階段。
request.setAttribute是服務器把這個對象放在該頁面對應的一塊內存中,當發生服務器轉發時,會把這塊內存拷到另一頁面對應的內存中,這樣getAttribute就可以取到值,session也一樣,只是對象在內存的生命周期不一樣。
 
小結:request.getAttribute()方法返回request范圍內存在的對象,request.getParameter()獲取http請求提交過來的數據。
一般的Web應用,基本上是post方式的傳遞,用getParameter取值。對於自己控制的,可以通過request.setAttribute和getAttribute實現值的傳遞。
 
對於應用struts的,getAttribute用的多一點,其他的基本用getParameter,一個可以傳對象,一個只能傳字符串。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM