会话对象 session
时效:自创建开始,指定失效时间(相对于上次会话访问)
功能:记录会话消息,(连接时,自动生成会话id),与其他会话定义的变量不能互访
用法:
HttpSession session=request.getSession();
session.setMaxInactiveInterval(10);//设置闲置存活时间
session.setAttribute(“user”, “admin”);//设置会话
session.getId();//会话id,自动创建,会话标识
session.getCreationTime();//创建时间
session.getLastAccessedTime();//最后激活时间
${page.Context.session.id}//会话id
${sessionScope.user}//值使用
application应用对象
时效:与web服务启动同效
功能:每个会话都能访问同一个,查询结果缓存,通用设置
使用:与requestScope一样,改为${applicationScope }
request.getServletContext().setAttribute(“list”,list);
${applicationScope.list}
cookie
与session区别:
1.session是服务器变量,cookie是客户端变量,浏览器缓存里面
2.session是相对时间(上次激活)移除,cookie绝对时间移除,浏览器上自动删除,如果不设置时间,浏览器关闭自动销毁
3.session是全站内有效,cookie是站内指定范围有效
每次发送请求时,将范围内的cookie全部塞入请求一起发送,所以一般设置cookie要设置范围
Cookie[] c=request.getCookies();//获取
Cookie cookie=new Cookie(“name”, request.getParameter(“name”));
cookie.setDomain(“主机”);
cookie.setPath(“路径”);
cookie.setMaxAge(360024100);
cookie.setVersion(2);//版本,替换的
response.addCookie(cookie);
session会话跟踪
cookie会话记忆 JSESSIONID=
url会话跟踪(有些浏览器禁止cookie)