Session基礎

文章目錄

  • 什么是Session
  • session與cookie的區別和聯系
  • Session的存
  • Session的取


什么是Session

  • 服務器為每個用戶瀏覽器創建一個會話對象(session對象),一個瀏覽器只能產生一個session
  • 當新建一個窗口訪問服務器時,還是原來的那個session。session中默認保存的是當前用戶的信息。因此,在需要保存其他用戶數據時,我們可以自己給session添加屬性。
  • session(會話)可以看為是一種標識,通過帶session的請求,可以讓服務器知道是誰在請求數據。

session與cookie的區別和聯系

  • session是由服務器創建的,并保存在服務器上的。在session創建好之后,會把sessionId放在cookie中返回(response)給客戶端。返回的代碼應該是這樣子的。返回的cookie是保存在客戶端的。
//獲取id
String sessionId = session.getId();
//創建cookie
Cookie cookie = new Cookie("JSESSIONID", sessionId);
cookie.setPath(request.getContextPath());
response.addCookie(cookie);
  • 以后的每次HTTP請求都會帶著sessionId,來跟蹤用戶的整個會話。
  • session的過期和超時與cookie的過期沒有什么聯系,都是可以分別進行設置的。但是當session或cookie中任意一方過期,那么用戶就需要重新登錄了。

Session的存

//首先獲取session
HttpSession session = request.getSession();
//往session中存入你想要的東西
session.setAttribute("userName",userName);
session.setAttribute("password",passWord);
String userId = userService.getUserId(userName);
session.setAttribute("userId",userId);
session.setAttribute("roleId",userService.getUserRoleId(userId));
//完成,存就是這么簡單

Session的取

String userName = (String) request.getSession().getAttribute("userName");

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36650.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36650.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36650.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

VR家裝提升用戶信任度,線上體驗家裝空間感

近些年,VR家裝逐漸被各大裝修公司引入,VR全景裝修的盛行,大大增加了客戶“所見即所得”的沉浸式體驗感,不再是傳統二維平面的看房模式,而是讓客戶通過視覺、聽覺、交互等功能更加真實的體驗家裝后的效果。 對于傳統家裝…

本地Linux 部署 Dashy 并遠程訪問教程

文章目錄 簡介1. 安裝Dashy2. 安裝cpolar3.配置公網訪問地址4. 固定域名訪問 轉載自cpolar極點云文章:本地Linux 部署 Dashy 并遠程訪問 簡介 Dashy 是一個開源的自托管的導航頁配置服務,具有易于使用的可視化編輯器、狀態檢查、小工具和主題等功能。你…

JS如何向數組中添加數組

常見的辦法有 1、push()方法 var arr [a, b, c,d]; arr.push(e); console.log(arr); // [a, b, c, d,e] 2、concat()方法 var arr1 [a, b, c]; var arr2 [d, e, f]; var arr3 arr1.concat(arr2); console.log(arr3); // [a, b, c, d, e, f] 3、可以使用ES6中的spread操作符…

【git】Fork或者git clone克隆了別人項目,如何保持與原項目同步更新

Fork或者git clone克隆了別人項目,如何保持與原項目同步更新 #mermaid-svg-LC920CR873UxZJC3 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-LC920CR873UxZJC3 .error-icon{fill:#552222;}#mermaid-svg-…

BUUCTF 還原大師 1

題目描述: 我們得到了一串神秘字符串:TASC?O3RJMV?WDJKX?ZM,問號部分是未知大寫字母,為了確定這個神秘字符串,我們通過了其他途徑獲得了這個字串的32位MD5碼。但是我們獲得它的32位MD5碼也是殘缺不全,E903???4D…

【Vue3】自動引入插件-`unplugin-auto-import`

Vue3自動引入插件-unplugin-auto-import,不必再手動 import 。 自動導入 api 按需為 Vite, Webpack, Rspack, Rollup 和 esbuild 。支持TypeScript。由unplugin驅動。 插件安裝:unplugin-auto-import 配置vite.config.ts(配置完后需要重啟…

迪瑞克斯拉算法 — 優化

在上一篇迪瑞克斯拉算法中將功能實現了出來,完成了圖集中從源點出發獲取所有可達的點的最短距離的收集。 但在代碼中getMinDistanceAndUnSelectNode()方法的實現并不簡潔,每次獲取minNode時,都需要遍歷整個Map,時間復雜度太高。這…

stable diffusion安裝包和超火使用文檔及提示詞,數字人網址

一:文生圖、圖生圖 1:stable diffusion:對喜歡二次元、美女小姐姐、大眼萌妹的人及其友好哈哈(o^^o) 1):關于安裝包和模型包: 鏈接:https://pan.baidu.com/s/11_kguofh76gwhTBPUipepw 提取碼…

