Cookie和Seesion的常用方法

来源:互联网 发布:辐射测试软件 编辑:程序博客网 时间:2024/04/27 07:53

一 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);//表示删除之前的cookiecookie.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>

0 0