HttpServletRequest-request.getRequestedSessionId()和request.getSession().getId()的區分

今天在做一個權限登錄的時候,發現有一個很類似,但是還是很區別的。今天好好的學習一下。
首先看一下這個介紹session的文章,複習一下。

JavaWeb學習總結(十二)——Session

request.getSession().getId()

服務端創建,一個瀏覽器獨佔一個session對象(默認情況下),
HttpServletRequest中有:

  1. HttpSession getSession(boolean var1);參數爲false則爲不自動創建對象,參數爲true則爲自動創建對象。然後獲取得到這個對象

  2. HttpSession getSession();

比如在多實例部署的時候,用戶第一次登錄的時候,我們可以將request.getSession().getId()作爲key,然後將用戶的信息作爲value,存儲到redis中,以方便下次請求需要權限驗證的接口的時候的驗證。

  stringRedisTemplate.opsForValue().set(request.getSession().getId(), gson.toJson(authUser),30, TimeUnit.MINUTES);

request.getRequestedSessionId()

是客戶端的,也就是瀏覽器裏面的。比如在用戶第一次登錄的時候,這裏是null,當用戶登錄了之後,服務端的request.getSession().getId()就會同步到這裏。這裏就會有了。該值和服務端的request.getSession().getId()是保持一致的。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章