Cookie和Seesion的常用方法

一 Cookie的简单用法:

1写入读取

1)写入

//创建cookie对象,键值对
Cookie c1 = new Cookie("username","admin");
Cookie c2 = new Cookie("password","admin");
// 把cookie写入浏览器,req为HttpServletRequest的对象
req.addCookie(c1);
req.addCookie(c2);
2)读取

Cookie[] cookies = req.getCookies(); // req为HttpServletRequest的对象
for (Cookie cookie : cookies) {
   String key = cookie.getName();
   if ("user".equal(key)) {
       String value = cookie.getValue();
   }
}

2生命周期

cookie.setMaxAge(60*60);//单位为s,表示生命周期为1小时;
cookie.setMaxAge(0);//表示删除之前的cookie
cookie.setMaxAge(-1);//默认值,表示一次会话结束即浏览器关闭时,cookie失效;负数都表示这个意思
3路径设置

// 如果你想在Bservlet中访问Aservlet的cookieA,就需要设置cookieA的路径
// 如果不设置cookie的path,默认是/项目名称/当前路径的上一层地址,如/projectName/servlet/login,cookie的路径为/projectName/servlet
// 当我们访问的路径包含cookie的路径时,request对象中就包含了该cookie

/*当访问http://localhost/a/b/MyServlet时候,会包含下面两个cookie*/
cookie1.setPath("/项目名称/a/");
cookie2.setPaht("/项目名称/a/b/");
4中文存取

Cookie c = new Cookie("key", URLEncoder.encode("中文")); //写入
String value = URLDecoder.decode(cookie.getValue()); //读取

二 Session的用法(session的范围大于request;session通过id与浏览器绑定区分会话)

1写入读取

//写入
HttpSession session = req.getSession();
session.setAttribute("key","value");

//读取
HttpSession session = req.getSession();
String value = (String)session.getAttribute("key");//常见如获取用户名、密码等
String seesionId = session.getId();//一个session利用唯一的id与浏览器的cookie进行绑定,用来区分会话

2失效(常用于注销;失效原因:会话超时,invalidate方法,浏览器cookie禁用)

//注销
session.invalidate();

//时长-web.xml中配置,单位为分钟
<session-config>
   <session-timeout>1</session-timeout>
</session-config>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值