JAVA及相關(guān)技術(shù)學(xué)習(xí)

          Servlet

           

          Session

          比如:在網(wǎng)上書(shū)店應(yīng)用中,從一個(gè)客戶開(kāi)始購(gòu)物,到最后結(jié)賬,整個(gè)過(guò)程是一個(gè)Session.
          Servlet API中定義了javax.servlet.http.HttpSession接口,Servlet容器必須實(shí)現(xiàn)這一接口。當(dāng)一個(gè)Session開(kāi)始時(shí),Servlet容器將創(chuàng)建一個(gè)HttpSession對(duì)象,在HttpSession對(duì)象中可以存放客戶狀態(tài)的信息。Servelt容器為HttpSession分配一個(gè)唯一標(biāo)識(shí)符,稱為Session ID.Servlet容器把Session ID作為Cookie保存在客戶的瀏覽器中。每次客戶發(fā)出HTTP請(qǐng)求時(shí),Servlet容器可以從HttpRequest對(duì)象中讀取Session ID,然后根據(jù)SessionID找到相應(yīng)的HttpSession對(duì)象,從而獲取客戶的狀態(tài)信息。
          HttpSession接口中的方法:
          getId():返回Session的ID;
          invalidate():使當(dāng)前的Session失效,Servlet容器會(huì)釋放HttpSession對(duì)象占用的資源。
          setAttribute(String name,Object value):將一對(duì)name/Value屬性保存在HttpSession對(duì)象中
          getAttribut(String name):根據(jù)name參數(shù)返回保存在HttpSession對(duì)象的屬性值。
          getAttributeNames():以數(shù)組的方式HttpSession對(duì)象中所有的屬性名。
          isNew():判斷是否是新創(chuàng)建的Session,如果是新創(chuàng)建的Session,返回true,否則返回false
          setMaxInactiveInterval():設(shè)定一個(gè)Session可以處于不活動(dòng)狀態(tài)的最大時(shí)間間隔,以秒為單位。如果超過(guò)這個(gè)時(shí)間。Session自動(dòng)失效,如果設(shè)置為負(fù)數(shù),表示不限制Session付出與不活動(dòng)狀態(tài)的時(shí)間。
          getMaxInactiveInterval()讀取當(dāng)前Sessions可以處于不活動(dòng)狀態(tài)的最大時(shí)間間隔。
          在Java Servlet API中提出了跟蹤Session的另一種機(jī)制,如果客戶瀏覽器不支持Cookie,Servlet容器可以重寫(xiě)客戶請(qǐng)求的URL,吧Session ID添加到URL信息中。
          HttpServletResponse接口提供了重寫(xiě)URL的方法:
          public java.lang.String encodeURL(java.lang.String url)
          該方法的實(shí)現(xiàn)機(jī)制為:
          先判斷當(dāng)前的Web組件是否啟用Session,如果沒(méi)有啟用Session,例如在JSP中聲明
          <%@ page session="false"%>或者已經(jīng)執(zhí)行了session.invalidate()方法,那么直接返回參數(shù)URL
          再判斷客戶瀏覽器是否支持Cookie,如果支持Cookie,就直接返回參數(shù)URL;如果不支持,就在參數(shù)URL中加入Session ID信息,然后返回修改后的URL.

          posted on 2009-03-11 14:23 亂せ英豪 閱讀(777) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 盖州市| 资中县| 尼木县| 泾川县| 乌审旗| 西充县| 漠河县| 芒康县| 维西| 三门峡市| 玛沁县| 象山县| 绥阳县| 乌拉特中旗| 邢台市| 育儿| 广东省| 达尔| 裕民县| 迁安市| 家居| 察雅县| 壤塘县| 衡南县| 凤庆县| 玛多县| 鹤峰县| 林周县| 虹口区| 且末县| 嘉义县| 渭南市| 茂名市| 桂东县| 阳谷县| 隆尧县| 巴中市| 曲周县| 北碚区| 高雄县| 郧西县|