前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSP中的Cookie

JSP中的Cookie

作者头像
HUC思梦
发布2020-09-03 10:12:59
2.2K0
发布2020-09-03 10:12:59
举报

如何创建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方法取得与指定名字关联的值。

例如:

代码语言:javascript
复制
<%
   //从提交的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); %>

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 如何创建Cookie
  • 处理Cookie的属性
  • 读取客户端的Cookie
  • 设置Cookie的存在时间,及删除Cookie
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档