Session : 将内容保存在服务器中
Session的方法
/*
* getSession(true) : 获取一个新的session对象
* getSession(false): 如果已经存在session对象,则获取当前session对象,如果没有,则返回一个null -- 这个时候一定要注意空指针异常问题
*
*/
//获取session对象
HttpSession session = req.getSession();
//打印session对象
System.out.println(session);
//打印JSEESIONID :他是服务器下面的一个标识号
System.out.println(session.getId());
//销毁session
// session.invalidate();
//设置session的过期时间 单位:秒
session.setMaxInactiveInterval(20);
//存入数据
session.setAttribute("name","代先生");
//获取session
HttpSession session = req.getSession(false);
if (session==null){
System.out.println("session过期");
}else {
//取出session中的数据
Object name = session.getAttribute("name");
System.out.println(name.toString());
}
为什么使用session:
1.cookie保存的数据类型单一,只能保存字符串类型的数据
2.cookie不能保存中文
3.cookie的大小存在限制
4.cooke在浏览器中存的数据是有限制的,最多只能存储300个左右
使用session则可以解决以上的问题。
为什么session会搭配cookie使用:
1.单纯使用session,没有cookie的介入,就会显的很繁琐。
温馨提示:
1.使用session的时候一般开启浏览器的cookie功能
2.如果浏览器没有开始cookie功能,可以通过url传入参数的形式 来完成session的使用