JAVA中Cookie和session的存取

328 阅读1分钟

目录

 

Cookie

Cookie -- 存

Cookie -- 清除

Cookie -- 获取

Session

Session -- 存

Session -- 清除

Session -- 获取


Cookie

Cookie -- 存

Cookie Cookie_name = new Cookie("Cookie_name", "张三");

//设置Cookie的最大生命周期,否则浏览器关闭后Cookie即失效(Integer.MAX_VALUE)
Cookie_name .setMaxAge(-1);

Cookie_name .setHttpOnly(false);

//将Cookie加到response中
response.addCookie(Cookie_name );

Cookie -- 清除

Cookie Cookie_name = new Cookie("Cookie_name", null);


//设置Cookie的最大生命周期,否则浏览器关闭后Cookie即失效
Cookie_name .setMaxAge(0);
Cookie_name .setHttpOnly(false);

//将Cookie加到response中
response.addCookie(Cookie_name );

Cookie -- 获取

Cookie[] cookies = request.getCookies();
for (Cookie c : cookies) {//遍历获取Cookie中的所有值
   if (c.getName().equals("Cookie_name "))
      return c.getValue();
}

Session

Session -- 存

HttpSession session = request.getSession();

session.setAttribute("Session_name", "张三");

//如果设置的值为零或负数,则表示会话将永远不会超时。常用于设置当前会话时间。
session.setMaxInactiveInterval(3600);

Session -- 清除

 

  1. 服务器自动清除没有活动的session,清除的时间限制就是通过setMaxInactiveInterval来设定的,一般tomcat的此默认时间值为20分钟
  2. 调用session的invalidate方法,意思就是有意而为之。
HttpSession session = request.getSession();

//清除全部Session
//session.invalidate();

session.removeAttribute("Session_name");

Session -- 获取

HttpSession session = request.getSession();

//String.valueof()为空时,返回值为字符串"null",
//源码 return (obj==null) ? "null" : obj.toString()   
if(!String.valueOf(session.getAttribute("Session_name")).equals("null"))
return String.valueOf(session.getAttribute("Session_name"));