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. 【转载】DSP 缓存机制及影响测试

    本文主要以DSP讲解cache原理,但原理与CPU是相通的,故转载,原文地址:https://blog.csdn.net/qq_39376747/article/details/112794096 目 ...

  2. ASP.NET Core - 日志记录系统(一)

    一.日志记录 日志记录是什么?简单而言,就是通过一些方式记录应用程序运行中的某一时刻的状态,保留应用程序当时的信息.这对于我们进行应用程序的分析.审计以及维护有很大的作用. 作为程序员,我们恐怕谁也不 ...

  3. 浅析本地缓存技术-Guava Cache

    1 引言 作为java开发工作者,相信大家对于guava这个工具包都不会太陌生,而对于本地缓存技术guava cache,大家在日常的工作开发中也都有所了解,接下来本文就从各个角度入手来对于Googl ...

  4. Mysql高级1-存储引擎

    一.Mysql体系结构 1.1.连接层 最上层是一个客户端和链接服务,主要完成一些类似于链接处理,授权认证,及相关的安全方案,服务器也会为安全接入的而每个客户端验证它所具有的操作权限 1.2.服务层 ...

  5. Ubutnu 20.04 安装和使用单机版hadoop 3.2 [转载]

    按照此文档操作,可以一次部署成功:Ubutnu 20.04 安装和使用单机版hadoop 3.2 部署之后,提交测试任务报资源问题.原因是yarn还需要配置,如下: $ cat yarn-site.x ...

  6. linux 脚本:iptables-secure.sh

    #!/bin/bash # 2022.2.28 by dewan # secutiry configuration. usage () { echo "$0 start # setup se ...

  7. 2021-7-6 new tcpip

    using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne ...

  8. 【工具推荐】github打不开or加载慢?不用配置hosts,教你一键加速!

    不说废话 下载watt toolkit(原名steam++) 官方地址: Watt Toolkit - 瓦特工具箱(Steam++官网) (steampp.net) 安装完后选中,点击一键加速即可. ...

  9. ModuleNotFoundError: No module named 'requests' 解决办法

    问题记录:运行python程序时,出现报错:ModuleNotFoundError: No module named 'requests' 问题原因:没有安装requests库 解决办法:安装requ ...

  10. Python字符串操作函数split()和join()

    字符串拆分 在python中有切片(Slice)操作符,可以对字符串进行截取,还提供了split()函数可以将一个 字符串分裂成多个字符串组成的列表.在使用split()函数来拆分字符串之前,我们先来 ...