PrintWriter out = response.getWriter();
response.setContentType("text/html;charset=gb2312");
response.setCharacterEncoding("gb2312");
out.println("<html>"); out.println("<head>"); out.println("<title>Servlet Cookie Information</title>"); out.println("</head>"); out.println("<body>");
Cookie c = null;
Cookie myCookie = new Cookie("lw","1984");
myCookie.setMaxAge(60*1);
response.addCookie(myCookie);
out.print(myCookie.getName());
Cookie[] cookies = request.getCookies();
注意这里!!!!我注释过后就能运行并打印出相应的值
但取消注释就是500错误,大家看看这里出了什么问题,我实在
找不出来了!!!
/*for(int i = 0;i<cookies.length;i++){
c = cookies[i];
out.print(c.getValue());
}*/
out.println("</body>"); out.println("</html>"); out.flush();
response.setContentType("text/html;charset=gb2312");
response.setCharacterEncoding("gb2312");
out.println("<html>"); out.println("<head>"); out.println("<title>Servlet Cookie Information</title>"); out.println("</head>"); out.println("<body>");
Cookie c = null;
Cookie myCookie = new Cookie("lw","1984");
myCookie.setMaxAge(60*1);
response.addCookie(myCookie);
out.print(myCookie.getName());
Cookie[] cookies = request.getCookies();
注意这里!!!!我注释过后就能运行并打印出相应的值
但取消注释就是500错误,大家看看这里出了什么问题,我实在
找不出来了!!!
/*for(int i = 0;i<cookies.length;i++){
c = cookies[i];
out.print(c.getValue());
}*/
out.println("</body>"); out.println("</html>"); out.flush();
/*for(int i = 0;i<cookies.length;i++){
c = cookies[i];
out.print(c.getValue());
}*/
-------------------------------应该报空指针异常,Cookie c = null;要么注释,要么Cookie c = new Cookie("sth");
Cookie c = null改为Cookie c = new Cookie("www","555")然后再对他复值还是不行
我晕死了
你的异常信息跟没一样 看了也白看 500我知道 等于5个100
看清楚了...下面的源码是你的,后面的注释是我加的...Cookie c = null; //不知道你要这一句做什么???可以删掉
Cookie myCookie = new Cookie("lw","1984"); //这一句没错,lw=1984
myCookie.setMaxAge(60*1); //只保存60秒,时间短了点,
response.addCookie(myCookie);//这句也没错,这句向客户端添加的是myCookie这个Cookie对象
out.print(myCookie.getName()); //这句没有错.打印的是myCookie对象中的lw的值注意前面的都没有错...关键在下面...
Cookie[] cookies = request.getCookies();
//配合下面的FOR语句,这句就错了.你把FOR语句注释了,这个是没有错的,编译运行都可以通过.但打印出来不是这个数组对象的值....因为你这个数组中根本就没有值...
request.getCookies();---你得到的上一个页面传递过来的COOKIE..有可能你上一个页面根本就没有传递..就出错了...(也许上一个页面也有传递...只有你自己清楚,我就不知道了..),你可以在FOR外面套一个IF语句.如下:
if(cookies!=null){
for....
}else{
out.print("cookies[] is null");
}
这是看了你的代码后一点的个人理解,,仅供参考..本人也才做JAVA WEB不久,可能有不对的对方.
你的话令我毛色洞开!!
myCookie.setMaxAge(60*1);
response.addCookie(myCookie);
out.print(myCookie.getName());
Cookie[] cookies = request.getCookies();
找到了原因,第一次执行的时候,我是设置了一个COOKIE,但现在getCookies()还不能获取,只有当我刷新时才能获取上一个创建的COOKIE值,真的太谢谢了!!