﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-dragonofson-随笔分类-Web技巧</title><link>http://www.blogjava.net/dragonofson/category/26939.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 30 Oct 2007 07:15:08 GMT</lastBuildDate><pubDate>Tue, 30 Oct 2007 07:15:08 GMT</pubDate><ttl>60</ttl><item><title>cookie共享（单点登录）</title><link>http://www.blogjava.net/dragonofson/archive/2007/10/30/156831.html</link><dc:creator>Dragonofson</dc:creator><author>Dragonofson</author><pubDate>Tue, 30 Oct 2007 01:10:00 GMT</pubDate><guid>http://www.blogjava.net/dragonofson/archive/2007/10/30/156831.html</guid><wfw:comment>http://www.blogjava.net/dragonofson/comments/156831.html</wfw:comment><comments>http://www.blogjava.net/dragonofson/archive/2007/10/30/156831.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dragonofson/comments/commentRss/156831.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dragonofson/services/trackbacks/156831.html</trackback:ping><description><![CDATA[<p>正常的cookie只能在一个应用中共享，即一个cookie只能由创建它的应用获得。 <br />
1.可在同一应用服务器内共享方法：设置cookie.setPath("/"); <br />
本机tomcat/webapp下面有两个应用：cas和webapp_b， <br />
1）原来在cas下面设置的cookie，在webapp_b下面获取不到，path默认是产生cookie的应用的路径。 <br />
2）若在cas下面设置cookie的时候，增加一条cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面获取到cas设置的cookie了。 <br />
3）此处的参数，是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp)，因此cookie.setPath("/");之后，可以在webapp文件夹下的所有应用共享cookie，而cookie.setPath("/webapp_b/");是指cas应用设置的cookie只能在webapp_b应用下的获得，即便是产生这个cookie的cas应用也不可以。 <br />
4）设置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的时候，只有在webapp_b/jsp下面可以获得cookie，在webapp_b下面但是在jsp文件夹外的都不能获得cookie。 <br />
5）设置cookie.setPath("/webapp_b");，是指在webapp_b下面才可以使用cookie，这样就不可以在产生cookie的应用cas下面获取cookie了 <br />
6）有多条cookie.setPath("XXX");语句的时候，起作用的以最后一条为准。 <br />
6）设置多个path的方法？？？ </p>
<p>2.跨域共享cookie的方法：设置cookie.setDomain(".jszx.com"); <br />
A机所在的域：home.langchao.com,A有应用cas <br />
B机所在的域：jszx.com，B有应用webapp_b <br />
1）在cas下面设置cookie的时候，增加cookie.setDomain(".jszx.com");，这样在webapp_b下面就可以取到cookie。 <br />
2）这个参数必须以&#8220;.&#8221;开始。 <br />
3）输入url访问webapp_b的时候，必须输入域名才能解析。比如说在A机器输入：http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie，而B机器访问本机的应用，输入：http://localhost:8080/webapp_b则不可以获得cookie。 <br />
4）设置了cookie.setDomain(".jszx.com");，还可以在默认的home.langchao.com下面共享。 <br />
5）设置多个域的方法？？？ <br />
最近的工作经常用到cookie，看了一些资料，虽然原来依赖cookie比较多的方案已经改成现在这个了，但是当时看得一些东西还是最好记下来，免得过些天就一干二净了，怪可惜的。老梁说过这样的文字最好不要是纯文本的，说得是。本来就已经很抽象了，最好弄点图表，就算用123列出来也好<br />
</p>
<img src ="http://www.blogjava.net/dragonofson/aggbug/156831.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dragonofson/" target="_blank">Dragonofson</a> 2007-10-30 09:10 <a href="http://www.blogjava.net/dragonofson/archive/2007/10/30/156831.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>