
cookie的機制是:從客戶端(瀏覽器)發送請求到服務器,然后服務器把接受的信息回寫到客戶端,這個信息在客戶端跟服務器之間進行交互。
下面是一個創建cookie的小案例
//如何創建cookiepackage com.oliver.learn;import javax.servlet.http.*;import java.io.*;public class TestCookie1 extends HttpServlet{ //處理Get請求 public void doGet(HttpServletRequest req,HttpServletResponse res){ //異常處理 //處理中文亂碼 res.setContentType("text/html;charset=gbk"); try { PRintWriter pw= res.getWriter(); //當用戶訪問該servlet時將信息創建到cookie中 //1.現在服務器端創建一個cookie Cookie mycookie = new Cookie("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呢?

//如何讀取cookiepackage com.oliver.learn;import javax.servlet.http.*;import java.io.*;public class GetCookie1 extends HttpServlet{ //處理Get請求 public void doGet(HttpServletRequest req,HttpServletResponse res){ try{ res.setContentType("text/html;charset=gbk"); PrintWriter pw=res.getWriter(); //從客戶端獲取cookie信息 Cookie [] allcookie=req.getCookies(); int i=0; //如果cookie不為空。。。 if(allcookie!=null){ //從中取出cookie for(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?
//如何刪除cookiepackage com.oliver.learn;import javax.servlet.http.*;import java.io.*;public class DeleteCookie1 extends HttpServlet{ //處理Get請求 public void doGet(HttpServletRequest req,HttpServletResponse res){ try{ res.setContentType("text/html;charset=gbk"); PrintWriter pw=res.getWriter(); //從客戶端獲取cookie信息 Cookie [] allcookie=req.getCookies(); int i=0; //如果cookie不為空。。。 if(allcookie!=null){ //從中取出cookie for(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文件的。
新聞熱點
疑難解答