如何创建Cookie

先引包:

import="javax.servlet.http.Cookie"

JSP是使用如下的语法格式来创建cookie的:

Cookie cookie_name =new Cookie("Parameter","Value");

例如:
Cookie username_Cookie =new Cookie("username","SMN");

cookie.setMaxAge(10);   //存活期为10秒

response.addCookie(username_Cookie);

  解释:JSP是调用Cookie对象相应的构造函数Cookie(name,value)用合适的名字和值来创建Cookie,然后Cookie可以通过HttpServletResponse的addCookie方法加入到Set-Cookie应答头,本例中Cookie对象有两个字符串参数:username,SMN。注意,名字和值都不能包含空白字符以及下列字符:@ : ;? , " / [ ] ( ) =

处理Cookie的属性

类型 方法名 方法解释
String getComment() 返回cookie中注释,如果没有注释的话将返回空值.
String getDomain() 返回cookie中Cookie适用的域名. 使用getDomain() 方法可以指示浏览器把Cookie返回给同 一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始(例如.yesky.com)
int getMaxAge() 返回Cookie过期之前的最大时间,以秒计算。
String getName() 返回Cookie的名字。名字和值是我们始终关心的两个部分,笔者会在后面详细介绍 getName/setName。
String getPath() 返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下 的所有页面。
boolean getSecure() 如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。
String getValue() 返回Cookie的值。笔者也将在后面详细介绍getValue/setValue。
int getVersion() 返回Cookie所遵从的协议版本。
void setComment(String purpose) 设置cookie中注释。
void setDomain(String pattern) 设置cookie中Cookie适用的域名
void setMaxAge(int expiry) 以秒计算,设置Cookie过期时间。
void setPath(String uri) 指定Cookie适用的路径。
void setSecure(boolean flag) 指出浏览器使用的安全协议,例如HTTPS或SSL。
void setValue(String newValue) cookie创建后设置一个新的值。
void setVersion(int v) 设置Cookie所遵从的协议版本。  

读取客户端的Cookie

JSP将调用request.getCookies()从客户端读入Cookie,getCookies()方法返回一个HTTP请求头中的内容对应的Cookie对象数组。你只需要用循环访问该数组的各个元素,调用getName方法检查各个Cookie的名字,直至找到目标Cookie,然后对该Cookie调用getValue方法取得与指定名字关联的值。

例如:

<%
   //从提交的HTML表单中获取,用户名
   String userName=request.getParameter("username");    //以"username", userName 值/对 创建一个Cookie
   Cookie theUsername=new Cookie("username",userName);    response.addCookie(theUsername);
  %>
  ..............
  <%
   Cookie myCookie[]=request.getCookies();//创建一个Cookie对象数组    for(int n=0;n=cookie.length-1;i++){//设立一个循环,来访问Cookie对象数组的每一个元素    Cookie newCookie= myCookie[n];    if(newCookie.getName().equals("username")); //判断元素的值是否为username中的值
    {%>
     你好,<%=newCookie.getValue()%>!//如果找到后,向他问好
    <%}
  }
  %>

设置Cookie的存在时间,及删除Cookie

使用setMaxAge(int expiry)方法来设置Cookie的存在时间,参数expiry应是一个整数。正值表示cookie将在这么多秒以后失效。注意这个值是cookie将要存在的最大时间,而不是cookie现在的存在时间。负值表示当浏览器关闭时,Cookie将会被删除。零值则是要删除该Cookie。

<%
   Cookie deleteNewCookie=new Cookie("newcookie",null); //newcookie是要删除的cookie的名字
   deleteNewCookie.setMaxAge(0); //删除该Cookie
   response.addCookie(deleteNewCookie);
%>

