国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

jsp session.setAttribute()和session.getAttribute()用法案例詳解

瀏覽:242日期:2022-06-08 08:12:23
目錄
  • Session簡單介紹
  • Session和Cookie的主要區別
  • 基本語法
    • 1,對于值類型的變量,Session中保存的是值類型的拷貝
    • 2,對于引用類型的變量,Session中保存的是引用
    • 3,Session周期
    • 4,調用Session
    • 5,Session數據有效期
    • 6,Session的保存
  • 在JSP中

    Session簡單介紹

      在WEB開發中,服務器可以為每個用戶瀏覽器創建一個會話對象(session對象),注意:一個瀏覽器獨占一個session對象(默認情況下)。因此,在需要保存用戶數據時,服務器程序可以把用戶數據寫到用戶瀏覽器獨占的session中,當用戶使用瀏覽器訪問其它程序時,其它程序可以從用戶的session中取出該用戶的數據,為用戶服務。

    Session和Cookie的主要區別

    • Cookie是把用戶的數據寫給用戶的瀏覽器。
    • Session技術把用戶的數據寫到用戶獨占的session中。
    • Session對象由服務器創建,開發人員可以調用request對象的getSession方法得到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]來標記了該類.

    在JSP中

    Jsp的session是使用bean的一個生存期限,一般為page,session意思是在這個用戶沒有離開網站之前一直有效,如果無法判斷用戶何時離開,一般依據系統設定,tomcat中設定為30分鐘.

    JSP使用一個叫HttpSession的對象實現同樣的功能。HTTPSession 是一個建立在cookies 和URL-rewriting上的高質量的界面。Session的信息保存在服務器端,Session的id保存在客戶機的cookie中。事實上,在許多服務器上,如果瀏覽器支持的話它們就使用cookies,但是如果不支持或廢除了的話就自動轉化為URL-rewriting,session自動為每個流程提供了方便地存儲信息的方法。

    Httpsession具有如下API:

    getId 此方法返回唯一的標識,這些標識為每個session而產生。當只有一個單一的值與一個session聯合時,或當日志信息與先前的sessions有關時,它被當作鍵名用。

    GetCreationTime 返回session被創建的時間。最小單位為千分之一秒。為得到一個對打印輸出很有用的值,可將此值傳給Date constructor 或者GregorianCalendar的方法setTimeInMillis.

    GetLastAccessedTime 返回session最后被客戶發送的時間。最小單位為千分之一秒。

    GetMaxInactiveInterval 返回總時間(秒),負值表示session永遠不會超時。

    getAttribute 取一個session相聯系的信息。(在jsp1.0中為 getValue)

    Integer item = (Integer) session.getAttribute("item") //檢索出session的值并轉化為整型

    setAttribute 提供一個關鍵詞和一個值。會替換掉任何以前的值。(在jsp1.0中為putValue)

    session.setAttribute("ItemValue", itemName); // ItemValue 必須不是must簡單類型

    在應用中使用最多的是getAttribute和setAttribute.現以一個簡單的例子來說明session的應用,test1.jsp(信息寫入session),test2.jsp(從session讀出信息)。

    test1.jsp

    <HTML>
    
    <HEAD>
    
    <TITLE> Document </TITLE>
    
    </HEAD>
    
    <BODY BGCOLOR="#FFFFFF">
    
    <%
    
    session.setAttribute("str",new String(“this is test”));
    
    %>
    
    </BODY>
    
    </HTML>

    test2.jsp

    <HTML>
    
    <HEAD>
    
    <TITLE> New Document </TITLE>
    
    </HEAD>
    
    <BODY BGCOLOR="#FFFFFF">
    
    <%
    
    String ls_str=null;
    
    ls_str=(String)session.getAttribute("str");
    
    out.println(“從session里取出的值為:”+ls_str);
    
    %>
    
    </BODY>
    
    </HTML>

    到此這篇關于jsp session.setAttribute()和session.getAttribute()用法案例詳解的文章就介紹到這了,更多相關jsp session.setAttribute()和session.getAttribute()用法內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: JSP
    相關文章:
    主站蜘蛛池模板: 偏关县| 元氏县| 咸阳市| 临颍县| 筠连县| 周口市| 石泉县| 竹溪县| 大渡口区| 启东市| 冷水江市| 方正县| 神农架林区| 青冈县| 襄垣县| 普安县| 桑植县| 宁德市| 淮阳县| 岳普湖县| 伊金霍洛旗| 宣城市| 五原县| 始兴县| 西藏| 温州市| 营口市| 夏邑县| 塔城市| 竹溪县| 个旧市| 靖江市| 贵阳市| 华宁县| 西乌珠穆沁旗| 拜城县| 江永县| 吉安市| 东平县| 雅安市| 彭州市|