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

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

//如何创建cookie
package 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呢?

//如何读取cookie
package 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

如何去删除cookie?

//如何删除cookie
package 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文件的。

servlet中的cookie的更多相关文章

  1. 4、Servlet中的Cookie 用于存储 web 页面的用户信息。

    Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...

  2. Java Web servlet中的cookie

    点击submit后: 点击查看Cookies: 在C:\Documents and Settings\Administrator\Cookies目录下面会有一个     hongten@webproj ...

  3. Servlet中的cookie和session

    保存数据的2中方式 Cookie Session Cookie 我们可以将一些信息保存到cookie中,cookie存放在对应的浏览器目录里面.每个站点可以保存20个cookie,最大长度不超过4k. ...

  4. Servlet中保存的cookie值读取不到

    在设计登录时记住密码功能时,很多时候回使用cookie,在Servlet中保存cookie时,再次访问登录页面,没有读取到保存的cookie值,代码如下: 1 Cookie idCookie = ne ...

  5. servlet种下cookie后如何携带cookie继续往下走

    事情是这样的,今天我在应用1里面手动种下了一个cookie,然后它会发接着访问应用2,因为是我手动setCookie,所以它还没来得及携带cookie继续前往下一站,于是,apple pen,炸了. ...

  6. IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie常用方法

    以下是在Servlet中操作Cookie时可使用的有用的方法列表 ●  public void setDomain(String pattern) 该方法设置cookie适用的域,例如 itxdl.c ...

  7. servlet中cookie的使用

    ---恢复内容开始--- Cookie是存储在客户端计算机上的文本文件,并保留了它们的各种信息跟踪的目的. Java Servlet透明支持HTTP Cookie. 涉及标识返回用户有三个步骤: 服务 ...

  8. 2016-1-30 Servlet中Session管理(Sesssion追踪)

    Session管理(Sesssion追踪)是Web应用程序开发中非常重要的一个主题.这是因为HTTP是无状态的,在默认情况下,Web服务器不知道一个HTTP请求是来自初次用户,还是来自之前已经访问过的 ...

  9. 重温Servlet学习笔记--Cookie对象

    首先要了解cookie必须得先了解http协议,,Cookie是http协议指定的,先由服务器保存cookie到浏览器,在下次浏览器请求服务器时把上次请求得到的cookie归还给服务器,cookie以 ...

随机推荐

  1. [HTML5] document.hidden

    特殊说明: 通过document.hidden属性,可判断页面是否可见. 如果不可见,则document.hidden为true. 如果可见, 则为false. 但是, 如果该页面只是被其它窗口挡住, ...

  2. [Mongo] 简单的操作命令

    1. 连接服务器: mongo 2. 连接数据库 use dbname 3. 查询所有集合的名字 db.getCollectionNames() 4. 查询某集合的数据 db.collection.f ...

  3. php操作mysql的基础链接实例

  4. Flash图表控件FusionCharts如何在图表中显示标识和图片

    在FusionCharts的图表中显示外部商标 使用FusionCharts之后,用户可以在运行时加载需要在图表中显示的外部标识/图片/图像.这个标识可以GIF / JPEG / PNG或SWF文件格 ...

  5. 【LeetCode】16. 3Sum Closest

    题目: Given an array S of n integers, find three integers in S such that the sum is closest to a given ...

  6. com学习(一)GUID 和 接口

    话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了.那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 E ...

  7. wamp环境下外网访问自己电脑自己写的网站

    首先我广州电信是对外封杀80端口的,但是内网可以用80端口访问, 可以将访问的端口改成81, apache的配置文件,httpd.conf 首先找到3个Listen 将80端口改成81 #Listen ...

  8. AJAX(学习笔记一)

    1:什么是AJAX? AJAX是一组英文单词的简写,这组英文单词是 :Asynchronous JavaScript and XML ,翻译成中文的意思是: 异步的JavaScript 和 XML.什 ...

  9. C#实现文件下载的几种方法

    //WriteFile实现下载 protected void Button2_Click(object sender, EventArgs e) { /* using System.IO; */ st ...

  10. PowerDesigner之PDM(物理概念模型)

    一.PDM概述 PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库. PDM中涉及到的基本概念包括: 表: 列: 视图: 主键: 候选键: 外键: 存 ...