<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # session ## 獲得Session對象 ~~~ HttpSession session = request.getSession(); ~~~ 此方法會獲得專屬于當前會話的Session對象, 如果服務器端沒有該會話的Session 對象會創建一個新的Session返回, 如果已經有了屬于該會話的Session直接將已有的Session返回(實質就是根據JSESSIONID判斷該客戶端是否在服務器上已經存在session了) ## session中存取數據(session也是一個域對象) Session也是存儲數據的區域對象,所以session對象也具有如下三個方法: ~~~ session.setAttribute(String name, Object obj); Object session.getAttribute(String name); session.removeAttribute(String name); ~~~ ## Session對象的生命周期 創建:第一次執行request.getSession()時創建 銷毀: 1. 服務器(非正常)關閉時 2. session過期/失效(默認30分鐘) 問題:時間的起算點 從何時開始計算30分鐘? 從不操作服務器端的資源開始計時 可以在web.xml中進行配置 單位分鐘 tomcat的web.xml和工程的web.xml都可以配置 ~~~ <session-config> <session-timeout>30</session-timeout> </session-config> ~~~ 3. 手動銷毀session ~~~ session.invalidate(); ~~~ 作用范圍: 默認在一次會話中,也就是說在,一次會話中任何資源公用一個session對象 ## jsp中session ~~~ <% //判斷session對象是否為新創建的 System.out.println(session.isNew()); //獲取session對象的閑置時間,最后一次操作開始計時 System.out.println(session.getMaxInactiveInterval()); //獲取session對象的id System.out.println(session.getId()); //讓session對象立即失效 session.invalidate(); //修改session對象的有效時間,單位秒 //=0 默認情況,一次會話有效 //<0 禁用,session對象永久有效 session.setMaxInactiveInterval(0); %> ~~~ # 鈍化和活化 **鈍化** 服務器在關閉時會將session對象序列化保存到本地:SESSIONS.ser session自動鈍化時間:默認5分鐘,如果session對象超過一定時間沒有使用會被自動鈍化到SESSIONS.ser中,用戶再次操作時會自動活化 如果希望session域中的屬性可以和session一起鈍化到磁盤中,那這些屬性必須實現java.io.Serializable接口 當訪問服務器的用戶過多的話,會有非常多的會話產生,這些會話,每一個會話都會對應一個HttpSession對象 **活化** 服務器再開始時會將SESSIONS.ser反序列化加載到服務器內存中,session又可以使用了 **配置** 在tomcat的配置文件conf/context.xml文件的根標簽中加入如下代碼 ~~~ <Manager className="org.apache.catalina.session.PersistentManager" maxIdleSwap="1"> <Store className="org.apache.catalina.session.FileStore" directory="mySession" /> </Manager> ~~~ maxIdleSwap屬性:指的session閑置時間,當閑置一定時間以后,會自動鈍化到硬盤中 directory屬性:session鈍化后的目標文件夾 # request.getSession原理 ![](https://box.kancloud.cn/922efc5630f5853feb8c4f41edff921d_1097x612.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看