session有效範圍,session與request作用範圍

2022-12-26 06:51:55 字數 4975 閱讀 1858

1樓:匿名使用者

1、首先session是儲存在服務端的,也就是說當你訪問一個頁面的時候,會自動的在伺服器上建立一個session,瀏覽器取到這個session資訊,存到本地的cookie裡面

2、能否檢測到session資訊,這要看本地的瀏覽器對於這個cookie的限制,當我們重新開啟一個瀏覽器的時候,要看這個**的設計是首先從cookie裡面讀資訊,讀不到的時候再向服務端申請新的cookie,還是**不管cookie裡面有沒有,就直接的申請新的了

2樓:匿名使用者

前三個都能接到 但最後一個就不一定了 如果你現在用的ie 那麼360下就能收到 但是火狐收不到,原因是因為ie和360用的核心機制是一樣的

session與request作用範圍

3樓:匿名使用者

session是在伺服器端建立的,瀏覽器訪問伺服器會有一個jsessionid,瀏覽器端通過jsessionid定位伺服器端的session,session的建立和銷燬由伺服器端控制。當瀏覽器關閉後,session還存在在伺服器端,只不過你新開的瀏覽器去訪問伺服器會建立另一個session,這個時候的jsessionid已經不一樣了。也就不能訪問上一次的哪個session裡面的內容了。

那伺服器端session如何建的呢? 普通htm不會建立,jsp預設是建立的,只要你訪問一個任何一個jsp就會建立(不過只建立一次),你關閉瀏覽器從新訪問又會建立一個,這些建立的session由伺服器自己控制銷燬,你也可以在伺服器端**中銷燬。

session其實簡單:

先request.getsession(),當已有一個session與前request相關時就返回對這個session的引用,當沒有時就生成一個.一個session在server通過一個sessionid來標識的。

也就是說在一個server是不會有兩個相同sessionid的session.

那麼session為什麼會和cookie扯在一起呢?

正如我所說對於一個session來說它的sessionid就是其身份的標識。若我們將這個sessionid儲存到使用者端,當同一個會話的後序請求來時都將這個sessionid放在request 的header中(也就是我們說的cookie)這樣不就可以來驗證這個request是否與之前的request是同一個會話了嗎!

什麼是會話呢?

我們可以通俗一點理解。只要你的browers不關我們就稱這一系列的request與response為一個會話。一斷你close就稱這個會話已結束。

雖然會話結束但並不代表你的session就被destroy.因為session是存活在server上的。它的生命完全由server來主宰(web.

xml中的設定).

雖然你的session還存活在server上但你已無法再取得它。因為j2ee的api只給我們一種方法來取得與當前會話相關的session的引用:request.

getsession() or reqeust.getsession(boolean)

這也就是為會什麼會有"當瀏覽器關session就結束"這個錯誤的說法了!

深刻理解一下,

一個常見的誤解是以為session在有客戶端訪問時就被建立,然而事實是直到某server端程式呼叫這樣的語句時才被建立,

注意如果jsp沒有顯示的使用 <%@page session="false"%> 關閉session,

則jsp檔案在編譯成servlet時將會自動加上這樣一條語句httpsession session = ;

這也是jsp中隱含的session物件的來歷。

4樓:匿名使用者

session長駐在伺服器記憶體裡,session有id標識,一個session專供一個使用者使用。

request只能存在於一次訪問裡,為了讓每次訪問區分開是哪個使用者,所以request中會帶上session的id標識,就是每個request都會屬於一個session,一個session能為很多次request服務。類似於資料庫的多對一關係

所以request.getsession的本質是使用request中的session id去找到這個使用者對應的session

5樓:匿名使用者

request是對應每個請求的,請求在頁面關閉或發生重定向時就會關閉。

session是對應每個使用者的,使用者可以發起多個請求,但只有一個會話session, session可以設定超時時間,在此時間內對該訪問使用者都是有效的。

session的獲取是用request.getsession,因為每個請求肯定包含在對應的會話session中,而session中可能包含多個請求。

6樓:匿名使用者

request作用範圍是一次響應,session的範圍是一次會話。向伺服器發起一次請求,伺服器就會在這個request裡面查詢sessionid,如果有就返回這個對應的session,如果沒有就會根據情況處理

:request.getsession(true)如果沒有就建立一個新的session物件,並返回

request.getsession(false)如果沒有就返回null

順便說下,伺服器建立的每個使用者的session的id都是唯一的。不存在重複情況

php 怎麼將 session 的有效範圍設定成整個**目錄?

