httpclient学习

1 篇文章 0 订阅
Session和cookie是有关系的,但是是两码事。
Session 是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID为标识符来存取 服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一SessionId 提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。

(又在CSDN上看到,服务器也可以通过URL重写的方式来传递SessionId的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明)


可以试一下,即使不写Cookie,在使用request.getCookies();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值。

Cookie是客户端的存储空间,由浏览器来维持。

Apache 的HttpClient工具,在一个应用(应用A)内调用另外一个应用(应用B)的JSP时,如果只打开一个连接,然后在这个连接内,执行B应用的 JSP,则这些JSP之间的SESSION可以保持,但A应用的JSP不能读取B应用的JSP的Session,B应用的JSP同样也不能读取A应用的 JSP的Session。

但是,在使用HttpClient时,可以将A应用的JSP中的Cookie读取出来,然后写入到B应用中,或者 将B应用的JSP中的Cookie读取出来,然后写入到A应用中,这样可以实现Cookie在两个不同应用之间的互相访问。(另:HttpClient中 的Cookie和Request中的Cookie是两种不同的对象,需要对它们进行转换—把数据取出来然后重新写入)

这样,在处理JSP模板时,主程序只能用Cookie和模板JSP交换数据。

详细:http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html
JSOUP html解析API: http://www.open-open.com/jsoup/dom-navigation.htm

HttpClient API:http://hc.apache.org/httpcomponents-core-ga/httpcore/apidocs/org/apache/http/params/HttpParams.html?is-external=true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值