request.getParameter()與request.setAttribute()的區別(轉)

logjiang發表於2010-06-28
(1)request.getParameter()取得是透過容器的實現來取得透過類似post,get等方式傳入的資料,request.setAttribute()和getAttribute()只是在web容器內部流轉,僅僅是請求處理階段。
(2)request.getParameter()方法傳遞的資料,會從Web客戶端傳到Web伺服器端,代表HTTP請求資料。request.getParameter()方法返回String型別的資料。
request.setAttribute()和getAttribute()方法傳遞的資料只會存在於Web容器內部
還有一點就是,HttpServletRequest類有setAttribute()方法,而沒有setParameter()方法。
拿一個例子來說一下吧,假如兩個WEB頁面間為連結關係時,就是說要從1.jsp連結到2.jsp時,被連結的是2.jsp可以透過getParameter()方法來獲得請求引數.
假如1.jsp裡有
請輸入使用者姓名:
的話在2.jsp中透過request.getParameter("username")方法來獲得請求引數username:
***
但是如果兩個WEB間為轉發關係時,轉發目的WEB可以用getAttribute()方法來和轉發源WEB共享request範圍內的資料,也還是說一個例子吧。
有1.jsp和2.jsp
1.jsp希望向2.jsp傳遞當前的使用者名稱字,如何傳遞這一資料呢?先在1.jsp中呼叫如下setAttribute()方法:
String username=request.getParameter("username");
request.setAttribute("username",username);
%>
在2.jsp中透過getAttribute()方法獲得使用者名稱字:
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/67798/viewspace-1034722/,如需轉載,請註明出處,否則將追究法律責任。

相關文章