1. 程式人生 > >getAttribute()方法與getParameter()方法的區別

getAttribute()方法與getParameter()方法的區別

getAttribute()

方法


request.getAttribute()

request.getParameter()

的區別

?

HttpServletRequest

類既有

getAttribute()

方法,

也由

getParameter()

方法,

這兩個方法有以下區

別:

1

HttpServletRequest

類有

setAttribute()

方法,而沒有

setParameter()

方法

2

當兩個

Web

元件之間為連結關係時,

被連結的元件通過

getParameter()

方法來獲得請求

引數,

例如假定

welcome.jsp

authenticate.jsp

之間為連結關係,

welcome.jsp

中有以下程式碼:

<a href="authenticate.jsp?username=weiqin">authenticate.jsp </a> 

或者:

<form name="form1" method="post" action="authenticate.jsp"> 

請輸入使用者姓名:

<input type="text" name="username"> 

    <input type="submit" name="Submit" value="

提交

"> 

</form> 

authenticate.jsp

中通過

request.getParameter("username")

方法來獲得請求引數

username: 

<% String username=request.getParameter("username"); %> 

3

)當兩個

Web

元件之間為轉發關係時,轉發目標元件通過

getAttribute()

方法來和轉發源

元件共享

request

範圍內的資料。假定

authenticate.jsp

hello.jsp

之間為轉發關係。

authenticate.jsp

hello.jsp

資料

authenticate.jsp

中呼叫

setAttribute()

方法:

<% 

String username=request.getParameter("username"); 

request.setAttribute("username"

username); 

%> 

<jsp:forward page="hello.jsp" /> 

hello.jsp

中通過

getAttribute()

方法獲得使用者名稱字

<% String username=(String)request.getAttribute("usern

getAttribute()方法與get

ame"); %> 

Hello: <%=username %> 

從更深的層次考慮,

request.getParameter()

方法傳遞的資料,

會從

Web

客戶端傳到

Web

服務

器端,代表

HTTP

請求資料。

request.getParameter()

方法返回

String

型別的資料。

request.setAttribute()

getAttribute()

方法傳遞的資料只會存在於

Web

容器內部,在具有轉發

關係的

Web

元件之間共享。這兩個方法能夠設定

Object

型別的共享資料。

 request.getAttribute()

方法返回

request

範圍內存在的物件,而

request.getParameter()

方法是獲

http

提交過來的資料。

一般是

string

型用

request.getParameter 

物件的引用用

request.getAttribute 

當然啦,

String

也是物件

 

HttpServletRequest

類既有

getAttribute()

方法,

也由

getParameter()

方法,

這兩個方法有以下區

別:

1

HttpServletRequest

類有

setAttribute()

方法,而沒有

setParameter()

方法

2

當兩個

Web

元件之間為連結關係時,

被連結的元件通過

getParameter()

方法來獲得請求

引數,

例如假定

welcome.jsp

authenticate.jsp

之間為連結關係,

welcome.jsp

中有以下程式碼:

<a href="authenticate.jsp?username=weiqin">authenticate.jsp </a> 

或者:

<form name="form1" method="post" action="authenticate.jsp"> 

請輸入使用者姓名:

<input type="text" name="username"> 

    <input type="submit" name="Submit" value="

提交

"> 

</form> 

authenticate.jsp

中通過

request.getParameter("username")

方法來獲得請求引數

username: 

<% String username=request.getParameter("username"); %> 

3

)當兩個

Web

元件之間為轉發關係時,轉發目標元件通過

getAttribute()

方法來和轉發源

元件共享

request

範圍內的資料。假定

authenticate.jsp

hello.jsp

之間為轉發關係。

authenticate.jsp

hello.jsp

資料

authenticate.jsp

中呼叫

setAttribute()

方法:

<% 

String username=request.getParameter("username"); 

request.setAttribute("username"

username); 

%> 

<jsp:forward page="hello.jsp" /> 

hello.jsp

中通過

getAttribute()

方法獲得使用者名稱字

<% String username=(String)request.getAttribute("username"); %> 

Hello: <%=username %> 

從更深的層次考慮,

request.getParameter()

方法傳遞的資料,

會從

Web

客戶端傳到

Web

服務

器端,代表

HTTP

請求資料。

request.getParameter()

方法返回

String

型別的資料。

request.setAttribute()

getAttribute()

方法傳遞的資料只會存在於

Web

容器內部,在具有轉發

關係的

Web

元件之間共享。這兩個方法能夠設定

Object

型別的共享資料。

 request.getAttribute()

方法返回

request

範圍內存在的物件,而

request.getParameter()

方法是獲

http

提交過來的資料。

一般是

string

型用

request.getParameter 

物件的引用用

request.getAttribute 

當然啦,

String

也是物件