如何区分通过我的网站设置的多个Cookie?我正在设置两种cookie,以查看用户是否访问过该站点,另一种用于身份验证。我如何区分这两者?当有人在验证后访问页面时,我得到了它们。我是否向Cookie值添加额外信息还是有其他方式吗?我知道setName()函数将从那时起为每个cookie更改名称(来自jsessionid)。我是对的吗?
答案 0 :(得分:1)
无论如何,要对用户进行身份验证,我宁愿使用HttpSession
。登录时,将User
对象作为会话属性,以便您可以检查会话中是否存在User
对象。 HttpSession
本身由JSESSIONID
cookie支持,唯一的区别是servletcontainer将透明地为您管理这一切。
答案 1 :(得分:0)
错误的问题。创建cookie对象时设置Cookie名称。
答案 2 :(得分:0)
查看此网站以获取Cookie教程http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Cookies.html
您应该可以执行getName并检查cookie的名称。这是一个样本
public static String getCookieValue(Cookie[] cookies,
String cookieName,
String defaultValue) {
for(int i=0; i<cookies.length; i++) {
Cookie cookie = cookies[i];
if (cookieName.equals(cookie.getName()))
return(cookie.getValue());
}
return(defaultValue);
}
你应该用这样的东西创建cookie ......
Cookie searchStringCookie =
new LongLivedCookie("name", value);
response.addCookie(searchStringCookie);
答案 3 :(得分:0)
Cookie是constructed作为名称 - 值对。
getCookies()接口的HttpServletRequest调用将返回手头请求中的所有Cookie。
您可以使用getName和Cookie的retrieve it's value电话检查姓名来迭代所有Cookie并找到您需要的Cookie。