1. 程式人生 > >會話技術、Cookie簡單使用

會話技術、Cookie簡單使用

公眾號檢視文章格式更清晰

會話技術、Cookie的API

會話技術:使用者開一個瀏覽器,訪問一個網站,只要不關閉該瀏覽器,不管該使用者點選多少個超連結,訪問多少資源,直到使用者關閉瀏覽器,整個這個過程我們稱為一次會話。

使用會話技術做什麼

1、在論壇登陸的時候,很多時候會有一個小框框問你是否要自動登陸,當你下次登陸的時候就不用輸入密碼了。
2、根據我以前瀏覽過的商品,猜我喜歡什麼商品。

Cookie

會話跟蹤技術有Cookie和Session,Cookie技術是先出現的。

Cookie技術:
網頁之間的互動是通過HTTP協議傳輸資料的,而Http協議是無狀態的協議。無狀態的協議是什麼意思呢?一旦資料提交完後,瀏覽器和伺服器的連線就會關閉,再次互動的時候需要重新建立新的連線。
伺服器無法確認使用者的資訊,於是乎,W3C就提出了:給每一個使用者都發一個通行證,無論誰訪問的時候都需要攜帶通行證,這樣伺服器就可以從通行證上確認使用者的資訊。通行證就是Cookie。

Cookie的流程:瀏覽器訪問伺服器,如果伺服器需要記錄該使用者的狀態,就使用response向瀏覽器傳送一個Cookie,瀏覽器會把Cookie儲存起來。當瀏覽器再次訪問伺服器的時候,瀏覽器會把請求的網址連同Cookie一同交給伺服器。

Cookie API

  1. Cookie類用於建立一個Cookie物件

  2. response介面中定義了一個addCookie方法,它用於在其響應頭中增加一個相應的SetCookie頭欄位

  3. request介面中定義了一個getCookies方法,它用於獲取客戶端提交的Cookie

常用的Cookie方法:

public Cookie(String name,String value)
setValue與getValue方法
setMaxAge與getMaxAge方法
setPath與getPath方法
setDomain與getDomain方法
getName方法

簡單使用Cookie

public class CookieTest extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //設定response編碼
        resp.setContentType("text/html;charset=UTF-8");
        //建立Cookie物件
        Cookie cookie = new Cookie("username","jiuyue");
        //傳送Cookie給瀏覽器需要設定Cookie的時間
        cookie.setMaxAge(1000);
        //向瀏覽器傳送一個cookie
        resp.addCookie(cookie);
        resp.getWriter().write("向瀏覽器傳送了一個Cookie");
    }