Ⅰ java中getAttribute和getParameter的區別
getAttribute是獲取域中的值,比如你往ServletContext域里存了一個name值,那就需要用getAttribute("name")獲取。
getParameter是獲取地址的參數,也就是地址?後面的參數,比如你表格提交get方法,默認會把要提交譽殲的參數以鍵值對的方式附加銀散在地鋒虛氏址後面,getParameter("name")就能獲取地址後面的值
Ⅱ java request.getParameter("id")
很顯然呀,你要去讀懂它
request.getParameter("id")這是獲取請求信息中的參數id的值
那麼請求信息從哪來的,自然是從a發過來的,a發過去的時候自然封裝的是一般來說是自己的id了
為什麼說是一般來說呢,畢竟我也不知道你的request信息中把id塞的到底是啥...說白了,你想獲取啥都是你自己說了算,因為請求信息是你發過去的啊
Ⅲ java中getAttribute和getParameter的區別
java中getAttribute和getParameter的區別
前者一般是容器之間的傳遞 , 比如從一個servlet到中絕另外一個servlet , 在前一個setAttribute ,在後一個servlet 獲取 getAttribute , 獲取到的是一個對象 , 值是存在request session里的 , 而後者 getParameter 一般是前後伏碰台交互賣廳姿獲取參數的 , 比如從js訪問介面 ,傳遞過來的參數 , 只存在於 http的請求里邊
Ⅳ java中getAttribute和getParameter的區別
1.getAttribute是取得jsp中 用setAttribute設定的attribute
2.parameter得到的是string;attribute得到的是object
3.request.getParameter()方法傳遞的數據,會從Web客戶端傳到Web伺服器端,代表HTTP請求數據;request.setAttribute()和getAttribute()方法傳遞的數據只會存在於Web容器內部,在具有轉發關系的Web組件之間共享。即request.getAttribute()方法返回request范圍內存在的對象,而request.getParameter()方法是獲取http提交過來的數據。
JSP中getParameter與getAttribute有何區別?
——說實話,這個問題當初我也困惑很久,我也知道怎麼用,可是到底有什麼區別,我也不是很清楚,後來找了很多資料才明白。昨天又有一位朋友問我這個問題,想我當缺銷銷初同樣也困惑過,於是我就把這個問題斗早貼出來,讓同樣困惑的朋友解惑。
——getParameter得到的都是String類型的。或者是http://a.jsp?id=123中的123,或者是某個表單提交過去的數據。
——getAttribute則可以是對象。
——getParameter()是獲取POST/GET傳遞的參數值;
——getAttribute()是獲取對象容器中的數據值;
——getParameter:用於客戶端重定向時,即點擊了鏈接或提交按扭時傳值用,即用於在用表單或url重定向傳值時接收數據用。
——getAttribute:用於伺服器端重定向時,即在sevlet中使用了forward函數,或struts中使用了mapping.findForward。getAttribute只能收到程序用setAttribute傳過來的值。
——getParameter()是獲取伏游POST/GET傳遞的參數值;
——getAttribute()是獲取SESSION的值;
另外,可以用setAttribute,getAttribute發送接收對象.而getParameter顯然只能傳字元串。
setAttribute是應用伺服器把這個對象放在該頁面所對應的一塊內存中去,當你的頁面伺服器重定向到另一個頁面時,應用伺服器會把這塊內存拷貝另一個頁面所對應的內存中。這樣getAttribute就能取得你所設下的值,當然這種方法可以傳對象。session也一樣,只是對象在內存中的生命周期不一樣而已。
getParameter只是應用伺服器在分析你送上來的request頁面的文本時,取得你設在表單或url重定向時的值。
getParameter 返回的是String, 用於讀取提交的表單中的值;
getAttribute 返回的是Object,需進行轉換,可用setAttribute設置成任意對象,使用很靈活,可隨時用;
Ⅳ java中getAttribute和getParameter的區別
1、HttpServletRequest類有setAttribute()方法,薯嘩而沒有setParameter()方法。
2、當兩個Web組件之間為鏈接關系時,被鏈接的組件通過getParameter()方法來獲得請求參數;request.getAttribute("name")。
Ⅵ java中getAttribute和getParameter的區別
java中getAttribute和getParameter的區別如下:
1、HttpServletRequest類有setAttribute()方法,而沒有setParameter()方法;
2、當兩個Web組件之間為鏈接關系時,被鏈接的組件通過getParameter()方法來獲得請求參數;request.getAttribute("name")。
例如,假定welcome.jsp和authenticate.jsp之間為鏈接關系,welcome.jsp中有以下代睜睜碼:
<a href="authenticate.jsp?username=qianyunlai.com">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 %>
4、request.getAttribute 返回的是Object,request.getParameter 返回的是String。
Ⅶ java中getAttribute和getParameter的區別
Java中getAttribute getParameter 區別
網上說的不少,發現都是同一篇,汗。。。。。
(1)HttpServletRequest類有setAttribute()方法,而沒有setParameter()方法
(2)當兩個Web組件之間為鏈接關系時,被鏈接的組件通過getParameter()方法來獲得請求參數,
(3)
當兩個Web組件之間為轉發關系時,轉發目標組件通過getAttribute()方法來和轉發源組件共享request范圍內的數據。
在一本書上看到若是正常則response.getRequestDispatcher(index.jsp).forward(req,resp),否
則的話是include(req,resp)(查看API得知RequestDispatcher只有那倆方法)。
getAttribute
是取得jsp中 用setAttribute設定的attribute
;parameter得到的是string,attribute得到的是object
;request.getParameter()方法傳遞的數據,會從Web客戶端傳到Web伺服器端,代表Http請求數據;舉臘皮
request.setAttribute()和getAttribute()方法傳遞的數據只會存在於Web容器內部,在具有轉發(很重要的哦)關系的
Web組件之間
共享,即request.getAttribute()方法返回request范圍內存在的對象,而request.getParameter()方法局肢是
獲取Http提交過來的數據,最後一條理論化些就是
getParameter用於客戶端重定向,即點擊了鏈接或提交按扭時傳值用,即用於在用表單(post)或url重定(get)向傳值時接收數據用,
getAttribute:用於伺服器端重定向時,即在sevlet中使用了forward函數,或struts中使用了
mapping.findForward。getAttribute只能收到程序用setAttribute傳過來的值。
getAttribute()是獲取SESSION的值;
另外,可以用setAttribute,getAttribute發送接收對象.而getParameter顯然只能傳字元串。
setAttribute
是應用伺服器把這個對象放在該頁面所對應的一塊內存中去,當你的頁面伺服器重定向到另一個頁面時,應用伺服器會把這塊內存拷貝另一個頁面所對應的內存中。
這樣getAttribute就能取得你所設下的值,當然這種方法可以傳對象。session也一樣,只是對象在內存中的生命周期不一樣而已。
getParameter()得到的值如果下次不提交或保存起來的話,下次重定向後就沒啦?
getAttribute()所要得到的屬性值因為存在session中,所以重定向後仍可以取出?
getAttribute()在request和session中都有,只是作用域不同,在取之前肯定是要在某個地方存一下,這種東東可以存取對象
這個問題主要是request和session的差別,request范圍較小一些,只是一個請求,簡單說就是你在頁面上的一個操作,
request.getParameter()就是從上一個頁面中的url、form中獲取參數(js獲取復選框
document.ElementById()),但如果一個正差request涉及多個類,後面還要取參數,可以用
request.setAttribute()和request.getAttribute(),但是當結果輸出之後,request就結束了。而session可以跨越很多頁面,可以理解是客戶端同一個IE窗口發出的多個請求。這之間都可以傳遞參數,比如很多網站的用戶登錄都用到了。