Cookie技术随笔

Cookie是什么呢,它像一张表,保存用户信息到客户端,有名字和值两部分组成,一般保存在C://Documents and Settings目录下

如何创建一个Cookie呢?Cookie c = new Cookie(String name,String value);

如何将Cookie添加到客户端呢?  response.addCookie(c);

服务器如何读取Cookie呢?  request.getCookies();

Cookie存在时间用setMaxAge()方法设置,如果没有设置时间,Cookie是不会被保存的,单位是秒,如果是负数,表示不保存Cookie,如果是0,表示该Cookie会被删除

应用:用cookie保存用户名密码

1 //创建Cookie
2                             Cookie name = new Cookie("myname", username);
3                             Cookie pass = new Cookie("mypass", password);
4                             //设置时间
5                             name.setMaxAge(14*24*3600);
6                             pass.setMaxAge(14*24*3600);
7                             //回写到客户端
8                             res.addCookie(name);
9                             res.addCookie(pass);
			//如果Session中没有用户信息,再看看有没有Cookie信息
			//从客户端读取Cookie信息
			Cookie[] allCookies = req.getCookies();
			int i=0;

			//如果allCookies不为空
			if(allCookies!=null)
			{
				//从中取出Cookie
				for(i=0;i<allCookies.length;i++)
				{
					//依次取出Cookie
					Cookie tempCookie = allCookies[i];
					if(tempCookie.getName().equals("myname"))
					{
						name=tempCookie.getValue();
					}else if(tempCookie.getName().equals("mypass"))
					{
						passwd =tempCookie.getValue();
					}
				}
				if(!name.equals("")&&!passwd.equals(""))
				{
					try {
						System.out.println("准备跳转logincl页面,username="+name+",password="+passwd);
						res.sendRedirect("logincl?username="+name+"&password="+passwd);
						return ;
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
				}
			}
			try {
				res.sendRedirect("login?info=error1");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
时间: 2024-11-08 17:44:47

Cookie技术随笔的相关文章

golang技术随笔(二)理解goroutine

进程.线程和协程 要理解什么是goroutine,我们先来看看进程.线程以及协程它们之间的区别,这能帮助我们更好的理解goroutine. 进程:分配完整独立的地址空间,拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程的切换只发生在内核态,由操作系统调度. 线程:和其它本进程的线程共享地址空间,拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程的切换一般也由操作系统调度(标准线程是的). 协程:和线程类似,共享堆,不共享栈,协程的切换一般由程序员在代码中显式控制. 进程和线程的切换主要依赖于时

黑马day05 Cookie技术入门&amp;记录上次访问的时间

1.Cookie技术: 客户端技术 Cookie是基于set-Cookie响应头和Cookie请求头工作的,服务器可以发送set-Cookie请求头命令浏览器保存一个cookie信息,浏览器会在访问服务器时以Cookie请求头的方式带回之前保存的信息 request.getCookies(); response.addCookie(Cookie c); new  Cookie(String name,String value)//Cookie在构造的时候就需要设定好cookie的名字和值 get

技术随笔

2016-09-06 技术随笔 累计代码行  156 随笔字数  921 知识点 数据流读入 Util包下String的部分用法 哈希表的使用 Scanner的使用 随机数生成

会话管理之Cookie技术

会话管理是web开发中比较重要的环节,这一节主要总结下会话管理中的cookie技术. 1. 何为会话 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称为一个会话. 1.1 会话过程中要解决的问题 1)每个用户在使用浏览器与服务器进行会话的过程中,不可避免会各自产生一些数据,程序要想办法为每个用户保存这些数据.        2)如:用户点击超链接通过一个servlet购买了一个商品,程序应该想办法保存用户购买的商品,以便于用于点结账serv

cookie技术案例-用户浏览商品的记录

1引言 你点击了桌面上的Chrome图标,一个浏览器窗口出现了,输入网址就可以在Internet世界愉快玩耍.这一切是怎么实现的呢?Chromium这个多进程的程序是如何启动各个进程的呢?浏览器主进程(界面进程)启动了哪些线程?如何启动的呢?这些问题一直萦绕在心头,一起来看看源代码吧.本文主要针对Chromium for Mac的源代码,其它操作系统大同小异. 2背景知识 浏览器作为一个应用程序,是以进程的形式运行在操作系统上的.首先,Chromium是一个多进程的应用程序,我们需要了解Chro

js操纵cookie技术

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>图片浏览</title> <script ty

Cookie技术

u  常用的API 创建Cookie对象 Cookie(String name, String value)    ->以指定数据创建Cookie对象 设置Cookie对象 void setMaxAge(int expiry)                ->设置Cookie的最大有效时间 void setPath(String uri)                             ->设置Cookie的有效路径 void setDomain(String pattern)

cookie技术实现自动登录+cookie中写入中文+记住用户名

结合上次写的cookie技术实现自动登录添加部分功能<tr> <td colspan="2"> <input type="checkbox" name="usernamelogin" id="usernamelogin" value="usernameOk" >记住用户名 <input type="checkbox" name="aut

[转]不用Cookie的“Cookie”技术

有另外一种比较隐蔽的用户追踪技术,不使用cookie或者Javascript.很多网站已经在用了,但知道的人不多.本文就来介绍一下这种技术是如何追踪用户,用户又该如何避免追踪. 这种技术不依赖于: Cookies Javascript LocalStorage/SessionStorage/GlobalStorage Flash, Java或插件 你的IP地址或者User Agent头 Panopticlick 相反,它使用另外一种存储方式,而这种存储即使浏览器关闭仍然能够存在,那就是浏览器缓存