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. ZigBee无线网络技术在小区路灯照明系统的应用

    小区路灯照明系统是楼宇智能的一部分,但受制于布线.成本等的问题,难以得以实施.随着计算机技术的迅猛发展,无线网络技术越来越成熟,ZigBee无线网络成本低.功耗低.传输距离远等的特点,非常适合在无线路 ...

  2. Orchard官方文档翻译(三) 通过zip文件手动安装Orchard

    原文地址:http://docs.orchardproject.net/Documentation/Manually-installing-Orchard-zip-file 想要查看文档目录请用力点击 ...

  3. sqlserver 常用sql语句

    SELECT COUNT(*) FROM WeixinUser SELECT COUNT(*) FROM WeixinUser WHERE datediff(day, CreateTime,getda ...

  4. 【LeetCode】17. Letter Combinations of a Phone Number

    题目: 思路:设置两个List,一个存储当前层,一个存储最终层 public class Solution { public List<String> letterCombinations ...

  5. 【LeetCode】15. 3Sum 三个数和为0

    题目: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find al ...

  6. tornado框架之路一

    Web 服务器 每个页面都以 HTML 的形式传送到你的浏览器中,HTML 是一种浏览器用来描述页面内容和结构的语言.那些负责发送 HTML 到浏览器的应用称之为“Web 服务器”,会让你迷惑的是,这 ...

  7. Object-oriented features

    Python is an object-oriented programing language, which means that it provides features that support ...

  8. Android控件大全(二)——Toolbar

    1.隐藏Actionbar 代码中设置:requestWindowFeature(Window.FEATURE_NO_TITLE)     //如果Activity是继承自AppCompatActiv ...

  9. landsat8简介

    简介 2013年2月11号,NASA 成功发射了 Landsat 8 卫星,为走过了四十年辉煌岁月的 Landsat 计划重新注入新鲜血液.LandSat- 8上携带有两个主要载荷:OLI和TIRS. ...

  10. WP8_UTF8 to GB2312转码 (url网址中带中文字符的处理)

    直接使用例如:http://www.abc.php?name=中文符 ,客户端调用,在服务端修改后,会出现乱码, 而windows phone 又不能直接支持gb2312, 经过大量分析和验证,发现 ...