servlet中的cookie

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的更多相关文章
- 4、Servlet中的Cookie 用于存储 web 页面的用户信息。
Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息.Java Servlet 显然支持 HTTP Cookie. 识别返回用户包括三个步骤: 服务 ...
- Java Web servlet中的cookie
点击submit后: 点击查看Cookies: 在C:\Documents and Settings\Administrator\Cookies目录下面会有一个 hongten@webproj ...
- Servlet中的cookie和session
保存数据的2中方式 Cookie Session Cookie 我们可以将一些信息保存到cookie中,cookie存放在对应的浏览器目录里面.每个站点可以保存20个cookie,最大长度不超过4k. ...
- Servlet中保存的cookie值读取不到
在设计登录时记住密码功能时,很多时候回使用cookie,在Servlet中保存cookie时,再次访问登录页面,没有读取到保存的cookie值,代码如下: 1 Cookie idCookie = ne ...
- servlet种下cookie后如何携带cookie继续往下走
事情是这样的,今天我在应用1里面手动种下了一个cookie,然后它会发接着访问应用2,因为是我手动setCookie,所以它还没来得及携带cookie继续前往下一站,于是,apple pen,炸了. ...
- IT兄弟连 JavaWeb教程 Servlet会话跟踪 Cookie常用方法
以下是在Servlet中操作Cookie时可使用的有用的方法列表 ● public void setDomain(String pattern) 该方法设置cookie适用的域,例如 itxdl.c ...
- servlet中cookie的使用
---恢复内容开始--- Cookie是存储在客户端计算机上的文本文件,并保留了它们的各种信息跟踪的目的. Java Servlet透明支持HTTP Cookie. 涉及标识返回用户有三个步骤: 服务 ...
- 2016-1-30 Servlet中Session管理(Sesssion追踪)
Session管理(Sesssion追踪)是Web应用程序开发中非常重要的一个主题.这是因为HTTP是无状态的,在默认情况下,Web服务器不知道一个HTTP请求是来自初次用户,还是来自之前已经访问过的 ...
- 重温Servlet学习笔记--Cookie对象
首先要了解cookie必须得先了解http协议,,Cookie是http协议指定的,先由服务器保存cookie到浏览器,在下次浏览器请求服务器时把上次请求得到的cookie归还给服务器,cookie以 ...
随机推荐
- Card objects
There are fifty-two cards in a deck, each of which belongs to one of four suits and one of thirteen ...
- 求编译器中数的最值(c++)
#include <limits> //头文件 #include <iostream> using namespace std; int main() { cout <& ...
- powerdesigner中怎么给一主键设为自增型auto increme
在使用powerdesigner 设计数据库表时,通常要对主键进行设置,如果主键是int 类型,一般会设置成自增,那么怎么在 powerdesigner 中设置呢,以下是具体的方法: 在所要设为自增型 ...
- noip2008 笨小猴
P1125 笨小猴 1.6K通过 3.7K提交 题目提供者该用户不存在 标签模拟2008NOIp提高组 难度普及- 提交该题 讨论 题解 记录 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的 ...
- H264转成RGB24格式-2016.01.21
#include "libavcodec/avcodec.h" #include "libswscale/swscale.h" #include "l ...
- Windbg 线程状态笔记
1.ntdll!ZwWaitForSingleObject 线程被挂起,如果下面跟着是这样子: RetAddr : Args to Child : Call Site `7766e518 : `fff ...
- Windbg 内存命令 《第四篇》
内存是存储数据.代码的地方,通过内存查看命令可以分析很多问题.相关命令可以分为:内存查看命令和内存统计命令.内存统计命令用来分析内存的使用状况. 一.查看内存 有非常丰富的内存查看命令,它们被容易为d ...
- 在Apache下发布ASP.NET程序
为什么要在apache下发布ASP.NET,看这篇文章您一定有自己的原因. 我是因为XP系统里面同时装IIS 和 AppServer会有问题. 步骤: 1.环境搭建,这个不废话,我安装的是.NET2. ...
- 极速地将git项目部署到SAE的svn服务器上
本文最初发布于我的个人博客:http://jerryzou.com/posts/gitForSAE/ 我花了一些时间自己写了一个能够极速地将一个git项目部署到SAE的svn服务器上的脚本.代码不是复 ...
- HTML新特性之一----canvas
<canvas id="me"></canvas>//申请一个canvas标签 <script> var c ...