JSP中的Cookie

如何创建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);
%>

时间: 2024-10-26 23:57:52

JSP中的Cookie的相关文章

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

Cookie cookies[]=request.getCookies(); //读出用户硬盘上的Cookie,并将所有的Cookie放到一个cookie对象数组里面 Cookie sCookie=null; for(int i=0;i<cookies.length-1;i++){    //用一个循环语句遍历刚才建立的Cookie对象数组 sCookie=cookies[i];   //取出数组中的一个Cookie对象 if(sCookie!=null){       if(("cook

JSP | 基础 | JSP状态管理 | Cookie &amp;&amp; Session

Cookie : 是web服务器保存在客户端的一系列文本信息. Cookie的作用: 1.对特定的对象的追踪 2. 3. JSP中创建Cookie以及使用 创建Cookie对象 写入Cookie对象 使用Cookie对象 Cookie在登录应用: 需求: 用户在勾选记住密码后, 1. 保存用户密码24小时,并在另外一个页面上显示通过cookie读取用户的用户名和密码, 2. 在返回登录页面上,自动填充用户名以及密码 注意: 1. 用户名可以为中文字符,需要解决中文字符转码问题 2. 原文地址:h

jsp中获取不到servlet的cookie

今天做登陆,发现jsp中使用document.cookie获取不到servlet生成的cookie,我们可以在浏览器的cookie文件夹中发现,servlet中生成的cookie和jsp中的生成的路径不一样 (cookie查看:IE浏览器 --> 右上角设置 --> Internet选项 --> 常规浏览历史纪录设置 --> 查看文件) 这里的 Login/ 是jsp文件生成的:servlet/文件是servlet文件生成的,我们可以看到他们生成的cookie的文件路径的差异,这时

Jsp中EL表达式的使用

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka   1.什么是EL EL是JSP表达式语言,全称是ExpressionLanguage,使用EL的目的是简化在JSP中访问变量的方式,简单静态HTML与Java代码的耦合.下面来看看一个例子: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding=

JSP总结(二)——Cookie(汇总)

注:后缀为汇总的基本上是整理一些网上的. 1.   什么是Cookie     Cookie是Web服务器保存在用户硬盘上的一段文本.Cookie允许一个Web站点在用户电脑上保存信息并且随后再取回它.     举例来说,一个Web站点可能会为每一个访问者产生一个唯一的ID,然后以Cookie文件的形式保存在每个用户的机器上.     如果用户使用IE浏览器访问Web,用户就会看到所有保存在自己硬盘上的Cookie.它们最常存放的地方是:C:/Windows/Cookies.Cookie是以“关

$-------JSP中表达式语言的$特殊字符的作用

JSP 中EL表达式用法详解 EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${为起始.以}为结尾的.上述EL范例的意思是:从Session的范围中,取得 用户的性别.假若依照之前JSP Scriptlet的写法如下: User user =(User)session.getAttribute("user"); String sex =u

【转】JSP中的JSTL与EL表达式用法及区别

对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程语言,甚至不是脚本编制语言.通常与 JSTL 标记一起作用,能用简单而又方便的符号来表示复杂的行为. EL基本格式 EL表达式的格式:用美元符号($)定

JSP中的EL隐式对象

一 介绍 JSP表达式语言(Expression Language),简称EL,为存取变量.表达式运算和读取内置对象等内容提供了新的操作方式.目的:为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法. ${ param. username } 等价于 <%=request. getParameter("username") %> ${ requestScope.userlist } 等

jsp中的session

Jsp的session是使用bean的一个生存期限,一般为page,session意思是在这个用户没有离开网站之前一直有效,如果无法判断用户何时离开,一般依据系统设定,tomcat中设定为30分钟. 我们使用session功能,可以达到多个jsp程序从操作同一个java bean,那么这个java bean可以作为我们传统意义上的"全局变量池".(在java中我们可以使用static静态化一个变量和方法,使用singleton唯一化对象.) 在项目实践中,我们Jsp程序中很多参数需要从