Request和Session的區別

2022-09-22 22:21:21 字數 1240 閱讀 6560

說簡單點 request物件和session物件的最大區別是生命週期。

request

request範圍較小一些,只是乙個請求。

request物件的生命週期是針對乙個客戶端(說確切點就是乙個瀏覽器應用程式)的一次請求,當請求完畢之後,request裡邊的內容也將被釋放點 。

簡單說就是你在頁面上的乙個操作,request.getparameter()就是從上乙個頁面中的url、form中獲取引數。

但如果乙個request涉及多個類,後面還要取引數,可以用request.setattribute()和request.getattribute()。

但是當結果輸出之後,request就結束了。   

session

session可以跨越很多頁面。

而session的生命週期也是針對乙個客戶端,但是卻是在別人設定的會話週期內(一般是20-30分鐘),session裡邊的內容將一直存在,即便關閉了這個客戶端瀏覽器 session也不一定會馬上釋放掉的。

可以理解是客戶端同乙個ie視窗發出的多個請求。

這之間都可以傳遞引數,比如很多**的使用者登入都用到了。 比較

request占用資源比較少,安全性也比較高,可是相對來說缺乏持續性。

session則相對來說對資源的消耗會大點,安全性相對來說也會稍微低點,可是它能實現比如會話跟蹤技術。

如果可以使用request的情況下,盡量使用request 因為相對於伺服器來說資源的消耗還是比較重要的。

在傳遞頁面過程中request傳遞到下一頁面就不能再傳遞了,而sesison卻不如此,即request僅限於2個相鄰的頁面

每按乙個網頁上的乙個鏈結就是乙個新的request,當伺服器返回給瀏覽器乙個response時,request就結束了,此時儲存在request中的物件就不存在了,

但是當你用乙個瀏器連到伺服器上時application-server會新開乙個session給你,當連線超時或瀏覽器關閉時session才銷毀。

所以說作用的範圍是不一樣,session也就可以跟蹤使用者的狀態。

session相當於是乙個客戶端的全域性變數,

比如a機與伺服器第一次訪問時設定session.setattribute("aaa")="computera".則在a機訪問繼續訪問的任意乙個頁面都可以取的session.getattribute("aaa")的值是computera;   

request是某一次訪問的局域變數,

生命週期只是一次請求。因此login的變數應該放在session中

request和session的區別

說簡單點 request物件和session物件的最大區別是生命週期。request範圍較小一些,只是乙個請求。request物件的生命週期是針對乙個客戶端 說確切點就是乙個瀏覽器應用程式 的一次請求,當請求完畢之後,request裡邊的內容也將被釋放點 簡單說就是你在頁面上的乙個操作,reques...

asp中的request和session物件

request物件的cookies集合用來取得使用者的相關資訊 response物件的cookies集合負責將資料設定到瀏覽器 相同點 不同點 session 儲存或跟蹤使用者資料 session儲存在伺服器端 cookies 儲存或跟蹤使用者資料 cookies儲存在客戶端 因為session資料...

jsp中request和session的區別

request 請求 session 會話 客戶端到伺服器的一次操作 請求 同乙個客戶端和伺服器的多次請求 互動 只能傳遞同乙個請求中的值 如果多個jsp之間使用的是response.sendredirect string path 重定向,那值就無法進行傳遞 只要在乙個會話中,可以一直傳值,一次性...