Ⅰ session有效范圍
1、首先session是保存在服務端的,也就是說當你訪問一個頁面的時候,會自動的在伺服器上創建一個session,瀏覽器取到這個session信息,存到本地的cookie裡面
2、能否檢測到session信息,這要看本地的瀏覽器對於這個cookie的限制,當我們重新打開一個瀏覽器的時候,要看這個網站的設計是首先從cookie裡面讀信息,讀不到的時候再向服務端申請新的cookie,還是網站不管cookie裡面有沒有,就直接的申請新的了
Ⅱ 怎樣用session來存儲用戶名
servlet中方法內可寫request.getSession().setAttribute("oneuser", user);
user是一個變數,把用戶名賦給user
然後把user放到session中,
讀出時request.getSession().getAttribute("oneuser「)
Ⅲ 一個session能存儲多少個值
session是佔用的伺服器內存,所以內存越大,能存的值就越大,原則上講無上限,一般用於存儲對安全要求較高的重要數據;
Session相當於數組,存儲的值越多性能越不好,容易丟失數據,所以,盡量少存值。
Ⅳ session的作用范圍
1,對於值類型的變數,Session中保存的是值類型的拷貝
Session["__test0"] = 1;
int i = (int)Session["__test0"]+1;
int j = (int)Session["__test0"];
結果:i=2,j=1
2,對於引用類型的變數,Session中保存的是引用
CDACommon cda = new CDACommon();
Session["__test"] = cda.GetDataSet("select top 1 * from tb_customer");
DataSet ds = (DataSet)Session["__test"];
DataSet ds2 = (DataSet)Session["__test"];
ds.Tables[0].Rows[0][0]="9999";
結果:
ds.Tables[0].Rows[0][0]=="9999"
ds2.Tables[0].Rows[0][0]=="9999";
3,Session周期
新的瀏覽器窗口啟動後,開始一個新的Session,觸發Global的Session_Start的調用,從第一個瀏覽器窗口打開的瀏覽器窗口不啟動新的Session。Session過期後,執行頁面的提交也會觸發Session_Start,等於是新的一個Session。
4,調用Session
對於Web Service,每個方法的調用都會啟動一個Session,可以用下面的方法來使多個調用在同一個Session里 CWSSyscfg cwsCfg = new CWSSyscfg(); cwsCfg.CookieContainer = new System Net.CookieContainer(); CWSSyscfg是一個Web Service類,Web Service的給代理類設置CookieContainer屬性,只要多個代理的CookieContainer屬性是相同的值,則對這些Web Service的調用在同一個Session。可以用單例模式來實現。
5,Session數據有效期
只要頁面有提交活動,則Session的所有項都會保持,頁面在20分鍾(默認配置)內沒有任何提交活動時Session會失效。Session內存儲的多個數據項是整體失效的。
6,Session的保存
在Session中如果保存的是非序列化的類比如DataView,在用sqlServer保存Session的模式下,無法使用。查看一個類是否是序列化的方法是,需看是否用[Serializable]來標記了該類.
Ⅳ session保存對象問題。。
可以這樣存儲,但是如果是N個表,恐怕不行,性能上承受不起。因為他是保存在服務端的。
一般做個用戶登錄啥的,保存信息還行。
Ⅵ session在伺服器是怎麼存儲的,一般以文件形式寸還是存資料庫
我們一般用的Session可以基於Cookies和Cookieless,前者是將身份標識放在Cookies裡面,後者是跟在Url里作為get傳遞的參數..我們普遍用的前者
第1個問題,你賦值一個Session,
此時這個Session對應的值是存在伺服器端,客戶端無法直接獲取這個值的..每個Session對象都有一個SessionID的屬性,表明了該Session的唯一性,客戶端會生成1個名稱為AspNetSessionId(ASP.NET環境下大概是這個,你可以在FireFox的Cookies列表中查看到)的Cookies,和伺服器端的SessionID對應,伺服器端只有接受到這個Cookies的值才能判斷該瀏覽者對應於哪個Session..所以你第1個問題就回答完了.
第2個問題,過了超時時間才會失效,伺服器端永遠不會主動去聯系客戶端看對方是否超時,只是創建Session對象時會有一個過期時間,超過過期時間對應的客戶端還沒有訪問,則會清空Session對象..至於你說的不同瀏覽器的問題,暫時沒遇到過
Ⅶ Session是怎麼實現的存儲在哪裡
事實上,各種web框架早已考慮到這個問題,比如asp.NET,是支持通過配置文件修改session的存儲介質為sql server的,所有機器的會話數據都從同一個資料庫讀,就不會存在不一致的問題;php支持把會話數據存儲到某台memcache伺服器,你也可以手工把session文件存放的目錄改為nfs網路文件系統,從而實現文件的跨機器共享。
還有一個簡單的辦法可以用於會話信息不會頻繁變更的情況,在機器a設置用戶會話的時候,把會話數據post到機器b的一個cgi,機器b的cgi把會話數據存下來,這樣機器a和b都會有同一份session數據的拷貝。
Ⅷ session中應該存儲哪些信息
默認情況下SESSION保存在伺服器的硬碟中,沒有特別的存儲長度限制,理論上可以存儲任何數據,但並不建議任何數據都保存在SESSION中,原因不說了(考慮一下用戶數及其龐大的情況下,每訪問一個php文件,就要讀取SEESION,特別是SEESION寫入內存的情況下。),當然也可以寫入memcache,甚至單獨的SESSION伺服器。
SESSION通常用來保存與用戶信息相關的: 1. 身份信息、登陸狀態 2. 用戶的個性配置、許可權列表 3. 其他的一些通用數據(比如購物車)
我通常把通用的、頻繁存取的、小數據量的跟用戶相關的數據放入SEESION,視場景而定,我手頭的一個項目,是把模塊的信息(屬性、菜單、結合許可權生成欄目列表)寫入SEESION的。
(望樓主採納哦)
Ⅸ Session是什麼
session:在計算機中,尤其是在網路應用中,稱為「會話」。
session直接翻譯成中文比較困難,一般都譯成時域。在計算機專業術語中,session是指一個終端用戶與交互系統進行通信的時間間隔,通常指從注冊進入系統到注銷退出系統之間所經過的時間。
具體到web中的session指的就是用戶在瀏覽某個網站時,從進入網站到瀏覽器關閉所經過的這段時間,也就是用戶瀏覽這個網站所花費的時間。因此從上述的定義中我們可以看到,session實際上是一個特定的時間概念。
需要注意的是,一個session的概念需要包括特定的客戶端,特定的伺服器端以及不中斷的操作時間。a用戶和c伺服器建立連接時所處的session同b用戶和c伺服器中建立連接時所處的sessions是兩個不同的session。
那什麼是session的解決方案呢?我們知道,用戶訪問一個網站時往往需要瀏覽許多網頁。對於一個通過php構築的網站來說,用戶在訪問的過程中需要執行許多的php腳本。然而由於http協議自身的特點,用戶每執行一個php腳本都需要和web伺服器重新建立連接。
又由於無狀態記憶的特點,此次連接無法得到上次連接的狀態。這樣,用戶在一個php腳本中對一個變數進行了賦值操作,而在另外一個php腳本中卻無法得到這個變數的值。例如,用戶在負責登錄的php腳本中設置了$user="wind",卻無法在另一個php腳本中通過調用$user來獲得「wind」這個值。也就是說,在php中無法設置全局變數。每個php腳本中所定義的變數都是只在這個腳本內有效的局部變數。
session解決方案,就是要提供在php腳本中定義全局變數的方法,使得這個全局變數在同一個session中對於所有的php腳本都有效。上面我們提到了,session不是一個簡單的時間概念,一個session中還包括了特定的用戶和伺服器。因此更詳細地講,在一個session定義的全局變數的作用范圍,是指這個session所對應的用戶所訪問的所有php。
例如a用戶通過session定義了一個全局變數$user=「wind」中,而b用戶通過session定義的全局變數$user=「jane」。那麼在a用戶所訪問的php腳本中,$user的值就是wind。
Ⅹ Session到底是保存在客戶端還是伺服器端
Session存儲在伺服器的內存中。
瀏覽器第一次訪問伺服器會在伺服器端生成一個session,有一個sessionid和它對應。它存儲在伺服器的內存中,tomcat的StandardManager類將session存儲在內存中,也可以持久化到file,資料庫,memcache,Redis等。
客戶端只保存sessionid到cookie中,而不會保存session,session銷毀只能通過invalidate或超時,關掉瀏覽器並不會關閉session。
session機制
session機制是一種伺服器端的機制,伺服器使用一種類似於散列表的結構(也可能就是使用散列表)來保存信息。
當程序需要為某個客戶端的請求創建一個session時,伺服器首先檢查這個客戶端的請求里是否已包含了一個session標識——稱為session id,如果已包含則說明以前已經為此客戶端創建過session,伺服器就按照session id把這個session檢索出來使用(檢索不到,會新建一個)。
如果客戶端請求不包含session id,則為此客戶端創建一個session並且生成一個與此session相關聯的session id,session id的值應該是一個既不會重復,又不容易被找到規律以仿造的字元串,這個session id將被在本次響應中返回給客戶端保存。
以上內容參考 網路--session(計算機術語)