仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 646|回复: 14
打印 上一主题 下一主题

[学习教程] 来看Servlet的Cookie值保留与猎取

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:22:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java的B/s开发是通常是javaweb开发,又叫J2EE开发,J2SE是手机开发。C#的C/s和B/s开发是说.net网页编程和Asp开发。。u在这里说明一点;资深一点的Java和C#程序员都明白一点
明天测试设置和猎取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会见
Cookiemycookies[]=request.getCookies();中永久猎取不到uid的值;
(80端标语除外)
查了扫瞄器的详细cookie值,发明
http://localhost:8080/ 会见的时分,cookie值放在localhost下,服务器主动天生的SESSIONID也是寄存在localhost路径下。
http://127.0.0.1:8080/会见的时分,cookieuid值放在127.0.0.1:8080下,在127.0.0.1:8080下的cookie服务真个Servlet永久都猎取不到;而服务器主动天生的SESSIONID则是在127.0.0.1下,与uid寄存地位分歧。
以是在服务端下发cookie的时分,
Stringhost=request.getHeader("host");
必要修正为
if(host.indexOf(":")>-1){
      host=host.split(":")[0];
     }
大概保持设置mycookie.setDomain(host);
如许cookie值也是保留在127.0.0.1下的,与端标语不联系关系
固然是服务器已有域名的就不会呈现端标语下猎取不到cookie的值;

对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net网页编程也不过3,4本书足以,这就是区别。
谁可相欹 该用户已被删除
沙发
发表于 2015-1-20 22:02:24 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
再见西城 该用户已被删除
板凳
发表于 2015-1-23 19:32:15 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
活着的死人 该用户已被删除
地板
发表于 2015-1-27 12:35:16 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
只想知道 该用户已被删除
5#
发表于 2015-2-5 05:14:05 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
6#
发表于 2015-2-5 21:19:25 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
莫相离 该用户已被删除
7#
发表于 2015-2-6 13:30:23 | 只看该作者
是一种突破用户端机器环境和CPU
小妖女 该用户已被删除
8#
发表于 2015-2-7 13:39:25 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
爱飞 该用户已被删除
9#
发表于 2015-2-8 15:34:34 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
再现理想 该用户已被删除
10#
发表于 2015-2-17 13:58:56 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
灵魂腐蚀 该用户已被删除
11#
发表于 2015-3-5 19:38:22 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
愤怒的大鸟 该用户已被删除
12#
发表于 2015-3-9 19:50:40 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
柔情似水 该用户已被删除
13#
发表于 2015-3-11 18:22:12 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
海妖 该用户已被删除
14#
发表于 2015-3-19 06:42:28 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
admin 该用户已被删除
15#
发表于 2015-3-27 10:37:22 | 只看该作者
是一种为 Internet发展的计算机语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 16:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表