1.什么是会话?
用户打开浏览器,点击链接,访问web资源,关闭浏览器。这样就完成了一次会话
2.保存会话的2中方式
cookie: 客户端技术
session: 服务器技术
3.Cookie
class CookieDemo1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out=resp.getWriter();
Cookie[] cookies=req.getCookies();//返回数组,cookie存在多个
if(cookies!=null){
//如果存在怎么办
out.write("你上一次访问的时间是");
for(int i=0;i<cookies.length;i++){
Cookie cookie=cookies[i];
//获得名字
if(cookie.getName().equals("lastLoginTime")){
//获取cookie的值
long lastLoginTime=Long.parseLong(cookie.getValue());
Date date=new Date(lastLoginTime);
out.write(date.toLocaleString());
}
}
}else {
out.write("这是你第一次访问");
}
//服务端给客户端响应一个cookie
Cookie cookie=new Cookie("lastLoginTime",System.currentTimeMillis()+"");
//cookie有效期为1天
cookie.setMaxAge(24*60*60);
resp.addCookie(cookie);
4.Cookie小知识
一个cookie只能保存一个信息
一个web站点可以给浏览器发送多个cookie,最多存放20个
浏览器存储cookie最大值为300个左右
cookie大小限制在4KB
5.Session
- 服务器给每个浏览器创建了一个session
- 浏览器不关闭,session就存在