﻿<?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-Heraclesun</title><link>http://www.blogjava.net/heraclesun/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 09:39:20 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 09:39:20 GMT</pubDate><ttl>60</ttl><item><title>小菜心情</title><link>http://www.blogjava.net/heraclesun/archive/2007/09/28/149345.html</link><dc:creator>HeracleSun</dc:creator><author>HeracleSun</author><pubDate>Fri, 28 Sep 2007 12:55:00 GMT</pubDate><guid>http://www.blogjava.net/heraclesun/archive/2007/09/28/149345.html</guid><wfw:comment>http://www.blogjava.net/heraclesun/comments/149345.html</wfw:comment><comments>http://www.blogjava.net/heraclesun/archive/2007/09/28/149345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heraclesun/comments/commentRss/149345.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heraclesun/services/trackbacks/149345.html</trackback:ping><description><![CDATA[start();<br />
在这两个月里，断断续续的一个半个多月都是在紧张工作中，每天从早晨8点到晚上9点~~<br />
在其它的一个星期里心好累~生活，工作总是有些不开心的事情！<br />
岁数在增加，事情就越来越多~结婚，家庭马上要随之而来！<br />
好想找个人能墨迹墨迹~可是在这个陌生的城市里，没有大学的朋友，没有贴心的新朋友~~<br />
又不能给自己的女朋友增添烦恼~哎，人生就是在for(int i = 1; i != 0;i++){遇到困难，解决困难}<br />
好想休息休息，但是~~<br />
stop();<br />
wait();<br />
start();<br />
那么多人都能抗过来，我也能，我有爱我的女朋友，疼我的家人，远方的朋友，近在的同事~<br />
continue;<br />
太长时间没有写些东西了~有机会在把项目中解决的方法写出来
<img src ="http://www.blogjava.net/heraclesun/aggbug/149345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heraclesun/" target="_blank">HeracleSun</a> 2007-09-28 20:55 <a href="http://www.blogjava.net/heraclesun/archive/2007/09/28/149345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript对cookie的操作</title><link>http://www.blogjava.net/heraclesun/archive/2007/07/24/131962.html</link><dc:creator>HeracleSun</dc:creator><author>HeracleSun</author><pubDate>Tue, 24 Jul 2007 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/heraclesun/archive/2007/07/24/131962.html</guid><wfw:comment>http://www.blogjava.net/heraclesun/comments/131962.html</wfw:comment><comments>http://www.blogjava.net/heraclesun/archive/2007/07/24/131962.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heraclesun/comments/commentRss/131962.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heraclesun/services/trackbacks/131962.html</trackback:ping><description><![CDATA[<p><strong><font size=4>cookie概述</font></strong><font size=2><br>cookie是浏览器提供的一种机制，它将document对象的cookie属性提供给JavaScript。可以由JavaScript对其进行控制，而并不是JavaScript本身的性质。cookie是存于用户硬盘的一个文件，这个文件通常对应于一个域名，当浏览器再次访问这个域名时，便使这个cookie可用。因此，cookie可以跨越一个域名下的多个网页，但不能跨越多个域名使用。<br>不同的浏览器对cookie的实现也不一样，但其性质是相同的。例如在Windows 2000以及Windows xp中，cookie文件存储于documents and settings\userName\cookie\文件夹下。通常的命名格式为：</font><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#117;&#115;&#101;&#114;&#78;&#97;&#109;&#101;&#64;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#116;&#120;&#116;"><font color=#0000ff size=2><u>userName@domain.txt</u></font></a><font size=2>。<br>cookie机制将信息存储于用户硬盘，因此可以作为全局变量，这是它最大的一个优点。它可以用于以下几种场合。<br>保存用户登录状态。例如将用户id存储于一个cookie内，这样当用户下次访问该页面时就不需要重新登录了，现在很多论坛和社区都提供这样的功能。cookie还可以设置过期时间，当超过时间期限后，cookie就会自动消失。因此，系统往往可以提示用户保持登录状态的时间：常见选项有一个月、三个月、一年等。<br><br>跟踪用户行为。例如一个天气预报网站，能够根据用户选择的地区显示当地的天气情况。如果每次都需要选择所在地是烦琐的，当利用了cookie后就会显得很人性化了，系统能够记住上一次访问的地区，当下次再打开该页面时，它就会自动显示上次用户所在地区的天气情况。因为一切都是在后台完成，所以这样的页面就像为某个用户所定制的一样，使用起来非常方便。定制页面。如果网站提供了换肤或更换布局的功能，那么可以使用cookie来记录用户的选项，例如：背景色、分辨率等。当用户下次访问时，仍然可以保存上一次访问的界面风格。<br><br>创建购物车。正如在前面的例子中使用cookie来记录用户需要购买的商品一样，在结账的时候可以统一提交。例如淘宝网就使用cookie记录了用户曾经浏览过的商品，方便随时进行比较。<br>当然，上述应用仅仅是cookie能完成的部分应用，还有更多的功能需要全局变量。cookie的缺点主要集中于安全性和隐私保护。主要包括以下几种：<br>cookie可能被禁用。当用户非常注重个人隐私保护时，他很可能禁用浏览器的cookie功能；<br>cookie是与浏览器相关的。这意味着即使访问的是同一个页面，不同浏览器之间所保存的cookie也是不能互相访问的；<br>cookie可能被删除。因为每个cookie都是硬盘上的一个文件，因此很有可能被用户删除；<br>cookie安全性不够高。所有的cookie都是以纯文本的形式记录于文件中，因此如果要保存用户名密码等信息时，最好事先经过加密处理。<br><strong><font size=4>设置cookie<br></font></strong>每个cookie都是一个名/值对，可以把下面这样一个字符串赋值给document.cookie：<br>document.cookie="userId=828";<br>如果要一次存储多个名/值对，可以使用分号加空格（; ）隔开，例如：<br>document.cookie="userId=828; userName=hulk";<br>在cookie的名或值中不能使用分号（;）、逗号（,）、等号（=）以及空格。在cookie的名中做到这点很容易，但要保存的值是不确定的。如何来存储这些值呢？方法是用escape()函数进行编码，它能将一些特殊符号使用十六进制表示，例如空格将会编码为&#8220;20%&#8221;，从而可以存储于cookie值中，而且使用此种方案还可以避免中文乱码的出现。例如：<br>document.cookie="str="+escape("I love ajax");<br>相当于：<br>document.cookie="str=I%20love%20ajax";<br><span style="COLOR: #ff6600">当使用escape()编码后，在取出值以后需要使用unescape()进行解码才能得到原来的cookie值。<br></span>尽管document.cookie看上去就像一个属性，可以赋不同的值。但它和一般的属性不一样，改变它的赋值并不意味着丢失原来的值，例如连续执行下面两条语句：<br>document.cookie="userId=828";<br>document.cookie="userName=hulk";<br>事实上，浏览器就是按照这样的方式来设置cookie的，如果要改变一个cookie的值，只需重新赋值，例如：<br>document.cookie="userId=929";<br>这样就将名为userId的cookie值设置为了929。</font></p>
<p><font size=2><strong><font size=4>获取cookie的值<br></font></strong>下面介绍如何获取cookie的值。cookie的值可以由document.cookie直接获得：<br>var strCookie=document.cookie;<br>这将获得以分号隔开的多个名/值对所组成的字符串，这些名/值对包括了该域名下的所有cookie。例如：<br>&lt;script language="JavaScript" type="text/javascript"&gt;<br>&lt;!--<br>document.cookie="userId=828";<br>document.cookie="userName=hulk";<br>var strCookie=document.cookie;<br>alert(strCookie);<br>//--&gt;<br>&lt;/script&gt;<br>图7.1显示了输出的cookie值。由此可见，只能够一次获取所有的cookie值，而不能指定cookie名称来获得指定的值，这正是处理cookie值最麻烦的一部分。用户必须自己分析这个字符串，来获取指定的cookie值，例如，要获取userId的值，可以这样实现：<br>&lt;script language="JavaScript" type="text/javascript"&gt;<br>&lt;!--<br>//设置两个cookie<br>document.cookie="userId=828";<br>document.cookie="userName=hulk";<br>//获取cookie字符串<br>var strCookie=document.cookie;<br>//将多cookie切割为多个名/值对<br>var arrCookie=strCookie.split("; ");<br>var userId;<br>//遍历cookie数组，处理每个cookie对<br>for(var i=0;i&lt;arrCookie.length;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var arr=arrCookie[i].split("=");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //找到名称为userId的cookie，并返回它的值<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if("userId"==arr[0]){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; userId=arr[1];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>}<br>alert(userId);<br>//--&gt;<br>&lt;/script&gt;<br>这样就得到了单个cookie的值</font></p>
<p><font size=2>用类似的方法，可以获取一个或多个cookie的值，其主要的技巧仍然是字符串和数组的相关操作。</font></p>
<p><strong><font size=4>给cookie设置终止日期<br></font></strong><font size=2>到现在为止，所有的cookie都是单会话cookie，即浏览器关闭后这些cookie将会丢失，事实上这些cookie仅仅是存储在内存中，而没有建立相应的硬盘文件。<br>在实际开发中，cookie常常需要长期保存，例如保存用户登录的状态。这可以用下面的选项来实现：<br>document.cookie="userId=828; expires=GMT_String";<br>其中GMT_String是以GMT格式表示的时间字符串，这条语句就是将userId这个cookie设置为GMT_String表示的过期时间，超过这个时间，cookie将消失，不可访问。例如：如果要将cookie设置为10天后过期，可以这样实现：<br>&lt;script language="JavaScript" type="text/javascript"&gt;<br>&lt;!--<br>//获取当前时间<br>var date=new Date();<br>var expireDays=10;<br>//将date设置为10天以后的时间<br>date.setTime(date.getTime()+expireDays*24*3600*1000);<br>//将userId和userName两个cookie设置为10天后过期<br>document.cookie="userId=828; userName=hulk; expire="+date.toGMTString();<br>//--&gt;<br>&lt;/script&gt;</font><br></p>
<p><font size=2><strong><font size=4>删除cookie<br></font></strong>为了删除一个cookie，可以将其过期时间设定为一个过去的时间，例如：<br>&lt;script language="JavaScript" type="text/javascript"&gt;<br>&lt;!--<br>//获取当前时间<br>var date=new Date();<br>//将date设置为过去的时间<br>date.setTime(date.getTime()-10000);<br>//将userId这个cookie删除<br>document.cookie="userId=828; expire="+date.toGMTString();<br>//--&gt;<br>&lt;/script&gt;<br><strong><font size=4>指定可访问cookie的路径<br></font></strong>默认情况下，如果在某个页面创建了一个cookie，那么该页面所在目录中的其他页面也可以访问该cookie。如果这个目录下还有子目录，则在子目录中也可以访问。例如在<a href="http://www.xxxx.com/html/a.html"><font color=#0000ff size=2><u>www.xxxx.com/html/a.html</u></font></a><font size=2>中所创建的cookie，可以被</font><a href="http://www.xxxx.com/html/b.html"><font color=#0000ff size=2><u>www.xxxx.com/html/b.html</u></font></a><font size=2>或</font><a href="http://www.xxx.com/"><font color=#0000ff size=2><u>www.xxx.com/</u></font></a><font size=2> html/ some/c.html所访问，但不能被</font><a href="http://www.xxxx.com/d.html"><font color=#0000ff size=2><u>www.xxxx.com/d.html</u></font></a><font size=2>访问。<br>为了控制cookie可以访问的目录，需要使用path参数设置cookie，语法如下：<br>document.cookie="name=value; path=cookieDir";<br>其中cookieDir表示可访问cookie的目录。例如：<br>document.cookie="userId=320; path=/shop";<br>就表示当前cookie仅能在shop目录下使用。<br>如果要使cookie在整个网站下可用，可以将cookie_dir指定为根目录，例如：<br>document.cookie="userId=320; path=/";<br></font></font></p>
<p><font size=2><font size=2><strong><font size=4>指定可访问cookie的主机名<br></font></strong>和路径类似，主机名是指同一个域下的不同主机，例如：<a href="http://www.google.com/"><font color=#0000ff size=2><u>www.google.com</u></font></a><font size=2>和gmail.google.com就是两个不同的主机名。默认情况下，一个主机中创建的cookie在另一个主机下是不能被访问的，但可以通过domain参数来实现对其的控制，其语法格式为：<br>document.cookie="name=value; domain=cookieDomain";<br>以google为例，要实现跨主机访问，可以写为：<br>document.cookie="name=value;domain=.google.com";<br>这样，所有google.com下的主机都可以访问该cookie。<br></font></font></font></p>
<p><strong><font size=4>综合示例：构造通用的cookie处理函数<br></font></strong><font size=2>cookie的处理过程比较复杂，并具有一定的相似性。因此可以定义几个函数来完成cookie的通用操作，从而实现代码的复用。下面列出了常用的cookie操作及其函数实现。<br>1．添加一个cookie：addCookie(name,value,expireHours)<br>该函数接收3个参数：cookie名称，cookie值，以及在多少小时后过期。这里约定expireHours为0时不设定过期时间，即当浏览器关闭时cookie自动消失。该函数实现如下：<br>&lt;script language="JavaScript" type="text/javascript"&gt;<br>&lt;!--<br>function addCookie(name,value,expireHours){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var cookieString=name+"="+escape(value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //判断是否设置过期时间<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(expireHours&gt;0){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var date=new Date();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; date.setTime(date.getTime+expireHours*3600*1000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cookieString=cookieString+"; expire="+date.toGMTString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.cookie=cookieString;<br>}<br>//--&gt;<br>&lt;/script&gt;<br>2．获取指定名称的cookie值：getCookie(name)<br>该函数返回名称为name的cookie值，如果不存在则返回空，其实现如下：<br>&lt;script language="JavaScript" type="text/javascript"&gt;<br>&lt;!--<br>function getCookie(name){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var strCookie=document.cookie;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var arrCookie=strCookie.split("; ");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(var i=0;i&lt;arrCookie.length;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var arr=arrCookie[i].split("=");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(arr[0]==name)return arr[1];<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "";<br>}<br>//--&gt;<br>&lt;/script&gt;<br>3．删除指定名称的cookie：deleteCookie(name)<br>该函数可以删除指定名称的cookie，其实现如下：<br>&lt;script language="JavaScript" type="text/javascript"&gt;<br>&lt;!--<br>function deleteCookie(name){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var date=new Date();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; date.setTime(date.getTime()-10000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.cookie=name+"=v; expire="+date.toGMTString();<br>}<br>//--&gt;<br>&lt;/script&gt;</font></p>
<img src ="http://www.blogjava.net/heraclesun/aggbug/131962.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heraclesun/" target="_blank">HeracleSun</a> 2007-07-24 09:00 <a href="http://www.blogjava.net/heraclesun/archive/2007/07/24/131962.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java几种我了解的常用模式</title><link>http://www.blogjava.net/heraclesun/archive/2007/07/23/131865.html</link><dc:creator>HeracleSun</dc:creator><author>HeracleSun</author><pubDate>Mon, 23 Jul 2007 06:06:00 GMT</pubDate><guid>http://www.blogjava.net/heraclesun/archive/2007/07/23/131865.html</guid><wfw:comment>http://www.blogjava.net/heraclesun/comments/131865.html</wfw:comment><comments>http://www.blogjava.net/heraclesun/archive/2007/07/23/131865.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/heraclesun/comments/commentRss/131865.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/heraclesun/services/trackbacks/131865.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;只有注册用户登录后才能阅读该文。<a href='http://www.blogjava.net/heraclesun/archive/2007/07/23/131865.html'>阅读全文</a><img src ="http://www.blogjava.net/heraclesun/aggbug/131865.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/heraclesun/" target="_blank">HeracleSun</a> 2007-07-23 14:06 <a href="http://www.blogjava.net/heraclesun/archive/2007/07/23/131865.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>