使用Java和JS访问cookies
在web开发中, 一些不重要的临时数据保存在客户端,既方便又能节省服务器资源。
java访问cookie:
public class CookieUtil {
//获取cookie
public static String get(HttpServletRequest request, String key) {
if (key == null || key.isEmpty()) {
return null;
}
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
Cookie ck = cookies[i];
if (ck.getName() != null && ck.getName().equals(key)) {
return ck.getValue();
}
}
}
return null;
}
//设置cookie
public static void set(HttpServletResponse response, String key, String value) {
if (key != null && key.isEmpty() == false && value != null && value.isEmpty() == false) {
Cookie ck = new Cookie(key, value);
ck.setPath("/");
response.addCookie(ck);
}
}
//删除cookie
public static void remove(HttpServletResponse response, String key) {
Cookie ck = new Cookie(key, null);
ck.setPath("/");
ck.setMaxAge(0);
response.addCookie(ck);
}
}
js设置cookie:
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+";path=/";
}
特别注意:
在cookie中,需要注意的是path这一项。表示一个cookie键值的生效路径。如下:
值为"/"表示全局有效。值为/a和/b分别表示不同的生效路径。