<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<%
Cookie cookie = new Cookie("name", "1");
response.addCookie(cookie);
Cookie cookie1 = new Cookie("pwd", "2");
response.addCookie(cookie1); Cookie[] cookies = request.getCookies();
out.println(cookies);
if (cookies != null) {
for (int i = 0; i < cookies.length; i++) {
out.println(cookies[i].getValue() + "  "
+ cookies[i].getName());
}
}
%>
</body>
</html>为什么 第一次加载的是很 没有取到值啊 第二次就能取到了啊 

解决方案 »

  1.   

    response.addCookie(cookie);
    这一个页面是同一个请求,请求执行后,response返回的cookies,所以第一次的不到任何cookie
      

  2.   

    response.addCookie(cookie);
    这一个页面是同一个请求,请求执行后,response返回的cookies,所以第一次的不到任何cookie但是第二次能得到啊  为什么啊 您说的我没有明白
      

  3.   

    第一次请求,客户端并不存在该cookie,他的请求 request也不携带cookie值,请求到服务器之后添加cookie值,然后返回给客户端,第二次请求request就携带上保存在cookie的值给服务器,此时服务器就能获取到了
    楼主两个问题都是http协议的问题,建议找本相关的书籍好好看下
      

  4.   


    正解,其实单单看同一页面中同时有request和response,不感觉别扭吗?别扭的地方就是疑惑的所谓了,也就是答案的所在了,多思考下..