<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [toc] ### 一、會話的概念 會話可以簡單理解為:用戶開了一個瀏覽器,點擊多個超鏈接,訪問服務器多個web資源,然后關閉服務器,<b>整個過程就是一個會話</b>。 有狀態會話:一個同學來過教室,下次再來教室,我們會知道這個同學曾經來過,這就叫有狀態會話。 ### 二、會話過程中要解決的一些問題 每個用戶在使用瀏覽器與服務器進行會話的過程中,不可避免各自會產生一些數據,程序要想辦法為每個用戶保存這些數據。 ### 三、保存會話數據的兩種技術 3.1、Cookie cookie是<b>客戶端技術</b>,程序把每個用戶的數據以cookie的形式寫給用戶各自的瀏覽器。當用戶使用瀏覽器再去訪問服務器中的web資源時,就會帶著各自的數據去。這樣web資源處理的就是用戶各自的數據了。 3.2、Session Session是<b>服務端技術</b>,利用這個技術,服務器在運行時可以為每個用戶的瀏覽器創建一個其獨享的session對象,<b>不同的是cookie保存在客戶端服務器上,session保存在服務器上</b>。客戶端瀏覽器訪問服務器的時候,服務器把客戶端信息以某種形式記錄在服務器上,當客戶端瀏覽器再次訪問時只需從該session中查找該客戶的狀態就可以了。 ### 四、cookie的API ![](https://box.kancloud.cn/7e894c06eefb786d70d53d5b5cb73ef0_751x467.png) ![](https://box.kancloud.cn/f39331e29f9c2254dea86400da489eab_741x376.png) ### 五、cookie使用范例 5.1 使用cookie記錄用戶上一次訪問時間 ~~~ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); Cookie[] cookies = req.getCookies(); if (cookies!=null){ out.write("你上次訪問的時間是:"); for (int i = 0; i <cookies.length ; i++) { Cookie cookie = cookies[i]; if (cookie.getName().equals("lastAccessTime")){ Long lastAccessTime = Long.parseLong(cookie.getValue()); Date date = new Date(lastAccessTime); out.write(date.toLocaleString()); } } }else{ out.write("這是你第一次訪問本站"); } //創建cookie Cookie cookie = new Cookie("lastAccessTime",System.currentTimeMillis()+""); resp.addCookie(cookie); } ~~~ 訪問網站界面如下: ![](https://box.kancloud.cn/54be66596bedd6825f1cf6c0010a61e4_665x168.png) 在上面的例子中,在程序代碼中并沒有使用setMaxAge方法設置cookie的有效期,所以當關閉瀏覽器之后,cookie就失效了,想要cookie在關閉瀏覽器之后仍有效,那么在創建cookie的時候,就為cookie設置一個有效期。 ~~~ Cookie cookie = new Cookie("lastAccessTime",System.currentTimeMillis()+""); //設置有效期為1天 cookie.setMaxAge(24*60*60); //將cookie對象添加到response對象中,這樣服務器在輸出response對象中的內容時就會把cookie也輸出到客戶端服務器 resp.addCookie(cookie); ~~~ ### 六、cookie注意細節 1.一個cookie只能標識一種信息,它至少含有一個表示該信息的名稱(NAME)和設置值(VALUE)。 2. 一個WEB站點可以給一個WEB瀏覽器發送多個Cookie,一個WEB瀏覽器也可以存儲多個WEB站點提供的Cookie。 3. 瀏覽器一般只允許存放300個Cookie,每個站點最多存放20個Cookie,每個Cookie的大小限制為4KB。 4. **如果創建了一個cookie,并將他發送到瀏覽器,默認情況下它是一個會話級別的cookie(即存儲在瀏覽器的內存中),用戶退出瀏覽器之后即被刪除。若希望瀏覽器將該cookie存儲在磁盤上,則需要使用maxAge,并給出一個以秒為單位的時間。將最大時效設為0則是命令瀏覽器刪除該cookie。**
                  <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>

                              哎呀哎呀视频在线观看