JSP 中request中g(shù)etParameter與getAttribute區(qū)別

2022-06-12發(fā)布者:ylm大?。?/span> 下載:0

文件大小:

軟件介紹

在超鏈接里帶的參數(shù)用。。request.getParameter(參數(shù)名)

HttpServletRequest類既有g(shù)etAttribute()方法,也由getParameter()方法,這兩個方法有以下區(qū)別:

(1)HttpServletRequest類有setAttribute()方法,而沒有setParameter()方法

(2)當兩個Web組件之間為鏈接關(guān)系時,被鏈接的組件通過getParameter()方法來獲得請求參數(shù),例如假定welcome.jsp和authenticate.jsp之間為鏈接關(guān)系,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")方法來獲得請求參數(shù)username:

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

(3)當兩個Web組件之間為轉(zhuǎn)發(fā)關(guān)系時,轉(zhuǎn)發(fā)目標組件通過getAttribute()方法來和轉(zhuǎn)發(fā)源組件共享request范圍內(nèi)的數(shù)據(jù)。假定authenticate.jsp和hello.jsp之間為轉(zhuǎn)發(fā)關(guān)系。authenticate.jsp希望向hello.jsp傳遞當前的用戶名字,如何傳遞這一數(shù)據(jù)呢?先在authenticate.jsp中調(diào)用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()方法傳遞的數(shù)據(jù),會從Web客戶端傳到Web服務器端,代表HTTP請求數(shù)據(jù)。request.getParameter()方法返回String類型的數(shù)據(jù)。

request.setAttribute()和getAttribute()方法傳遞的數(shù)據(jù)只會存在于Web容器內(nèi)部,在具有轉(zhuǎn)發(fā)關(guān)系的Web組件之間共享。這兩個方法能夠設(shè)置Object類型的共享數(shù)據(jù)

簡單來講request.getParamenter()方法使用的是HTTP協(xié)議來傳遞數(shù)據(jù),只能傳遞String類型的信息,而request.setAttribtute()方法傳遞數(shù)據(jù)是在WEB容器中傳遞,可以轉(zhuǎn)發(fā)任意類型的對象信息,比如一個listAction的servlet想傳給list.jsp一個LIST集合,則必須使用setAttribute

發(fā)表評論(共0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評論內(nèi)容只代表網(wǎng)友觀點,發(fā)表審核后顯示!

版權(quán)聲明:

1 本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔!

2 本站將不對任何資源負法律責任,所有資源請在下載后24小時內(nèi)刪除。

3 若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系。

4 如侵犯了您的版權(quán)、商標等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784

返回頂部