用JSP操作Cookie

作者&投稿:何畏 (若有异议请与网页底部的电邮联系)
~

  说起来 Cookie应该是一种应用较久的技术了 早在HTML刚刚出现的时候 在每个独立的页面之间没有办 法记录和标识不同的用户 后来人们就发明了Cookie技术 当用户访问网页时 它能够在访问者的机器上创立一个文件 我们把它叫作Cookie 写一段 内容进去 来标识不同的用户 如果下次用户再访问这个网页的时候 它又能够读出这个文件里面的内容 这样网页就知道上次这个用户已经访问过该网页了

  虽然现在网页的制作技术比起几年以前已经发展了许多 不过有些时候 Cookie还是能够帮我们很多忙的 接下来 我们就来看看 如何在写jsp文件的时候 用JSP操作Cookie

  二 写入Cookie

  其实用JSP操作Cookie是非常简单的 我们来看下面一段JSP程序

   (中间略)

   <% String cookieName="Sender"; Cookie cookie=new Cookie(cookieName "Test_Content"); cookie setMaxAge( ); response addCookie(cookie); %> (其他内容)

   这样我们就设置了一个Cookie 很简单吧?

  我们来仔细研究一下这段代码

  Cookie cookie=new Cookie(cookieName "Test_Content");

  这一行建立了一个Cookie对象 初始化有两个参数 第一个参数cookieName定义了Cookie的名字 后一个参数 也是一个字符串 定义了Cookie的内容 也就是我们希望网页在用户的机器上标识的文件内容

  接下来一行 cookie setMaxAge( ) 调用了Cookie中的setMaxAge方法 设定Cookie在用户机器硬盘上的 存活期为 秒 一个Cookie在用户的硬盘里面存在的时间并不是无限期的 在建立Cookie对象的时候 我们必须制定Cookie的存活期 超过了 这个存活期后 Cookie文件就不再起作用 会被用户的浏览器自行删除 如果我们希望用户在下次访问这个页面的时候 Cookie文件仍然有效而且可以 被网页读出来的话 我们可以将Cookie的存活期设得稍微长一些 比如cookie setMaxAge( * * * )可以让 Cookie文件在一年内有效

  三 读出Cookie

  Cookie文件创建好后 自然还需要我们把它读出来 否则我们不是白费力气吗?接下来我们看看如何读出在用户硬盘上的Cookie

   (中间略)

  Name value

  <% Cookie cookies[]=request getCookies(); Cookie sCookie=null; String svalue=null; String sname=null; for(int i= ;i{ sCookie=cookies[i]; svalue=sCookie getValue(); sname=sCookie getName(); %>

  <% } %>

  name value <%=name%> <%=svalue%>

   (其他内容)

  这一小段JSP文件可以读出用户硬盘上的所有有效的Cookie 也就是仍然在存活期内的Cookie文件 并用表格的形式列出每个Cookie的名字和内容

  我们来逐行分析一下这段代码

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

  接下来我们用一个循环语句遍历刚才建立的Cookie对象数组 我们用sCookie=cookies[i]取出数组中的一个Cookie对 象 然后我们用sCookie getValue()和sCookie getName()两个方法来取得这个Cookie的名字和内容

  通过将取出来的Cookie的名字和内容放在字符串变量中 我们就能对其进行各种操作了 在上面的例子里 可通过循环语句的遍历 将所有Cookie放在一张表格中进行显示

  四 需要注意的一些问题

  通过上面两个简单的例子 可以看到 用JSP进行Cookie的操作 是非常简单的 不过我们在实际操作中还要注意一些问题

   Cookie的兼容性问题

  Cookie的格式有 个不同的版本 第一个版本 我们称为Cookie Version 是最初由Netscape公司制定的 也被几乎所有的浏览器支持 而较新的版本 Cookie Version 则是根据RFC 文档制定的 为了确保兼容性 java规定 前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的 而新版本的Cookie目前还不被Javax servlet 包所支持

   Cookie的内容

  同样的Cookie的内容的字符限制针对不同的Cookie版本也有不同 在Cookie Version 中 某些特殊的字符 例如 空格 方括号 圆括号 等于号(=) 逗号 双引号 斜杠 问号 @符号 冒号 分号都不能作为Cookie的内容 这也就 是为什么我们在例子中设定Cookie的内容为"Test_Content"的原因

lishixinzhi/Article/program/Java/JSP/201311/20084




帮忙翻译一下
郑善果的母亲是清河崔氏家族的女儿。在十三岁时,嫁给郑诚,生下善果。郑诚在征讨尉迟迥时,奋勇作战而死在战场上。於是善果的母亲才二十岁就成了寡妇。她的父亲崔彦穆想要逼她改嫁,她抱着善果对崔彦穆说:“妇人没有第二次现身在男子面前的道理。况且我的丈夫虽然死了,所幸还留下这个儿子。我抛弃...

苍溪县18356235394: 如何在jsp中使用cookie -
城杰氨酚: 一般来说有两种办法,在JSP中使用Java的嵌入脚本.例如:写入Cookie<html><head>........(中间略)</head><body><% String cookieName="Sender"; Cookie cookie=new Cookie(cookieName, "Test_Content"); cookie.setMaxAge(10); ...

苍溪县18356235394: 在JSP中如何设置COOKIE? -
城杰氨酚: cookie操作可以使用JSP内置对象Cookie、request和response中关于cookie的相关方法 ...方法用于设置允许会话保持不活动状态的时间(以秒为单位) ...

苍溪县18356235394: 在jsp中怎么使用Cookie -
城杰氨酚: Cookie c=new Cookie(); c.setPath("/"); c.setMaxAge(60*60); response.addCookie(c);

苍溪县18356235394: jsp编程+cookie
城杰氨酚:http://java.sun.com/jsp/jstl/core" %> 欢迎您首次访问我们的站点! 您上一次访问的时间是 .

苍溪县18356235394: 在JSP页中如何设置cookie? -
城杰氨酚: 以下scriptlet在客户端设置了一个cookie "mycookie":<%Cookie mycookie = new Cookie("aName","aValue"); response.addCookie(mycookie);%通常,cookies在JSP页的开始处进行设置,因为它们作为HTTP headers的一部分被送出.如果你想在关闭浏览器后在cookie中保存数据,你还需要设置expiration date,例如,

苍溪县18356235394: 在jsp页面怎么存cookie -
城杰氨酚: $.cookie('cookieName', 'cookieValue') //存入值$.cookie("cookieName")//取出值

苍溪县18356235394: jsp获取cookie值 -
城杰氨酚: 你这个写法不对,如果在jsp代码中已经获取了cookie值了,那么你应该用 document.getElementByName("username").value=???来给文本框赋值

苍溪县18356235394: jsp中如何实现session和cookie的验证 -
城杰氨酚: cookie的验证:例如编写一个index.jsp,内容如下:String usernameCookie = null;String passwordCookie = null;Cookie[] cookies = request.getCookies();if (cookies != null) {for (Cookie cookie : cookies) {if ("SESSION_LOGIN_...

苍溪县18356235394: jsp中设置cookie -
城杰氨酚: 你写的代码没有错,只是需要把循环的条件改为for(int i=0;i

苍溪县18356235394: jsp中cookie处理方法询问
城杰氨酚: 光这一句不可能存或者取到COOKIE的 取:在这里是从COOKIE集中你遍历出的值 存:...传给后台处理吧

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网