7樓:it互聯天下

php 中session是一種會話機制,使用者登入等功能是都會用到。如果在整個**想共用session,只需在專案入口處設定session的路徑,生命週期,域名即可。示例如下:

<?php

//第一個引數是session的生命週期,第二個引數是路徑,第三個是域名

@session_set_cookie_params(3600, "/", "domain.com", false, true);

session_start();

//或者這樣設定也可以,任選其一

ini_set('session.cookie_path', '/');

ini_set('session.cookie_domain', '.domain.com');

ini_set('session.cookie_lifetime', '1800');

?>

8樓:匿名使用者

你可以在首頁建立session

session的預設有效時間是多少?

9樓:康秦瑀

session的預設有效時間是30min。不過可以在配置檔案中修改預設時間。具體如下:

在conf目錄下的web.xml檔案中有配置:

?60?

?60代表一小時,也就是60分鐘

10樓:

安裝tomcat預設的時間是30分鐘

當然也可以按照 puziguo 兄弟的方法自己設定時間。看你自己的喜好和具體的工程了

11樓:零玖零柒

生命週期一般900s 。超時為被人為釋放掉為止

12樓:匿名使用者

如果伺服器是tomcat:

在conf目錄下的web.xml檔案中有配置:

6060代表一小時,也就是60分鐘

預設不預設都是通過配置的,配置成多少,預設就是多少

13樓:匿名使用者

老師說過的,是20分鐘!

14樓:二宕

好像是半小時呢,呵呵! 我是這樣記得的!! 你可以像樓上說的可以自己設定

j**a如何對session設定有效時間!

15樓:匿名使用者

web.xml裡面設定這個玩意就行了,單位是分鐘30

16樓:匿名使用者

常用的有兩種方法:

1. 在主頁面中寫入下面兩句:

session.setmaxinactiveinterval(3600);//3600秒,注意伺服器端的3600秒,而不是客戶端的

2. 在專案的web.xml中設定:

60這裡的60就是60分鐘。

還有一種在伺服器端設定的方法,因為不同的伺服器配置不同,在這就不說了,以上兩個就足夠用了。

描述cookie和session的作用,區別和各自的應用範圍,session工作原理。

求教怎麼讓一個session只存一個使用者,判斷當前的session是否有效 50

17樓:不下烏雲

比方說你在session裡存了一個使用者,使用ie的時候用的是ie的session,使用火狐的時候又是火狐建立的,所以每個session都是唯一的,這個不用去擔心,判斷當前session是否有效只需要到後臺或資料庫的資料進行比較。

18樓:匿名使用者

第一這個session對於每個使用者的瀏覽器都是不同的session例項

也就是每個使用者都有個自己的session 也跟你說的一個session中只有一個使用者

我們沒辦法直接判斷session 是否有效 因為我們不知道客服端是否還在訪問

當瀏覽器關掉以後session 並不會馬上銷燬 於是我們有了關於瀏覽器關閉事件處理的問題在瀏覽器關閉是主動銷燬session

一般判斷session 是否有效 我們通常會試著存一個值在session 中

當需要判斷session 是否有效時 我們獲取這個值 通過這個值是否為空 是否為之前存的值我們就能判斷了

19樓:匿名使用者

應該吧session id放進資料庫或者xml中,當使用者登陸則進行匹配,否則session數量太多

hibernate中的session指的是什麼

session 計算機術語 hibernate什麼是session 在hibernate中,session的作用是什麼,怎麼用呢,謝謝各位大蝦了。你好,session表示的是一次會話,你能理解這點很重要,在hibernate中,這次會話的主要任務就是運算元據庫,包括增刪改查,開啟事務等等。hiber...

什麼是cookie什麼是session分別有什麼用途

我不喜抄,直接說區別吧!cookie用於互動時存放在客戶端,即使用你臨時資料夾中不存在cookie,但在你的瀏覽器程序中會臨時儲存你的cookie session是互動時存放在服務端,即使用不儲存,也在服務程序中。如果你對網頁有互動,伺服器如何在眾多請求中能識別你那是曾經的哪一個?這依賴於你傳遞上來...

session物件和cookie物件的區別

1 cookie資料存放在客戶的瀏覽器上,session資料放在伺服器上 2 cookie不是很安全,別人可以分析存放在本地的cookie並進行cookie欺騙 考慮到安全應當使用session 3 session會在一定時間內儲存在伺服器上。當訪問增多,會比較佔用你伺服器的效能 考慮到減輕伺服器效...