国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Java Web會(huì )話(huà)技術(shù)Session的簡(jiǎn)單使用

發(fā)布時(shí)間:2021-07-05 18:40 來(lái)源:腳本之家 閱讀:0 作者:kongsam 欄目: 開(kāi)發(fā)技術(shù)

目錄

什么是Session

Session技術(shù)是將信息保存在服務(wù)端,而客戶(hù)端需要接收、記錄和回送Session的ID,所以Session通常情況下是借助Cookie技術(shù)來(lái)傳遞ID給服務(wù)端的,服務(wù)端拿到session id之后查詢(xún)內存中對應的記錄。

一個(gè)客戶(hù)端對應一個(gè)Session,而一個(gè)Session有多個(gè)Attribute,每一個(gè)Attribute有唯一的name。

編寫(xiě)代碼證明提出的觀(guān)點(diǎn):

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    HttpSession session = req.getSession();
    PrintWriter writer = resp.getWriter();
    // 給session綁定一個(gè)user對象
    session.setAttribute("user", new User(1, "kongsam"));
    List<String> users = new ArrayList<>();
    users.add("kongsam");
    users.add("xiaoming");
    users.add("xiaohong");
    // 給session綁定一個(gè)list數組
    session.setAttribute("list", users);
    // 最后打印輸出
    writer.println("JSESSIONID = " + session.getId());
    writer.println("object => user = " + session.getAttribute("user").toString());
    for (String user : users) {
        writer.println("list => user = " + user);
    }
}

兩個(gè)不同的瀏覽器就是兩個(gè)不同的客戶(hù)端,這兩個(gè)客戶(hù)端對應不同的JSESSIONID。

Cookie的工作原理以及講解請見(jiàn):

Session如何工作

在現實(shí)生活中,當你去理發(fā)店理發(fā)時(shí),你可以選擇在前臺辦理一張會(huì )員卡,前臺工作人員將你的基本信息和之后的消費信息等都存儲到店家電腦的硬盤(pán)上,在以后消費的時(shí)候你僅憑一張會(huì )員卡就可以查詢(xún)到你所有的信息和消費記錄。注意,這里的你是指客戶(hù)端,前臺(店家)指的是服務(wù)端。

結合代碼理解Session

SessionDemo01是用來(lái)創(chuàng )建一個(gè)假的數據,并且把這個(gè)數據庫存放到Session中進(jìn)行保管。

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    HttpSession session = req.getSession();
    // 創(chuàng  )建一個(gè)假數據庫
    Map<String, VipUser> vipUsers = new HashMap<>();
    vipUsers.put("kongsam", new VipUser(1, "kongsam", "123", 50));
    vipUsers.put("xiaoming", new VipUser(2, "xiaoming", "123", 100));
    vipUsers.put("xiaohong", new VipUser(3, "xiaohong", "123", 200));
    // 將假數據庫的數據存放到Session中
    session.setAttribute("vipUsers", vipUsers);
}

然后SessionDemo02用于訪(fǎng)問(wèn)Session里vipsUsers數據庫,如果用戶(hù)沒(méi)有辦理或者不存在該用戶(hù)則為其注冊一個(gè)新VIP。

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    req.setCharacterEncoding("utf-8");
    resp.setCharacterEncoding("utf-8");
    resp.setContentType("text/html;charset=utf-8");
    HttpSession session = req.getSession();
    // 獲取username
    String username = req.getParameter("username");
    // 從Session中取出數據庫
    Map<String, VipUser> maps = (Map<String, VipUser>) session.getAttribute("vipUsers");
    // 判斷數據庫中是否有和username匹配的用戶(hù)
    if (maps.get(username) != null && maps.get(username).getUsername().equals(username)) {
        resp.getWriter().println(maps.get(username).getUsername() + "您好,您目前的積分是: " + maps.get(username).getPoints());
    } else {
        resp.getWriter().println("您還沒(méi)有辦理會(huì )員卡,前臺正在為您辦理中...,請刷新頁(yè)面。");
        maps.put(username, new VipUser(1, username, "123", 50));
        session.setAttribute("vipUsers", maps);
    }
}

來(lái)看看效果吧!

以上就是Java Web會(huì )話(huà)技術(shù)Session的簡(jiǎn)單使用的詳細內容,更多關(guān)于Java Session的使用的資料請關(guān)注腳本之家其它相關(guān)文章!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

欧美成人片在线观看| 99视频30精品视频在线观看| 人人妻人人添人人爽日韩欧美| 久久久老熟女一区二区三区| 无码成人午夜在线观看| 亚洲精品国产一二三无码AV|