session底层解剖

1.描述

当多个用户发起请求并创建多个session会话之后,可通过session.getId()方法,利用当前Id和浏览器的cookie进行绑定用来区分会话。

 

 

范例:

import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.io.IOException;

public class Regist01 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        // 获得Session对象(它的值是存储在服务器端的)
        HttpSession session = request.getSession();

        // 设置session的属性,在session中的属性在整次会话(浏览器不关闭)都有作用
        session.setAttribute("username", username);
        session.setAttribute("password", password);

        request.getRequestDispatcher("/regist1.html").forward(request, response);
    }
}

 

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpSession;
import java.io.IOException;

public class Regist02 extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        request.setCharacterEncoding("UTF-8");


        // 根据request中获取session
        HttpSession session = request.getSession();

        // 从session获取用户名和密码
        String username = (String) session.getAttribute("username");
        String password = (String) session.getAttribute("password");

        // 获得session的ID,session利用id和浏览器的cookie进行绑定用来区分会话(如好多浏览器请求servlet创建n个session会话)
        String sessionId = session.getId();

        System.out.println(sessionId);

        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=UTF-8");

        response.getWriter().println("用户名:" + username);
        response.getWriter().println("密码:" + password);



    }
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值