Session笔记

package com.hailu;

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

/**
 *
 * session
 *  作用:
 *      解决相同用户发送不同请求时的数据共享问题
 *  特点:
 *      1、服务器端存储共享数据的技术
 *      2、session需要依赖cookie技术
 *      3、每个用户对应一个独立的session对象
 *      4、每个session对象的有效时长是30分钟
 *      5、每次关闭浏览器的时候,重新请求都会开启一个新的session对象,因为返回的JSESSIONID保存在浏览器的内存中,是临时cookie,所以关闭之后自然消失
 *  使用:
 *      获取session对象
 *      HttpSession session = request.getSession();
 *      修改session会话的保持时间
 *      session.setMaxInactiveInterval(int second);
 *      设置强制失效
 *      session.invalidate();
 */
public class SessionServlet extends javax.servlet.http.HttpServlet {
    protected void doPost(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        this.doGet(request,response);
    }

    protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException {
        //设置请求响应的编码格式
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");
        System.out.println("接受到请求get");
        //获取session对象
        HttpSession session = request.getSession();
        //设置session的有效时长
//        session.setMaxInactiveInterval(5);
        //getid方法拿到JSESSIONID
        System.out.println(session.getId());
        //设置session强制失效
//        session.invalidate();
        //向session中设置参数
        session.setAttribute("111","zhangsan");
        response.getWriter().write("学习session");
    }
}
原文地址:https://www.cnblogs.com/yanghailu/p/12797846.html