刚看到cookie这儿,有些地方不懂;比如我先创建cookie:package com.wjf;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class CreateCookies1 extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
Cookie myCookie1 = new Cookie("color","red");
Cookie myCookie2 = new Cookie("color","black");
res.addCookie(myCookie1);
res.addCookie(myCookie2);
pw.println(myCookie1);
pw.println(myCookie2);
pw.println("Cookie已创建!");
}catch(IOException e){
e.printStackTrace();
} }
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}然后这样写获取cookie:package com.wjf;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class CreateCookies2 extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
Cookie[] allCookies = req.getCookies();
if(allCookies != null){
for(int i=0;i<allCookies.length;i++){
Cookie temp = allCookies[i];
pw.println(temp.getName()+"="+temp.getValue());
}
}else{
pw.println("不存在Cookies!");
}
}catch(IOException e){
e.printStackTrace();
} }
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}
打印:color=black请问为什么打印不出color=red?怎样才能打印出来啊?
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class CreateCookies1 extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
Cookie myCookie1 = new Cookie("color","red");
Cookie myCookie2 = new Cookie("color","black");
res.addCookie(myCookie1);
res.addCookie(myCookie2);
pw.println(myCookie1);
pw.println(myCookie2);
pw.println("Cookie已创建!");
}catch(IOException e){
e.printStackTrace();
} }
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}然后这样写获取cookie:package com.wjf;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;public class CreateCookies2 extends HttpServlet{ public void doGet(HttpServletRequest req,HttpServletResponse res){
try{
res.setContentType("text/html;charset=gbk");
PrintWriter pw = res.getWriter();
Cookie[] allCookies = req.getCookies();
if(allCookies != null){
for(int i=0;i<allCookies.length;i++){
Cookie temp = allCookies[i];
pw.println(temp.getName()+"="+temp.getValue());
}
}else{
pw.println("不存在Cookies!");
}
}catch(IOException e){
e.printStackTrace();
} }
public void doPost(HttpServletRequest req,HttpServletResponse res){
this.doGet(req,res);
}
}
打印:color=black请问为什么打印不出color=red?怎样才能打印出来啊?
解决方案 »
- java web 调用VC写的com组件,调用组件中的接口参数总是传不进去
- URLRewirte实现url重新问题
- iframe自适应高度问题
- 请教:如何用js清除cookies文件夹里的所有cookie文件?
- hibernate的ScrollableResults怎么取出特定的列值
- 请问大虾们,实现树型结构的遍历查询,除了递归还有什么好方法吗?
- 高分在线请教一个问题,感谢各位高手
- jsp调用javaBean,老问题,但我什么都试过了,就是不行!!!
- 高分请教关于session的问题
- 我想在JB6里自定义Application server,有哪位大侠可以告诉我怎样设,100分
- 请帮帮忙写一个正则表达式。。。。谢谢了,完了分就送上。。
- 奇怪的错误,大家看看
Cookie myCookie2 = new Cookie("color","black");Cookie其实是键值对,难道是因为两个key值(color)相同?lz把key值换一下,按说new了两次不应该啊。
还有就是再问一下,如果没有设置cookie的保存时间,就是setMaxAge();这个函数不设置,cookie好像不会保存到磁盘的文件夹里,但第二个程序还能得到cookie里面的值,请问为什么啊?