getAttribute與getParame的區別

2021-08-07 08:36:48 字數 1633 閱讀 1461

getattribute表示從request範圍取得設定的屬性,必須要先setattribute設定屬性,才能通過getattribute來取得,設定與取得的為object物件型別 

getparameter表示接收引數,引數為頁面提交的引數,包括:表單提交的引數、url重寫(就是***?id=1中的id)傳的引數等,因此這個並沒有設定引數的方法(沒有setparameter),而且接收引數返回的不是object,而是string型別

httpservletrequest類既有getattribute()方法,也由getparameter()方法,這兩個方法有以下區別:

(1)httpservletrequest類有setattribute()方法,而沒有setparameter()方法

(2)當兩個web元件之間為鏈結關係時,被鏈結的元件通過getparameter()方法來獲得請求引數,例如假定welcome.jsp和authenticate.jsp之間為鏈結關係,welcome.jsp中有以下**:

authenticate.jsp 

或者:在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);

%>

在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.getparameter()取得是通過容器的實現來取得通過類似post,get等方式傳入的資料,,  request.setattribute()和getattribute()只是在web容器內部流轉,僅僅是請求處理階段,這個的確是正解.

getattribute是返回物件,getparameter返回字串

request.getattribute()方法返回request範圍內存在的物件,而request.getparameter()方法是獲取http提交過來的資料。

getAttribute與getParame的區別

getattribute表示從request範圍取得設定的屬性,必須要先setattribute設定屬性,才能通過getattribute來取得,設定與取得的為object物件型別 getparameter表示接收引數,引數為頁面提交的引數,包括 表單提交的引數 url重寫 就是 id 1中的id ...

getAttribute與getParame的區別

getattribute表示從request範圍取得設定的屬性,必須要先setattribute設定屬性,才能通過getattribute來取得,設定與取得的為object物件型別 getparameter表示接收引數,引數為頁面提交的引數,包括 表單提交的引數 url重寫 就是 id 1中的id ...

GE與POST方法區別

get方法一般用於查詢並獲取資訊,這意味著它是冪等的 對同乙個url的多個請求,返回結果完全一樣 因為沒有修改資源狀態,所以它是安全的。而post一般用於更新資源資訊,既不是冪等,也不是安全的。get方法請求的資料會被瀏覽器快取下來,會留下歷史記錄。而post方法提交的資料不會被瀏覽器快取下來,不會...