Session
是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。
而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一 SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的
部分代码示例:
String name=request.getParameter("userName");
//将用户信息存储到session中
HttpSession session=request.getSession(false);
if(session==null) {
//则创建session对象
session=request.getSession();
}
//将用户名存储起来
session.setAttribute(“loginname”, name);
Cookie
是保存在客户端的Jsp中使用Cookie
1.创建cookie对象
Cookie cookie=new Cookie(String key,Object value);
2.写入Cookie对象
response.addCookie(cookie);
3.读取Cookie对象
Cookie[] cookies=request.getCookies();
Session与Cookie对比:
Session 是在服务器端保存Object类型的
默认在服务器上的存储时间是30分钟
Cookie是在客户端保存用户信息,且只能保存String 类型的数据大小是4k