cookie介绍:Cookie通常用于网站记录客户的某些信息,比如客户的用户名、客户的喜好(比如,上一次浏览的宝贝)等。一旦用户下次登录,网站可以获取到客户相关的信息,根据这些客户信息,网站可以对客户进行更友好的服务(比如,您浏览过的商品是哪些等)。session会随浏览器关闭而失效,但cookie会一直保存在客户端机器上,除非超出cookie的生命周期
 
一、增加cookie的步骤:(使用response对象)
    (1)创建cookie,构造器为 Cookie(java.lang.String name, java.lang.String value)

Constructs a cookie with the specified name and value.

 
java.lang.Object
  javax.servlet.http.Cookie
 (2)设置cookie生命周期,即该cookie在多长时间内有效  
public void setMaxAge(int expiry)
Sets the maximum age in seconds for this Cookie.
 (3)向客户端写cookie, response.addCookie(c)
void addCookie(Cookie cookie)
Adds the specified cookie to the response. This method can be called multiple times to set more than one cookie.
response对象:
    (1)、输出非字符内容:大部分时候,程序无须使用response来响应客户端请求,因为有个更简单的out对象,但out对象只能响应字符内容,假如需要在JSP页面中动态生成一副位图、或者输出一个PDF文档,只能用response对象
    (2)、重定向请求
    (3)、向客户端增加cookie
 

PS:response也是JSP内置的9大对象之一,对应于Servelt的对象为javax.servlet.http.HttpServletResponse

例1:addCookie.jsp

 1 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <title>增加cookie</title>
5 </head>
6 <body>
7 <%
8 //获取请求参数
9 String name = request.getParameter("name");
10 //以获取到的请求参数为值,创建一个cookie对象
11 Cookie cookie = new Cookie("username", name);
12 //设置cookie对象的生成周期
13 cookie.setMaxAge(24*3600);
14 //向客户端增加cookie对象
15 response.addCookie(cookie);
16 %>
17 </form>
18 </body>
19 </html>

演示:访问http://localhost:8888/webDemo/jspObject/addCookie.jsp?name=wxdlut

当没有如下两行代码时结果如下:

12 //设置cookie对象的生成周期

13 cookie.setMaxAge(24*3600);

时间为2013-12-14 15:29,而cookie里的expires时间为2013-12-15 07:29GMT

 
二、读取cookie的步骤:使用request对象
Cookie[] getCookies()     request.getCookies()
        Returns an array containing all of the Cookie objects the client sent with this request. This method returns null if no cookies were sent.

例2:readCookies.jsp

 1 <%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
2 <html xmlns="http://www.w3.org/1999/xhtml">
3 <head>
4 <title>读取cookie</title>
5 </head>
6 <body>
7 <%
8 //获取本站在客户端上保留的所有cookie
9 Cookie[] cookies = request.getCookies();
10 //遍历客户端上的每个cookie
11 for (Cookie c : cookies) {
12 out.println("name=" + c.getName() + ", value=" + c.getValue());
13 }
14 %>
15 </form>
16 </body>
17 </html>

演示:

Cookie入门实例的更多相关文章

  1. PHP之cookie相关实例教程与经典代码

    ·php 中cookie和session的用法比较 ·php会话控制cookie与Session会话处理 ·php中利用cookie实现购物车实例 ·php中cookie与session应用学习笔记 ...

  2. React 入门实例教程(转载)

    本人转载自: React 入门实例教程

  3. struts入门实例

    入门实例 1  .下载struts-2.3.16.3-all  .不摆了.看哈就会下载了. 2  . 解压  后 找到 apps 文件夹. 3.    打开后将 struts2-blank.war   ...

  4. Vue.js2.0从入门到放弃---入门实例

    最近,vue.js越来越火.在这样的大浪潮下,我也开始进入vue的学习行列中,在网上也搜了很多教程,按着教程来做,也总会出现这样那样的问题(坑啊,由于网上那些教程都是Vue.js 1.x版本的,现在用 ...

  5. wxPython中文教程入门实例

    这篇文章主要为大家分享下python编程中有关wxPython的中文教程,分享一些wxPython入门实例,有需要的朋友参考下     wxPython中文教程入门实例 wx.Window 是一个基类 ...

  6. Omnet++ 4.0 入门实例教程

    http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...

  7. Spring中IoC的入门实例

    Spring中IoC的入门实例 Spring的模块化是很强的,各个功能模块都是独立的,我们可以选择的使用.这一章先从Spring的IoC开始.所谓IoC就是一个用XML来定义生成对象的模式,我们看看如 ...

  8. Node.js入门实例程序

    在使用Node.js创建实际“Hello, World!”应用程序之前,让我们看看Node.js的应用程序的部分.Node.js应用程序由以下三个重要组成部分: 导入需要模块: 我们使用require ...

  9. Java AIO 入门实例(转)

    Java7 AIO入门实例,首先是服务端实现: 服务端代码 SimpleServer: public class SimpleServer { public SimpleServer(int port ...

  10. Akka入门实例

    Akka入门实例 Akka 是一个用 Scala 编写的库,用于简化编写容错的.高可伸缩性的 Java 和 Scala 的 Actor 模型应用. Actor模型并非什么新鲜事物,它由Carl Hew ...

随机推荐

  1. http方式内网搭建CDH6.3.2与部分组件优化

    Cloudera_Manager_6.3.2安装配置文档 1. 配置准备 Cloudera Manager (简称CM)用于管理CDH6集群,可进行节点安装.配置.服务配置等,提供Web窗口界面提高了 ...

  2. java使用apache.poi导出word文件

    功能说明: 将试卷导出word,并可以打印,装订,效果图: 下面是实现代码: package com.xxxxx.business.course.utils; import com.alibaba.f ...

  3. 3D相册 复仇者联盟

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. linux下创建虚拟环境

    安装虚拟环境: 1 sudo apt-get install virtualenvwrapper 配置环境变量: 1.创建目录用于存放虚拟环境. 1 mkdir $HOME/.virtualenvs ...

  5. 使用sqlplus

    1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时, ...

  6. 【技术积累】Linux中的命令行【理论篇】【五】

    arpd命令 命令介绍 arpd命令是Linux系统中的一个网络工具,用于管理和操作ARP(地址解析协议)缓存.ARP协议用于将IP地址映射到MAC地址,以便在局域网中进行通信. 命令说明 arpd命 ...

  7. python命令行解析模块argparse

    argparse是Python标准库中推荐的命令行解析模块 code01: tmp.py import argparse parser = argparse.ArgumentParser(descri ...

  8. 二代水务系统架构设计分享——DDD+个性化

    系统要求 C/S架构的单体桌面应用,可以满足客户个性化需求,易于升级和维护.相比于一代Winform,界面要求美观,控件丰富可定制. 解决方案 依托.Net6开发平台,采用模块化思想设计(即分而治之的 ...

  9. sqli-labs全通关payload

    less-1: less-2: less-3: less-4: less-5: less-6: less-7: outfile,dumpfile,load_file函数的用法如下所示: less-8: ...

  10. AVR汇编(三):寻址方式

    AVR汇编(三):寻址方式 AVR具有多种寻址方式,在介绍具体的汇编指令之前,有必要对它们做一定了解. 前面介绍过,AVR将内存空间分为多个部分:寄存器堆.I/O空间.数据空间.程序空间.这些空间支持 ...