servlet中的cookie

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

cookie的机制是:从客户端(浏览器)发送请求到服务器,然后服务器把接受的信息回写到客户端,这个信息在客户端跟服务器之间进行交互。

下面是一个创建cookie的小案例

//如何创建cookiepackagecom.oliver.learn;importjavax.servlet.http.*;importjava.io.*;publicclassTestCookie1extendsHttpServlet{//处理Get请求publicvoiddoGet(HttpServletRequest req,HttpServletResponse res){//异常处理//处理中文乱码res.setContentType("text/html;charset=gbk");try{PRintWriter pw=res.getWriter();//当用户访问该servlet时将信息创建到cookie中//1.现在服务器端创建一个cookieCookie mycookie =newCookie("color","red");//2.该cookie存在的时间mycookie.setMaxAge(30);//3.将cookie写回到客户端res.addCookie(mycookie);

pw.println("cookie已经创建!请到c盘相应路径下查看");

pw.println("");

}catch(IOException e) {

e.printStackTrace();

}

}

}

cookie存储在C盘的路径为:C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Cookies,Administrator根据自己的实际情况修改。

效果如下:

如何读取cookie呢?

//如何读取cookiepackagecom.oliver.learn;importjavax.servlet.http.*;importjava.io.*;publicclassGetCookie1extendsHttpServlet{//处理Get请求publicvoiddoGet(HttpServletRequest req,HttpServletResponse res){try{

res.setContentType("text/html;charset=gbk");

PrintWriter pw=res.getWriter();//从客户端获取cookie信息Cookie [] allcookie=req.getCookies();inti=0;//如果cookie不为空。。。if(allcookie!=null){//从中取出cookiefor(i=0;i<allcookie.length;i++){//依次取出Cookie temp=allcookie[i];//判断一下if(temp.getName().equals("color")){

String val=temp.getValue();

pw.println(val);

break;

}

}if(allcookie.length==i){

pw.println("cookie过期");

}

}else{

pw.println("cookie已经过期或者不存在color这个cookie!");

}

}catch(IOException e) {

e.printStackTrace();

}

}

}

得到cookie

如何去删除cookie?

//如何删除cookiepackagecom.oliver.learn;importjavax.servlet.http.*;importjava.io.*;publicclassDeleteCookie1extendsHttpServlet{//处理Get请求publicvoiddoGet(HttpServletRequest req,HttpServletResponse res){try{

res.setContentType("text/html;charset=gbk");

PrintWriter pw=res.getWriter();//从客户端获取cookie信息Cookie [] allcookie=req.getCookies();inti=0;//如果cookie不为空。。。if(allcookie!=null){//从中取出cookiefor(i=0;i<allcookie.length;i++){//依次取出Cookie temp=allcookie[i];//判断一下if(temp.getName().equals("color")){

temp.setMaxAge(0);

pw.println("cookie已经删除");

break;

}

}if(allcookie.length==i){

pw.println("cookie过期");

}

}else{

pw.println("cookie已经过期或者不存在color这个cookie!");

}

}catch(IOException e) {

e.printStackTrace();

}

}

}

表明cookie已经删除,此时去C盘中不存在cookie文件的。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航