java session cookie的使用

來源:互聯網
上載者:User

標籤:

Cookie; Session; URL重寫; 

   cookie在J2EE項目中的使用,Java中把Cookie封裝成了java.servlet.http.Cookie類。每個Cookie都是該Cookie類的對象。伺服器通過操作Cookie類對象,對用戶端Cookie進行操作。通過request.getCookies()擷取用戶端提交的所有Cookie(以Cookie[]數組形式返回),通過response.addCookie(Cookiecookie)向用戶端設定Cookie。Cookie對象使用key-value屬性對的形式儲存使用者狀態,一個Cookie對象儲存一個屬性對,一個request或者response同時使用多個Cookie。cookie的不可跨網域名稱性和cookie的有效期間。

// 伺服器端擷取cookieCookie[]cookies = request.getCookies();for (int i = 0; cookies != null && i < cookies.length;i++) {         Cookiecookie = cookies[i];         if("username".equals(cookie.getName())) {         }      }

//伺服器端設定cookie

 String username = "sa";

 Cookie usernameCookie = new Cookie("username", username);

 response.addCookie(usernameCookie);

   Session是伺服器端使用的一種記錄用戶端狀態的機制,使用上比Cookie簡單一些,相應的也增加了伺服器的儲存壓力。Session是另一種記錄用戶端狀態的機制,不同的是Cookie儲存在用戶端瀏覽器中,而Session儲存在伺服器上。用戶端瀏覽器訪問伺服器的時候,伺服器把用戶端資訊以某種形式記錄在伺服器上。這就是Session。用戶端瀏覽器再次訪問時只需要從該Session中查詢該客戶的狀態就可以了。如果說Cookie機制是通過檢查客戶身上的“通行證”來確定客戶身份的話,那麼Session機制就是通過檢查伺服器上的“客戶明細表”來確認客戶身份。Session相當於程式在伺服器上建立的一份客戶檔案,客戶來訪的時候只需要查詢客戶檔案表就可以了。Session儲存在伺服器端。為了獲得更高的存取速度,伺服器一般把Session放在記憶體裡。每個使用者都會有一個獨立的Session。如果Session內容過於複雜,當大量客戶訪問伺服器時可能會導致記憶體溢出。因此,Session裡的資訊應該盡量精簡。Session在使用者第一次訪問伺服器的時候自動建立。需要注意的是,只有訪問JSP、Servlet等程式時才會建立Session,只訪問HTML、IMAGE等靜態資源並不會建立Session。如果尚未產生Session,也可以使用request.getSession(true)強制產生Session。Session產生後,只要使用者繼續訪問,伺服器就會更新Session的最後訪問時間,並維護該Session。使用者每訪問伺服器一次,無論是否讀寫Session,伺服器都認為該使用者的Session“活躍(active)”了一次。

//  伺服器端擷取session    HttpSessionsession = request.getSession();    Stringusername = (String)session.getAttribute("username");// 伺服器端設定session    HttpSessionsession = request.getSession();    session.setAttribute("username","sa");

java session cookie的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.