Java 为什么Cookie名称和值是';http';和';代理';没有在eclipse中创建一个?
我正在尝试使用eclipse在servlet中创建一个简单的cookie程序 事实就是这样:-Java 为什么Cookie名称和值是';http';和';代理';没有在eclipse中创建一个?,java,eclipse,servlets,cookies,Java,Eclipse,Servlets,Cookies,我正在尝试使用eclipse在servlet中创建一个简单的cookie程序 事实就是这样:- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.setContentType("text/html");
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Cookie[] cookies = request.getCookies();
if(cookies == null)
{
out.print("<b> Hello Stranger </b><br>");
}
else
{
for(Cookie cookie:cookies)
{
out.print("<b> Hello" + cookie.getValue() + "</b>");
}
}
out.print("<form action = '' method = 'post'>");
out.print("What is your name?");
out.print("<input type = 'text' name = 'username'><br>");
out.print("<br>");
out.print("<input type = 'submit'>");
out.print("</form>");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
response.setContentType("text/html");
String str = request.getParameter("username");
Cookie[] cookies = request.getCookies();
if (cookies == null)
{
Cookie c = new Cookie("username",str);
c.setMaxAge(-1);
response.addCookie(c);
}
for(Cookie cookie: cookies)
{
out.print("<b> Hello," + cookie.getName() + "</b>");
}
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
//TODO自动生成的方法存根
response.setContentType(“text/html”);
PrintWriter out=response.getWriter();
Cookie[]cookies=request.getCookies();
如果(cookies==null)
{
打印(“你好,陌生人
”;
}
其他的
{
用于(Cookie:cookies)
{
out.print(“Hello”+cookie.getValue()+”);
}
}
输出。打印(“”);
打印(“你叫什么名字?”);
打印输出(“
”);
打印输出(“
”);
输出。打印(“”);
输出。打印(“”);
}
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)引发ServletException、IOException{
//TODO自动生成的方法存根
PrintWriter out=response.getWriter();
response.setContentType(“text/html”);
String str=request.getParameter(“用户名”);
Cookie[]cookies=request.getCookies();
如果(cookies==null)
{
Cookie c=新Cookie(“用户名”,str);
c、 setMaxAge(-1);
答复.addCookie(c);
}
用于(Cookie:cookies)
{
out.print(“你好,+cookie.getName()+”);
}
}
当使用eclipse在tomcat服务器上运行它时
我得到的是你好http
即使在点击提交之后
它显示的是相同的内容,而不是输入的名称。您正在迭代(并打印)入站HttpServletRequest中包含的cookie列表,但您正在将新cookie添加到HttpServletResponse中
虽然有一个addCookie()方法,但它没有匹配的getCookie(),因此如果希望查看添加到响应对象的Cookie,则需要解决此问题。有几篇文章介绍了这一点,例如和。您正在迭代(并打印)入站HttpServletRequest中包含的cookie列表,但您正在将新cookie添加到HttpServletResponse中
虽然有一个addCookie()方法,但它没有匹配的getCookie(),因此如果希望查看添加到响应对象的Cookie,则需要解决此问题。有好几篇文章介绍了这一点,例如和。但现在似乎可以了!曲奇不是一回事吗。我的意思是在响应对象中添加cookie之后,响应(包含cookie)被发送到客户端并存储在那里。现在,来自客户端的每个进一步请求都应该包含为该特定网页设置的所有cookies。i、 当我点击刷新页面时,会调用doGet方法,但是现在Cookie已经存在了!是的-客户端对同一个servlet的后续请求将包含在早期响应中设置的cookies。但是现在它似乎可以工作了!曲奇不是一回事吗。我的意思是在响应对象中添加cookie之后,响应(包含cookie)被发送到客户端并存储在那里。现在,来自客户端的每个进一步请求都应该包含为该特定网页设置的所有cookies。i、 当我点击刷新页面时,会调用doGet方法,但是现在Cookie已经存在了!是-客户端对同一servlet的后续请求将包含在早期响应中设置的cookie。