今天测试设置和获取Cookie遇到了一点小问题,很奇怪的问题; 把J2ee服务部署在本地 8080端口;访问任何一个服务时,如果客户端没有cookie,则下发cookie, 如果客户端已经有了该cookie的值就不下发,代码逻辑如下: String uid=""; Cookie mycookies[] = request.getCookies(); if (mycookies!= null) {             for (int i = 0; i < mycookies.length; i++) {                 if ("uid".equalsIgnoreCase(mycookies[i].getName())) {                    uid=mycookies[i].getValue();                 }              }         }      if(!StringUtils.isNull(uid)){       //do nothing   }else{   String host=request.getHeader("host"); uid=UUID.create(); Cookie  mycookie = new Cookie("uid",uid); mycookie.setDomain(host); mycookie.setMaxAge(93312000);//三年 response.addCookie(mycookie); } System.out.println("uid is>"+uid); 1、访问:    http://localhost:8080/    以及内部的页面,打印uid的值是相同的;符合要求 2、访问:   http://127.0.0.1:8080   以及内部的页面, uid每次都获取得值都是不同的; 两者的区别仅仅的访问的方式不同,如果用ip访问   Cookie mycookies[] = request.getCookies();中永远获取不到uid的值; (80端口号除外)
查了浏览器的具体cookie值,发现 http://localhost:8080/ 访问的时候,cookie值放在localhost下,服务器自动生成的SESSIONID也是存放在localhost路径下。 http://127.0.0.1:8080/ 访问的时候,cookie uid值放在127.0.0.1:8080下,在127.0.0.1:8080下的cookie服务端的Servlet永远都获取不到;而服务器自动生成的SESSIONID则是在127.0.0.1下,与uid存放位置不同。
所以在服务端下发cookie的时候, String host=request.getHeader("host"); 需要修改为 if(host.indexOf(":")>-1){       host=host.split(":")[0];      } 或者放弃设置mycookie.setDomain(host); 这样cookie值也是保存在127.0.0.1下的,与端口号不关联 当然是服务器已经有域名的就不会出现端口号下获取不到cookie的值;

本文转载于:http://www.blogjava.net/simon1006/archive/2009/09/07/294210.html

Servlet能读到JSessionID,读不到其它cookie问题的更多相关文章

  1. 初谈SQL Server逻辑读、物理读、预读

    前言 本文涉及的内容均不是原创,是记录自己在学习IO.执行计划的过程中学习其他大牛的博客和心得并记录下来,之所以想写下来是为了记录自己在追溯的过程遇到的几个问题,并把这些问题弄清楚. 本章最后已贴出原 ...

  2. ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析

    在ORACLE数据库中有物理读(Physical Reads).逻辑读(Logical Reads).一致性读(Consistant Get).当前模式读(DB Block Gets)等诸多概念,如果 ...

  3. SQL Server逻辑读、预读和物理读

    SQL Server数据存储的形式 预读:用估计信息,去硬盘读取数据到缓存.预读100次,也就是估计将要从硬盘中读取了100页数据到缓存. 物理读:查询计划生成好以后,如果缓存缺少所需要的数据,让缓存 ...

  4. SQL Server 中的逻辑读与物理读

    首先要理解逻辑读和物理读: 预读:用估计信息,去硬盘读取数据到缓存.预读100次,也就是估计将要从硬盘中读取了100页数据到缓存. 物理读:查询计划生成好以后,如果缓存缺少所需要的数据,让缓存再次去读 ...

  5. SQL SERVER中的逻辑读,预读和物理读

    sqlserver:数据存储方式:最小单位是页,每一页8k,sqlserver 对页的读取是具有原子性,也就是说,要么读取完整一页,要么完全不读取,不会有中间状态,而页之间的数据组织结构是B树 但是每 ...

  6. 初谈SQL Server逻辑读、物理读、预读【转】

    前言 本文涉及的内容均不是原创,是记录自己在学习IO.执行计划的过程中学习其他大牛的博客和心得并记录下来,之所以想写下来是为了记录自己在追溯的过程遇到的几个问题,并把这些问题弄清楚. 本章最后已贴出原 ...

  7. mysql并发控制之快照读和当前读

    上一篇简单的介绍了下MVCC(多版本并发控制)的原理,MVCC会对事物内操作的数据做多版本控制,从而实现并发环境下事物对数据写操作的阻塞不影响读操作的性能.而这个多版本控制的实现是由undo log来 ...

  8. 【MySQL】当前读、快照读、MVCC

    当前读: select...lock in share mode (共享读锁) select...for update update , delete , insert 当前读, 读取的是最新版本, ...

  9. sqlserver性能调优中的逻辑读,物理读,预读是什么意思

    表 'T_EPZ_INOUT_ENTRY_DETAIL'.扫描计数 1,逻辑读 4825 次,物理读 6 次,预读 19672 次.SQL SERVER 数据库引擎当遇到一个查询语句时,SQL SER ...

  10. 理解SQL SERVER中的逻辑读,预读和物理读

    转自:https://www.cnblogs.com/CareySon/archive/2011/12/23/2299127.html 在我的上一篇关于SQL SERVER索引的博文,有圆友问道关于逻 ...

随机推荐

  1. centos 6.4 samba 权限 selinux权限配置

    http://www.cnblogs.com/xiaoluo501395377/archive/2013/05/26/3100444.html(参考) SELINUX 策略 配置好samba后, 输入 ...

  2. Oracle 关于事物的描述

    事物在Oracle中的4种状态: commit--提交 rollback--全部回滚 savepoint name;--定义一个回滚到这里的点:例如:savepoint a; rollback to ...

  3. DataNavigator之分页

    前言 做客户端也有两个月了,先前做列表都没有分页,可能考虑数据也不是很多,昨天做了一个页面,考虑到了数据的问题,所以改为分页查询.因为也是第一次用dev,用哪个控件分页呢,还是要去搜一下,得出的事Da ...

  4. 如何让sudo命令不需要输入密码就可执行

    通过visudo 来编辑/etc/sudoers来实现 在该文件中追加一下记录即可 username ALL=(ALL) NOPASSWD:ALL ——-下面文章转载自网络———– # User pr ...

  5. VS2010开发环境最佳字体及配色方法

    Fixedsys Excelsior 3.01 1. 首先下载字体:http://www.fixedsysexcelsior.com/   脚本之家字体下载 2. 安装字体:control panel ...

  6. web2py--------------用web2py写 django的例子 --------开发环境

    我们先从广为人知的例子说起xi 也就是官方的例子,我会在最后给出代码: ============================环境=================== 编译器使用vs code , ...

  7. python通过webservice连接cmdbuild

    cmdbuild的部署可以查看文章:http://20988902.blog.51cto.com/805922/1541289 部署成功后,访问http://192.168.1.1:8080/cmdb ...

  8. 大坑!常被忽视又不得不注意的小细节——%I64,%lld与cout(转载)

    原地址:http://blog.csdn.net/thunders01/article/details/38879553 刚刚被坑完,OI一年了才知道%I64和%lld有区别(做题会不会太少),lon ...

  9. CODEVS 3943 数学奇才琪露诺

    [题目描述 Description] 作为上白泽慧音老师的出色弟子,数学奇才琪露诺在算术方面有很深的造诣.今天,codevs有幸请到了这位数学界的奇葩作为本场考试的第一题主考官. 琪露诺喜欢0-9之间 ...

  10. Mongodb介绍

    MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前noSql数据库产品中最热门的一种.它在许多场景下用于替代传统的关系型数据库或键值对存储方式,MongoDB是用C++开发,MongoD ...