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");
}
}