详细了解JSP特点之Cookie

详细了解JSP特点之Cookie

公司主营业务:成都网站制作、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出大兴安岭免费做网站回馈大家。

大家都传说Cookie会造成严重的安全威胁什么的,其实不是这么回事情.服务器读取Cookie的时候,只能够读取到这个服务器相关的信息.而且,浏览器一般只允许存放300个Cookie,每个站点最多存放20个,而且,每个Cookie的大小现在在4K,根本不会占用多少空间.并且,Cookie是有时效性质的.例如,设置了Cookie的存活时间为1分钟,则一分钟后这个Cookie就会被浏览器删除

1.服务器可以向客户端写内容

2.只能是文本内容,且大小为4K(安全)

3.客户端可以阻止服务器写入

4.只能拿自己webapp写入的东西(安全)

5.Cookie分为两种

a.属于窗口/子窗口(放在内存中),窗口一关闭,即Cookie内容失效

b.写在本地磁盘的文本(有生命周期)

6.一个servlet/jsp设置的cookie能够被同一个路径下面或者子路径下面的servlet/jsp读到(路径=url)

(路径!=真实文件路径)

也就是说,子路径下生成的cookie,父路径不能读取

父路径生成的cookie,子路径能读取

JSP中对Cookie的操作:类型方法名方法解释

StringgetComment()返回cookie中注释,如果没有注释的话将返回空值.

StringgetDomain()返回cookie中Cookie适用的域名.使用getDomain()方法可以指示浏览器把Cookie返回给同一域内的其他服务器,而通常Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始

intgetMaxAge()返回Cookie过期之前的最大时间,以秒计算。

StringgetName()返回Cookie的名字

StringgetPath()返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下的所有页面。

booleangetSecure()如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。

StringgetValue()返回Cookie的值。笔者也将在后面详细介绍getValue/setValue。

intgetVersion()返回Cookie所遵从的协议版本。

voidsetComment(Stringpurpose)设置cookie中注释

voidsetDomain(Stringpattern)设置cookie中Cookie适用的域名

voidsetMaxAge(intexpiry)以秒计算,设置Cookie过期时间。

voidsetPath(Stringuri)指定Cookie适用的路径。

voidsetSecure(booleanflag)指出浏览器使用的安全协议,例如HTTPS或SSL。

voidsetValue(StringnewValue)cookie创建后设置一个新的值。

voidsetVersion(intv)设置Cookie所遵从的协议版本

一个简单的例子

1.写入Cookie---writecookie.jsp

 
 
 
  1. <%@pagecontentType="text/html;charset=ISO8859_1"%>
  2. <
  3. Cookie_cookie=newCookie("user_delfancom","delfan");
  4. _cookie.setMaxAge(30*60);//设置Cookie的存活时间为30分钟
  5. response.addCookie(_cookie);//写入客户端硬盘
  6. out.print("写Cookie完成");
  7. >

2.读取Cookie.jsp---readcookie.jsp

 
 
 
  1. <
  2. Cookiecookies[]=request.getCookies();//将适用目录下所有Cookie读入并存入cookies数组中
  3. CookiesCookie=null;
  4. Stringsname=null;
  5. Stringname=null;
  6. if(cookies==null)//如果没有任何cookie
  7. out.print("noneanycookie");
  8. else
  9. {
  10. out.print(cookies.length+"
  11. ");
  12. for(inti=0;i{
  13. sCookie=cookies[i];
  14. sname=sCookie.getName();
  15. name=sCookie.getValue();
  16. out.println(sname+"->"+name+"
  17. ");
  18. }
  19. }
  20. >

需要注意的两个JSP特点的问题:

1.Cookie有个适用路径的问题,就是说如果writecookie.jsp和readcookie.jsp要放在同意目录下,如果不在同一目录下,则写的时候需要设置路径,为readcookie.jsp所在的路径.

2.读入Cookie数组的时候需要判断是否为空(null),网上很多代码都没有写出这一点.

网站题目:详细了解JSP特点之Cookie
网站链接:http://www.csdahua.cn/qtweb/news18/104818.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网