JavaEE:Cookie与Session

一、Cookie使用:

说明:Cookie用于将临时数据保存在浏览器缓存中,默认-1关闭浏览器则失效。

1.给浏览器增加Cookie:

/**
* 添加Cookie
*/
public void addCookie(HttpServletRequest req, HttpServletResponse resp) {
    Cookie ck = new Cookie("username", "yyh"); // 新建Cookie
    //ck.setValue("yyh2"); // 设置这个cookie的新值
    ck.setMaxAge(60 * 60 * 2); // 设置有效期,默认-1关闭浏览器则失效,设为0时则清除此Cookie
    //ck.setDomain(".yyh.com"); // 设置在此域名下带cookie,其他域名不带
    //ck.setPath("/DownloadServlet"); // 设置在此url路径下带cookie,其他url路径不带
    resp.addCookie(ck); // 增加Cookie对象到浏览器中(客户机中)
}

2.获取浏览器传过来的Cookie:

/**
* 获取Cookie
*/
public void getCookie(HttpServletRequest req, HttpServletResponse resp) {
    Cookie[] cks = req.getCookies(); // 返回Cookie数组
    if (cks != null) {
        for (Cookie ck : cks) {
            String key1 = ck.getName(); // 保存的key,例:username
            String value1 = ck.getValue(); // key对应的value,例:yyh
            //ck.getMaxAge(); // 返回有效期
            //ck.getPath(); // 返回设置过的目录
            //ck.getDomain(); // 返回这个cookie可以出现的区域(设置过的域)
        }
    }
}

二、Session使用:

说明:Session用于将临时数据保存在服务器内存中,默认有效30分钟。

1.添加Session:

/**
* 添加Session
*/
public void addSession(HttpServletRequest req, HttpServletResponse resp) {
    HttpSession hs = req.getSession();// 获得Session对象
    String sId = hs.getId();// 获得Session对应的id
    hs.setAttribute("username", "yyh");// 增加参数与值
}

2.获取Session:

/**
* 获取Session
*/
public void getSession(HttpServletRequest req, HttpServletResponse resp) {
    HttpSession hs = req.getSession();// 获得Session对象
    String sId = hs.getId();// 获得Session对应的id
    hs.getAttribute("username");// 获取参数的值
}

3.移除/清空Session:

/**
* 移除Session
*/
public void removeSession(HttpServletRequest req, HttpServletResponse resp) {
    HttpSession hs = req.getSession();// 获得Session对象
    hs.removeAttribute("username"); // 移除此参数
    hs.invalidate(); // 清空Session所有参数
}

 

你可能感兴趣的:(JavaEE)