HTML詳解連載(5)

HTML詳解連載(5) 專欄鏈接 [link](http://t.csdn.cn/xF0H3)下面進行專欄介紹 開始嘍行高:設置多行文本的間距屬性名屬性值行高的測量方法 行高-垂直居中技巧 字體族屬性名屬性值示例擴展 font 復合屬性使用場景復合屬性示例注意 文本縮進屬性…

阿里云國際站對象儲存OSS的常見問題?

1.什么是阿里云OSS? 阿里云對象存儲服務OSS(Object Storage Service),是阿里云提供的海量、安全、低成本、高持久性的云存儲服務,并可無限擴展。其數據設計持久性不低于99.9999999999%(12個9)&a…

UG NX二次開發(C#)-CAM自定義銑加工的出口環境

文章目錄 1、前言2、自定義銑削加工操作3、出錯原因4、解決方案4.1 MILL_USER的用戶參數4.2 采用自定義銑削的方式生成自定義的dll4.2 配置加工的出口環境4.3 調用dll5、結論1、前言 作為一款大型的CAD/CAM軟件, UG NX為我們提供了豐富的加工模板,通過加工模板能直接用于生成…

oracle怎樣給某個普通用戶授予殺自己用戶會話的權限

一 問題描述 想給某個普通用戶授予殺掉自己會話的權限 二 解決辦法 2.1 用sys用戶創建殺會話的存儲過程 create or replace procedure scott_p_kill_session( v_sid number, v_serial number )asv_varchar2 varchar2(100);beginif v_sid is not null and v_serial is not n…

DTC服務(0x14 0x19 0x85)

DTC相關的服務有ReadDTCInformation (19) service,ControlDTCSetting (85) service和ReadDTCInformation (19) service ReadDTCInformation (19) service 該服務允許客戶端從車輛內任意一臺服務器或一組服務器中讀取駐留在服務器中的診斷故障代碼( DTC )信息的狀態…

【一款互聯網產品全生命周期】每個程序員都有必要讀一讀

文章目錄 1. 需求討論與團隊成員和相關利益相關方討論項目的需求和目標。確定項目的范圍、功能和優先級。 2. 技術選型根據項目需求,選擇合適的技術棧和工具。考慮項目的可維護性、性能要求和團隊的技術背景。 3. 架構設計設計項目的系統架構,包括模塊劃…

Go語言入門

Go語言入門 簡介 Go是一門由Google開發的開源編程語言,旨在提供高效、可靠和簡潔的軟件開發工具。Go具有靜態類型、垃圾回收、并發性和高效編譯的特點,適用于構建可擴展的網絡服務和系統工具。本文將介紹Go語言的基礎知識和常用功能,并通過…

Web菜鳥教程 - Radis實現高性能數據庫

Redis是用C語言開發的一個高性能鍵值對數據庫,可用于數據緩存,主要用于處理大量數據的高訪問負載。 也就是說,如果你對性能要求不高,不用Radis也是可以的。不過作為最自己寫的程序有高要求的程序員,自然是要學一下的&a…

PHP Mysql查詢全部全部返回字符串類型

設置pdo屬性 $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

08-1_Qt 5.9 C++開發指南_QPainter繪圖

文章目錄 前言1. QPainter 繪圖系統1.1 QPainter 與QPaintDevice1.2 paintEvent事件和繪圖區1.3 QPainter 繪圖的主要屬性 2. QPen的主要功能3. QBrush的主要功能4. 漸變填充5. QPainter 繪制基本圖形元件5.1 基本圖像元件5.2 QpainterPath的使用 前言 本章所介紹內容基本在《…

chatserver服務器開發筆記

chatserver服務器開發筆記 1 chatserver2 開發環境3 編譯 1 chatserver 集群聊天服務器和客戶端代碼,基于muduo、redis、mysql實現。 學習于https://fixbug.ke.qq.com/ 本人已經掛github:https://github.com/ZixinChen-S/chatserver/tree/main 需要該項…

kubernetes pod 資源限制 探針

資源限制 當定義 Pod 時可以選擇性地為每個容器設定所需要的資源數量。 最常見的可設定資源是 CPU 和內存大小,以及其他類型的資源。 當為 Pod 中的容器指定了 request 資源時,代表容器運行所需的最小資源量,調度器就使用該信息來決定將 Pod …