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以 ...
随机推荐
- Azure磁盘的吞吐量测试
Azure的高级存储具有吞吐量大,延迟低的特点,非常适合时间关键型的应用程序(如SQL Server, Oracle, Redis等). 但高级存储同时具有价格高的特点,用户往往对其实际的性能数据较为 ...
- 缓存之Redis
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- 根据文字返回Label高度
NSString分类 @implementation NSString (stringSize) //计算文字显示的所需要的size -(CGSize)sizeWithFont:(UIFont *)f ...
- C#基础知识点
一.方法(结构.数组.冒泡排序.3个参数重载) 1将string转换为int类型 Convert.ToInt32(); int.Parse() ; int.TryParse()三种方式. 2 结构:可 ...
- DuiLib通用窗口类WindowImplBase封装
.h头文件 class WindowImplBase : public CWindowWnd, public INotifyUI, public IMessageFilterUI, public ID ...
- IE样式兼容写法
1.第一种写法 利用<!--[if lt IE 6/7/8/9/10/11]><![endif]-->,给每个html写一个class <!DOCTYPE html> ...
- 消息推送之GCM
利用GCM进行消息推送 原理 1.接收端向GCM注册registerid 2.发送端发消息给GCM服务器 这个过程需要三个参数: (1)API Key (2)registerid (3)传递的数据 3 ...
- ASP.NET MVC5 高级编程 第2章 控制器
参考资料<ASP.NET MVC5 高级编程>第5版 第2章 控制器 控制器:响应用户的HTTP 请求,并将处理的信息返回给浏览器. 2.1 ASP.NET MVC 简介 MVC 模式中的 ...
- html5,html5教程
html5,html5教程 1.向后兼容 HTML5是这样被定义的:能向后兼容目前UA处理内容的方式.为了让语言更简单,一些老的元素和Attribute被舍弃.比如一些纯粹用于展现的元素(译注:即非语 ...
- CentOS6.4安装Smokeping节点监控软件
Smokeping:它是rrdtool的作者制作的,在图形显示方面很漂亮,可以用来很好的检测网络状态和稳定性,下面简单说一下Smokeping的安装以及配置方法. 0.首先关闭selinux和防火墙 ...