我正在使用Servlets开发一些东西。我正在这个程序中创建cookie,并且正在创建一个名为JSESSIONID
的cookie,但是当我注释掉所有代码时,即使这样创建了cookie。这是我的代码:
public class CookieDemoServlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse res) throws
ServletException, IOException {
/*String em = req.getParameter("email");
Cookie ck[] = req.getCookies();
if (ck != null) {
if (ck.length != 0) {
for (Cookie c : ck) {
String cn = c.getName();
if (cn.equals("JSESSIONID")) {
System.out.println("You are the Old User");
String cv = c.getValue();
String d = c.getDomain();
System.out.println(cn + "\t:" + cv + "\t:" + d);
}
} else {
System.out.println("Sorry,No Cookies Found");
}
}
HttpSession session = req.getSession();
boolean b = session.isNew();
if (b) {
System.out.println("You are the New user");
} else {
System.out.println("You are the Old User");
}
Cookie c1 = new Cookie("Email", em);
res.addCookie(c1);
Cookie c2 = new Cookie("Phone", "99999");
res.addCookie(c2);*/
RequestDispatcher rd = req.getRequestDispatcher("cookiedemo.jsp");
rd.forward(req, res);
}
}
}
可能是什么原因?
答案 0 :(得分:3)
JSESSIONID由J2EE应用程序服务器管理,它在应用程序服务器处于活动状态的每个会话中创建,是Servlet API使用的会话跟踪机制之一
有了这个,我们就可以知道哪些会话(对象)属于特定用户。
检查this.
答案 1 :(得分:2)
JSESSIONID
cookie。当您的代码首次调用request.getSession()
或request.getSession(true)
时,会创建会话。这不是你可以控制的东西。如果您创建会话,则会创建此cookie。