中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

了解java中的session

發布時間:2020-09-12 22:20:34 來源:腳本之家 閱讀:154 作者:小周 欄目:編程語言

先看看對session的一個比較好的闡述:

session就是一個會話 ,在瀏覽器不關閉的前提下,可以保存用戶的信息,就是象一個臨時的容器,來存放這些臨時的東西。比如登錄的保存用戶信息從一個網頁跳轉到另一個網頁,用戶信息就可以用session保存網站購物車可以用session實現

為什么需要Session

這是為了填補 Http 協議的局限,當用戶去訪問一個頁面,服務端返回完了請求(如,你訪問完一個網頁,這個頁面將頁面內容,界面UI呈現給你),就算是結束了,就斷開了,服務端不再去追蹤客戶端(瀏覽器)的任務狀態,所以 Http 的每次請求都是獨立的,非連續的,Http 也稱為無狀態協議。那我們如果想在一個場合,或是一個特定過程,操作些用戶自己的數據,就會很麻煩,甚至很危險。比如你可以通過 url 傳參數的方式與服務器交互,并實現操作;

Session(會話) 的出現就解決了這樣的問題,Session是創建在服務端的,在一定的時間后,由服務端來消毀。在這段時間,客戶端與服務端的會話就會保持著,客戶端就會利用服務端上的 Session 信息來找到或操作一些數據;

如何使用 Session

Java Api 只給我們一種方式來 獲取 當前會話相關的 session:

HttpSession session = request.getSession();
//或
HttpSession session = request.getSession(boolean);

設置值:

session.setAttribute("key", 值對象);

獲取值:

對象類型 obj = (對象類型)session.getAttribute("key");
//如
String name = (String)session.getAttribute("key");

刪除 session 指定屬性健:

session.removeAttribute("key");

清除所有的session,使當前 session 完全失效:

session.invalidate();

session超時周期設置

1. Tomcat 安裝位置 conf/web.xml :

<session-config>
  <session-timeout>30</session-timeout>
 </session-config>

30分種

2. Tomcat 安裝位置 conf/server.xml :

<Context path="/test" docBase="/test" 
  defaultSessionTimeOut="3600" isWARExpanded="true" 
  isWARValidated="false" isInvokerEnabled="true" 
  isWorkDirPersistent="false"/>

單位為 秒

3. Java 代碼設置:

HttpSession session = request.getSession();
session.setMaxInactiveInterval(1200);

0 分種:

其他說明:

1. session 過期情況:

1>. 客戶端瀏覽器關閉:

2>. session 會話過期;

3>. 客戶端會話調用了 .invalidate();

2. 瀏覽器關閉與session是否還在;

當客戶端瀏覽器關閉后,session 在服務端還是會存在一定時間的,只是當瀏覽器器再次打開時,就會生成一個新的 session ,瀏覽器通過生成的 sessionid 屬性來 匹配服務端的 session; 那上次的session 雖然還在,但是就訪問不到了;

3. <% @ page session="false" %> 是什么情況?:

這句話的意思是,當前不能使用 session, 但是 頁面 session 還是可以創建的;

4. session 在什么時候 被創建:

在 程序 調用 HttpServletRequest.getSession(true) 時創建;如果 頁面沒有使用 <%@ page session="false"%> 時,在 jsp 頁面編譯成 Servlet 時,會自動 加上 HttpSession session = HttpServletRequest.getSession(true);

總結

以上就是本文關于了解java中的session的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

含山县| 疏勒县| 太仆寺旗| 东辽县| 牙克石市| 武安市| 天津市| 鹤庆县| 邓州市| 武邑县| 长乐市| 大足县| 安新县| 东宁县| 安庆市| 广宁县| 凯里市| 化州市| 广丰县| 巴青县| 象州县| 望城县| 南昌县| 嫩江县| 城市| 达日县| 乐业县| 固始县| 建德市| 鸡泽县| 万源市| 西峡县| 大同县| 龙门县| 宁武县| 井冈山市| 平定县| 常宁市| 离岛区| 永济市| 微山县|