知识大全 详细介绍Jsp中的Cookies

Posted

篇首语:从来好事天生俭,自古瓜儿苦后甜。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 详细介绍Jsp中的Cookies相关的知识,希望对你有一定的参考价值。

详细介绍Jsp中的Cookies  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在开发网站应用程序的过程中 使用cookie记录用户的一些信息是比较常用的一种方法 而cookie的使用也非常简单

  一 Cookie是通过HttpServletResponse的addCookie方法加入到Set Cookie应答头中的

  例如

  Cookie userCookie = new Cookie( user admin )

  response addCookie(userCookie)

  和设置有关系的还有以下两个重要方法

   setMaxAge

  设置Cookie过期之前的时间 以秒计 如果不设置该值 则Cookie只在当前会话内有效 而且这些Cookie不会保存到磁盘上

  注意 删除cookie就是通过该方法实现的 将要删除的cookie的过期之前的时间指定为 就可以达到删除该cookie的目的

   setPath

  设置Cookie适用的路径 如果不指定路径 Cookie将返回给当前页面(jsp(SUN企业级应用的首选)页面或者Servlet的映射)所在目录及其子目录下的所有页面

  注意

  A 所有的cookie都是有路径的

  B 该方法设置的路径为客户端路径 即 / 代表服务器根目录 而不是WEB应用根目录

  C 该方法设置路径时 /myWeb/ 与 /myWeb 是不同的 要特别注意 前者可以关联到服务器的myWeb目录下 而后者则不可以

  D 该方法设置路径时 没有相对目录可言 即不论在哪个目录下设置setPath( /myWeb/ ) 该cookie都将关联到服务器的myWeb目录下(setPath( /myWeb )则不可以) 而不是当前目录的myWeb的子目录下 同样 设置setPath( myWeb/ )和setPath( myWeb )也不能关联到当前目录的myWeb的子目录下

  这里有个奇怪的例子 就是在一个web应用下设置的cookie可以在另一个web应用下获得(两个web应用在同一个服务器下)

  目录结构 在服务器根目录上有web 和web 两个目录 在web 下有setcookie jsp(SUN企业级应用的首选)和getcookie jsp(SUN企业级应用的首选) 在web 下有getcookie jsp(SUN企业级应用的首选)

  web 下的setcookie jsp(SUN企业级应用的首选)

  <%

  Cookie userCookie = new Cookie( user admin )

  userCookie setMaxAge( * * )

  userCookie setPath( /web / )

  response addCookie(userCookie)

  %> web 下的getcookie jsp(SUN企业级应用的首选)

  <%

  Cookie[] cookie = request getCookies()

  String user = new String()

  if ( cookie != null )

    for (int i = ; i < cookie length; i++)

    Cookie myCookie = cookie[i];

  if (myCookie getName() equals( user ))

    user = myCookie getValue()

  

  

  

  out println( user = + user)

  %>  web 下的getcookie jsp(SUN企业级应用的首选)

  <%  Cookie[] cookie = request getCookies()

  String user = new String()

  if ( cookie != null )

    for (int i = ; i < cookie length; i++)

    Cookie myCookie = cookie[i];

  if (myCookie getName() equals( user ))

    user = myCookie getValue()

  

  

  

  out println( user = + user)

  %>[nextpage]    先访问web 下的setcookie jsp(SUN企业级应用的首选) 然后分别访问web 和web 下面的getcookie jsp(SUN企业级应用的首选)文件 你会发现奇怪的现象 web 下的getcookie jsp(SUN企业级应用的首选)中user为空而web 下的getcookie jsp(SUN企业级应用的首选)中user却有值 这就实现了从一个web应用下设置的cookie在另一个web应用下获得

  大多数人删除cookie不成功都是因为目录原因 一个典型的原因是在某一个目录中设置了cookie(没有调用setPath方法)却在另一个目录中删除该cookie(其实是调用setMaxAge方法)

   跨域共享cookie的方法 设置

  cookie setDomain( )

  A机所在的域 A有应用cas

  B机所在的域 B有应用webapp_b

   )在cas下面设置cookie的时候 增加cookie setDomain( ) 这样在webapp_b下面就可以取到cookie

   )这个参数必须以 开始

   )输入url访问webapp_b的时候 必须输入域名才能解析 比如说在A机器输入 _b 可以获取cas在客户端设置的cookie 而B机器访问本机的应用 输入//localhost: /webapp_b则不可以获得cookie

   )设置了cookie setDomain( ) 还可以在默认的下面共享

  二 读取

  从客户端读取Cookie时调用的是HttpServletRequest的getCookies方法 该方法返回一个与HTTP请求头中的内容对应的Cookie对象数组 得到这个数组之后 一般是用循环访问其中的各个元素 调用getName检查各个Cookie的名字 直至找到目标Cookie 然后对这个目标Cookie调用getValue 根据获得的结果进行其他处理

  注意 若jsp(SUN企业级应用的首选)和Servlet所在目录(Servlet为其映射目录)的父目录中有同名cookie 则request getCookie()方法得到的Cookie数组中保存的是其父目录中的cookie的信息

  三 说明

  我们知道 对于一个页面中的request和response 是一次请求产生的 request是请求中的所有参数 因此包含了发出这次请求时cookie的值 而response是对于这次请求webapplication产生的反应 所以它可以写cookie的值 这样看来 request得到的cookie的值 和response要写的cookie的值可以说是完全不同的

cha138/Article/program/Java/hx/201311/25721

相关参考

知识大全 介绍JSP程序动态网站环境搭建的详细步骤[3]

介绍JSP程序动态网站环境搭建的详细步骤[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  四

知识大全 介绍JSP程序动态网站环境搭建的详细步骤[2]

介绍JSP程序动态网站环境搭建的详细步骤[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  三

知识大全 介绍JSP程序动态网站环境搭建的详细步骤[6]

介绍JSP程序动态网站环境搭建的详细步骤[6]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  整

知识大全 介绍JSP程序动态网站环境搭建的详细步骤[5]

介绍JSP程序动态网站环境搭建的详细步骤[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  配

知识大全 介绍JSP程序动态网站环境搭建的详细步骤[4]

介绍JSP程序动态网站环境搭建的详细步骤[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  安

知识大全 介绍JSP程序动态网站环境搭建的详细步骤[1]

介绍JSP程序动态网站环境搭建的详细步骤[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  S

知识大全 Jsp中的自定义标签由浅到深详细讲解[4]

Jsp中的自定义标签由浅到深详细讲解[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  十四如

知识大全 Jsp中的自定义标签由浅到深详细讲解[2]

Jsp中的自定义标签由浅到深详细讲解[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  四创建

知识大全 Jsp中的自定义标签由浅到深详细讲解[1]

Jsp中的自定义标签由浅到深详细讲解[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一基本

知识大全 Jsp中的自定义标签由浅到深详细讲解[3]

Jsp中的自定义标签由浅到深详细讲解[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  十一S