您好,登錄后才能下訂單哦!
本篇內容主要講解“Request與Session的存值取值操作方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Request與Session的存值取值操作方法”吧!
request可以直接set進去
request.setAttribute("request", value);
"${request}" ------------ "${requestScope.request}"
或者想獲取key值中某一個valueBean對象
"${request.name}"
session需要先get一下獲取session然后才能set進去key,value值
request.getSession().setAttribute("session", value); ---------------------------------------------------- HttpSession session = request.getSession(); session.setAttribute("session", value);
"${sessionScope.session}"
說簡單點 request對象和session對象的最大區別是生命周期。
request范圍較小一些,只是一個請求。
request對象的生命周期是針對一個客戶端(說確切點就是一個瀏覽器應用程序)的一次請求,當請求完畢之后,request里邊的內容也將被釋放點 。
簡單說就是你在頁面上的一個操作,request.getParameter()就是從上一個頁面中的url、form中獲取參數。
但如果一個request涉及多個類,后面還要取參數,可以用request.setAttribute()和request.getAttribute()。
但是當結果輸出之后,request就結束了。
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的存值取值操作方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。