1.Cookie
cookie:以文件方式保存数据,保存在客户端,浏览器向服务器发送请求时,同时发送了cookie
1.1创建cookie
Cookie cookie = new Cookie(String,String);
1.2添加cookie
response.addCookie(cookie);
需要注意的是重定向之后再添加cookie是无法添加成功的
虽然重定向之后的java语句依然是执行的,但是响应已经发送给了客户端,这次通话结束
1.3服务器获取cookie
Cookie[] cookies = request.getCookies();
1.4设置cookie有效期
public void setMaxAge(int expiry)
cookie.setMaxAge(int);//设置的参数单位是秒
2.会话对象Session
1.一个会话就是浏览器与服务器之间的一次通话,以不同电脑上的不同浏览器为单位
2.重新打开浏览器或不同的浏览器算一次新的会话
3.不同的会话有不同的sessionid(唯一的)
4.会话关闭:关闭浏览器,但是session对象依然存在浏览器上
5.session保存在服务器
6.session对象消失:服务器关闭
语法:
Public void setAttribute(String name, Object value);
//用法:
session.setAttribute("userName", "张三丰");
----------------------------------------------------------------------------------------
Public Object getAttribute(String name);
//用法:
String userName=(String)session.getAttribute("userName");
即使会话断开,session对象依然存在服务器内存中,影响服务器性能
1.程序主动清除session数据:
- 设置会话失效:
session.invalidate();
- 移除会话属性:
public void removeAttribute(String name);
2.服务器主动清除长时间[默认30分钟]没有再次发出请求的session对象:
设置会话过期时间:
public void setMaxInactiveInterval(int interval);
3.application
application:在整个项目中共享使用数据,尽量不要用这个对象
方法:
public void setAttribute(String name, Object object)
public Object getAttribute(String name)