JSP中的Cookie的更多相关文章

  1. JSP中使用cookie存储中文

    今天看J2EE的时候,看见书上讲到使用cookie保存信息的时,看到书上举得例子都是英文的键值对,我就想中文是不是一样呢?试了一下果然不一样.废话不多说,直接上代码: 比如说有addCookie.js ...

  2. 3、JSP中的Cookie 用于存储 web 页面的用户信息。

    cookie 在平时生活中的运用 存储用户在网页上的登陆信息,包括账号和密码. 有的网站,登陆的时候,会出现一个选项,问你是否要一周内或者一个月内保持登陆状态.如果你选了,那么一周之内,都不需要再输入 ...

  3. JSP中取COOKIE中指定值得方法【转载】

    Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=n ...

  4. 如何在JSP中获得Cookie对象

    Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=n ...

  5. JSP | 基础 | JSP状态管理 | Cookie

    Cookie : 是web服务器保存在客户端的一系列文本信息. Cookie的作用: 1.对特定的对象的追踪 2. 3. JSP中创建Cookie以及使用 创建Cookie对象 写入Cookie对象 ...

  6. 在jsp页面的js中使用Cookie的原理介绍以及相应方法的代码

    1. 设置cookie 1.1 每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie: document.cookie="user_Id=828&q ...

  7. jsp中获取不到servlet的cookie

    今天做登陆,发现jsp中使用document.cookie获取不到servlet生成的cookie,我们可以在浏览器的cookie文件夹中发现,servlet中生成的cookie和jsp中的生成的路径 ...

  8. 在jsp中怎么使用Cookie?el表达式中获取cookie的问题

    初学jsp,不清楚cookie的使用方法,希望高手指点一下!   一般来说有两种办法,在JSP中使用Java的嵌入脚本. 例如: 写入Cookie <html> <head>. ...

  9. JSP 中EL表达式用法详解

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

随机推荐

  1. 基于SpringBoot+SpringSecurity+mybatis+layui实现的一款权限系统

    这是一款适合初学者学习权限以及springBoot开发,mybatis综合操作的后台权限管理系统 其中设计到的数据查询有一对一,一对多,多对多,联合分步查询,充分利用mybatis的强大实现各种操作, ...

  2. BootStrap的动态模态框及静态模态框

    1.要用bootStrap这个框架就必须要重载它的class类,也就是说class要一样 代码如下: 有疑问的可以在下面留言,欢迎大家一起交流 1.1动态模态框 <!DOCTYPE html&g ...

  3. PHP如何实现99乘法表?

    看到这个问题,可能大家更多的是考虑到用for循环,个人觉得使用for循环太影响程序性能.推荐使用递归处理.  /** * Title : 递归实现99乘法表 * Author : Bruceqi * ...

  4. CentOS下安装pip

    CentOS下安装pip 通常情况下使用命令: yum -y install pip 也有可能报错,无法安装.这是应该使用第二种方法. 1.首先需要先安装扩展源EPEL: yum -y install ...

  5. Learning Experience of Big Data: Connect CentOs to Xshell and set Java environment on CentOS

    1.set up connections between vitural machine and Xshell: After we connect the virtural machine to ne ...

  6. DSP+ARM多核异构开发环境SYSLINK搭建OMAPL138

    DSP+ARM多核异构开发环境搭建OMAPL138 注意: 环境为Ubuntu 12.04 只能是这个环境.我甚至在Ubuntu16.04上面安装了VMware,然后,在装了一个Ubuntu 12.0 ...

  7. HyperLedger Fabric 1.4 关键技术(6.4)

    本节介绍从最底层的账本开始,逐一讲解账本的结构和存储.智能合约的编写和部署.通道的操作.节点的背书和提交.排序的共识和客户端SDK的接口调用,与交易流程顺序相反,由里及表的说明Fabric最关键的技术 ...

  8. [Codeforces888E]Maximum Subsequence(暴力+meet-in-the-middle)

    题意:给定n.m.有n个数,选出若干数加起来对m取模,求最大值 n<=35 如果直接暴力就是235,会T, 这里用到一个思想叫meet-in-the-middle, 就是把数列分成两半分别搜索, ...

  9. SELECT(データ取得)

    WHERE 句は.満たすべき条件を指定することにより選択される行数を制限します. WHERE 句は.SELECT 命令と同様に OPEN CURSOR.UPDATE.および DELETE 命令でも使用 ...

  10. ABAP CDS ON HANA-(10)項目結合して一つ項目として表示

    Numeric Functions ABS(arg)  CEIL(arg) DIV(arg1, arg2) DIVISION(arg1, arg2, dec) FLOOR(arg) MOD(arg1, ...