??xml version="1.0" encoding="utf-8" standalone="yes"?> 我要把这个控件发布的web工程?/p>
1Q首先复制cab到web目录下,然后再页面中d控g信息Q如下图Q?/p>
其中上面注释掉的lpkq段Ҏ他的描述生成了相应的lpk文gQ将代码攑ֈjsp面中,部v?/p>
2Q部|后查看试效果Q但是效果不如人意Q提C?#8220;非安全控?#8221;而且也无法安装,q是׃控g没有认证Q认证还是需要花qQ自然不行?/p>
3Q只能通过本地注册控g的方式,q样׃需要ie的认证,但是控g提示的信息也?#8220;无法识别的控?#8221;?/p>
4Q用installshield9来制作客L注册包,具体的不说了只要注意一个个问题。注册控件的脚步 q样注册后,客户端用就不会有提C,我上面提CQ我自己生成了lpk文gQ我也加到页面中了?/p>
但是如果加这句虽然控件可以用,但是M有安全提C,很媄响用效果。所以暂时把它去掉了?/p> 数字{程个图 上面的图描述了用户A和用户B间通讯程?/p>
1Q用户A明文通过hashq算Q散列)生成数字摘要1Q用户A用自qU钥Ҏ要进行加密生?span style="color: #ff0000">数字{1. 2Q用户A明?数字{1+A用户的公钥(证书Q,准备这些信息发到B用户Q但是这个过E中Q用户A明文是不安全的是可见的,我们需要对q三个文件进行加密?/span> 3Q用户A通过一?#8220;对称加密”Q对U加密速度很快Q知道密钥就可以解密Q对其进行加密将其生?span style="color: #ff0000">U文1Q要惌ơ加密成功关键就是要保护q个对称加密的密??/p>
4Qؓ了保证上面的加密安全Q用用户B的公钥对“对称加密的密?”q行了一ơ加密处理,生成一?span style="color: #ff0000">数字信封1Q此时这?span style="color: #ff0000">数字信封1+U文1打包装入可以发送给用B了?/span> 5Q用户B接收CQ看?span style="color: #ff0000">数字信封1+U文1Q用户B用私钥解?/span>数字信封1Q得C“对称加密的密?”Q通过q个对称加密密钥?span style="color: #ff0000">U文1解密Q就可以解开密文?/span> 6Q解开U文1解则看到了A明?数字{1+A用户的公钥(证书Q,q三个文Ӟq个时候已l可以确认是用户A发的信息了,但是q要验证文g在传输过E中是否被篡攏V?/span> 7Q用户B明文通过hashq算Q散列)生成数字摘要2Q同时用得到的A用户的公钥(证书Q对数字{1q行解密生成原来?/span>数字摘要1Q如果此时的数字摘要1?/span>数字摘要2相同那么说明整个q程是安全而有效的?/span> 好的文章 http://www.ibm.com/developerworks/cn/java/l-security/ 数字{以电子Ş式存在于数据信息之中的,或作为其附g的或逻辑上与之有联系的数据,可用于L别数据签|h的n份,q表明签|hҎ据信息中包含的信息的认可。(摘自癑ֺQ?/p>
数字{Q又U?a target="_blank">公钥数字{、电子签章)是一U类似写在纸上的普通的物理{Q但是用了公钥加密领域的技术实玎ͼ用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运,一个用于签名,另一个用于验?/p>
基本介绍 数字{不是指将你的{扫描成数字图像,或者用触摸?/a>获取的签名,更不是你?a target="_blank">落款? 数字{了的文g的完整性是很容易验证的Q不需要骑~章Q骑~签名,也不需要笔q专ӞQ而且数字{h不可抵赖?/a>Q不需要笔q专家来验证Q? 单地?所谓数字签名就是附加在数据单元上的一些数?或是Ҏ据单元所作的密码变换。这U数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性ƈ保护数据,防止被h(例如接收?q行伪造。它是对电子形式的消息进行签名的一U方?一个签名消息能在一?a target="_blank">通信|络中传输。基于公钥密码体制和U钥密码体制都可以获得数字签?目前主要是基于公钥密码体制的数字{。包括普通数字签名和Ҏ数字{。普通数字签?a target="_blank">法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字{法、Des/DSA,椭圆曲线数字{法和有限自动机数字{法{。特D数字签名有盲签?/a>、代理签名?a target="_blank">签?/a>、不可否认签名、公q盲{、门限签名、具有消息恢复功能的{{?它与具体应用环境密切相关。显?数字{的应用涉及到法律问题,国联邦政府Z有限域上的离散对数问题制定了自己?a target="_blank">数字{标准(DSS)? 数字{QDigital SignatureQ技术是不对U加密算?/a>的典型应用。数字签名的应用q程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内Ҏ关的变量q行加密处理Q完成对数据的合?#8220;{”Q数据接收方则利用对方的公钥来解L到的“数字{”Qƈ解ȝ果用于对数据完整?/a>的检验,以确认签名的合法性?a target="_blank">数字{技?/a>是在|络pȝ虚拟环境中确?a target="_blank">w䆾的重要技术,完全可以代替现实q程中的“亲笔{֭”Q在技术和法律上有保证。在数字{应用中,发送者的公钥可以很方便地得到Q但他的U钥则需要严g密? 保证信息传输的完整性、发送者的w䆾认证、防止交易中的抵赖发生? 数字{技术是摘要信息用发送者的U钥加密Q与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息Q然后用HASH函数Ҏ到的原文产生一个摘要信息,与解密的摘要信息Ҏ。如果相同,则说明收到的信息是完整的Q在传输q程中没有被修改Q否则说明信息被修改q,因此数字{能够验证信息的完整性? 数字{是个加密的过E,数字{验证是个解密的过E? 报文的发送方用一个哈希函C报文文本中生成报文摘要(散列|。发送方用自qUh密钥对这个散列D行加密。然后,q个加密后的散列值将作ؓ报文的附件和报文一起发送给报文的接收方。报文的接收斚w先用与发送方一L哈希函数从接收到的原始报文中计算出报文摘要,接着再用发送方的公用密钥来Ҏ文附加的数字{q行解密。如果两个散列值相同、那么接收方p认该数字签名是发送方的。通过数字{能够实现对原始报文的鉴别? 数字{有两U功效:一是能定消息实是由发送方{q发出来的,因ؓ别h假冒不了发送方的签名。二是数字签名能定消息的完整性。因为数字签名的特点是它代表了文件的特征Q文件如果发生改变,数字{的g发生变化。不同的文g得C同的数字{?一ơ数字签名涉及到一个哈希函数、发送者的公钥、发送者的U钥? h数字{功能的个人安全邮件证书是用户证书的一U,是指单位用户收发电子邮g旉用证书机制保证安全所必须具备的证书。个人安?a target="_blank">电子邮g证书是符合x.509标准的数字安全证书,l合数字证书?a target="_blank">S/MIME技术对普通电子邮件做加密和数字签名处理,保电子邮g内容?a target="_blank">安全?/a>、机密性、发件hw䆾认性和不可抵赖性?h数字{功能?个h安全邮g证书中包含证书持有h?a target="_blank">电子邮g地址、证书持有h的公钥、颁发?CA)以及颁发者对该证书的{。个人安全邮件证书功能的实现军_于用户用的邮gpȝ是否支持相应功能。目前, MS Outlook 、Outlook Express、Foxmail及CA安全电子邮gpȝ均支持相应功能。用个人安全邮件证书可以收发加密和数字{邮gQ保证电子邮件传输中的机密性、完整性和不可否认性,保电子邮g通信各方w䆾的真实性? 1.查看数字{的详l信息,我们应该查看该数字签名的详细信息Q点?#8220;详细信息”按钮卛_? 我们会发现正常EXE和感染(或捆l?a target="_blank">木马Q后的EXE数字{的区? 正常EXE的数字签名详l信? 被篡改后的EXE数字{信息无效 Ҏ2Q用数字签名验?a target="_blank">E序sigcheck.exe Q可以百度一下找q个工具Q著名系l工具包Sysinternals Suite的组件之一。) 数字{异常的结果ؓQ? C:\Documents and Settings\litiejun\??\modify.exe: Verified: Unsigned File date: 15:46 2008-5-23 Publisher: n/a Description: n/a Product: n/a Version: n/a File version: n/a 数字{正常的结果ؓQ? C:\Documents and Settings\litiejun\??\che.exe: Verified: Signed Signing date: 16:28 2008-4-29 Publisher: n/a Description: n/a Product: n/a Version: n/a File version: n/a 1Q精心设计的感染 当EXE被感染时Q是很容易破坏文件的数字{信息的,如果d者感染或破坏文gӞ有意不去破坏EXE中有x字签名的部分Q就可能出现感染后,数字{看上L常的情况。但认真查看文g属?/a>或校验文件的HASH|你会发现该EXEE序已经不是最原始的版本了? 2.?a target="_blank">软g发行商的数字{文g被盗Q攻击者可以把捆绑木马或感染病毒后的EXEE序Q也打包上数字签名,q种情况下就更严重了。企业如果申请了数字{证书Q一定要妥善保管Q否则后患无I? 你可以对你发出的每一电子邮件进行数字签名。这不是指落ƾ,普遍把落ƾ讹误成{? 在我国大陆,数字{是具法律效力的,正在被普遍用?000q_中华人民共和国的新?a target="_blank">合同?/a>》首ơ确认了电子合同?a target="_blank">电子{的法律效力?005q??日vQ中华h民共和国首部?a target="_blank">电子{?/a>》正式实施? 每个人都有一?#8220;钥匙”Q数字n份)Q其中一个只有她/他本人知道(密钥Q,另一个公开的(公钥Q。签名的时候用密钥Q验证签名的时候用公钥。又因ؓM人都可以落款申称?他就是你Q因此公钥必d接受者信ȝ人(w䆾认证机构Q来注册。注册后w䆾认证机构l你发一数字证书。对文g{后,你把此数字证书连同文件及{一起发l接受者,接受者向w䆾认证机构求证是否真地是用你的密钥{֏的文件? 在通讯中用数字签名一般基于以下原因: 公钥加密pȝ允许M人在发送信息时使用公钥q行加密Q数字签名能够让信息接收者确认发送者的w䆾。当Ӟ接收者不可能癑ֈ之百信发送者的真实w䆾Q而只能在密码pȝ未被破译的情况下才有理由信? 鉴权的重要性在财务数据上表现得ؓH出。D个例子,假设一?a target="_blank">银行指令由它的分行传输到它的中央管理系l,指o的格式是(a,b)Q其中a是̎L账号Q而b是̎L现有金额。这时一位远E?a target="_blank">客户可以先存?00元,观察传输的结果,然后接二q三的发送格式ؓ(a,b)的指令。这U方法被UC重放d? 传输数据的双斚wd望确认消息未在传输的q程中被修改。加密得第三方惌d数据十分困难Q然而第三方仍然能采取可行的Ҏ在传输的q程中修Ҏ据。一个通俗的例子就是同形攻击:回想一下,q是上面的那安行从它的分行向它的中央管理系l发送格式ؓ(a,b)的指令,其中a是̎P而b是̎户中的金额。一个远E客户可以先?00元,然后拦截传输l果Q再传输(a,b3)Q这样他qd成百万富了? 在密文背景下Q抵赖这个词指的是不承认与消息有关的丑֊Q即声称消息来自W三方)。消息的接收方可以通过数字{来防止所有后l的抵赖行ؓQ因为接收方可以出示{l别人看来证明信息的来源? 数字{法依靠公钥加密技术来实现的。在公钥加密技术里Q每一个用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则U密保存Q还有一个要求就是要让通过公钥推算出私钥的做法不可能实现? 普通的数字{法包括三种法Q? 1.密码生成法 Q? 2.标记法 Q? 3.验证法 ? 1、将applet?a target="_blank">class文g打包?.jarQ不会的可以在命令行中输入jar查看帮助Q?[3] 2 首先我们要生成一个keystore 否则在签名的时候报如下错误 jarsigner 错误Q?java.lang.RuntimeException: 密钥库装入: C:\Documents and Settings\ij2ee\.keystore (pȝ找不到指定的文g?. (q边的ij2ee 是我当前pȝ用户?/a>) 生成keystore的语?keytool -genkey -alias 别名你可以自己写 -keyalg RSA -keystore .keystore 比如我的是 keytool -genkey -alias ij2ee -keyalg RSA -keystore .keystore 下面是会出现的数字签名的一些步骤操? 输入keystore密码Q? 再次输入新密? 您的名字与姓氏是什么? [Unknown]Q?ij2ee 您的l织单位名称是什么? [Unknown]Q?mtk 您的l织名称是什么? [Unknown]Q?mtk 您所在的城市或区域名U是什么? [Unknown]Q?suzhou 您所在的州或省䆾名称是什么? [Unknown]Q?jiangsu 该单位的?a target="_blank">字母国家代码是什? [Unknown]Q?cn CN=jeson, OU=mtk, O=mtk, L=suzhou, ST=jiangsu, C=cn 正确吗? [否]Q?y 输入<sfcs>的主密码 Q如果和 keystore 密码相同Q按回RQ: q时候会在jdk的bin目录下生?.keystore 。把q个.keystore文gUd?C:\Documents and Settings\当前pȝ用户 的目录下面? 3、创Z个数字证? 在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,3650是有效天敎ͼ是10q左叻I在创书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包?CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xxQ都是中文,一看就懂的 keytool -genkey -alias peakCA -keyalg RSA -keysize 1024 -keystore peakCALib -validity 3650 4、将证书导出到证书文件中 在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,******是你输入的密? keytool -export -alias peakCA -file peakCA.cer -keystore peakCALib -storepass ****** -rfc 5、授权jar文gQ在命o行中输入如下指o jarsigner -keystore peakCALib myapplet.jar peakCA 一、引a alert(typeof a);//string alert(typeof b);//object alert(typeof c);//object alert(typeof d);//object var d1=new Date(); 3.this //静态变?br />
Circle.PI=3.14159; //实例Ҏ //静态方?br />
Circle.max=function(a,b){ //调用 2.l承 CircleMore.prototype=new Circle(0); CircleMore.prototype.circumference=function(){ q样能够实现对Circle的承,但是q里存在一炚w题:我们直接把CircleMorecȝprototype指向了一个Circlecd例,q样p盖了JavaScript提供的原型对象,而且抛弃了给定的constructor属性,q样CircleMore的constructor属性就指向了父cCircle的constructor属性。而且q种方式L使h感觉怪怪的?br />
//Prototype框架为Object对象定义了extendҎQ?br />
//source的属性和Ҏ复制Cdestination?br />
Object.extend = function(destination, source) { //调用 3Q如果这里对两个参数交换位置Q则是对原对象的开展?br />
例子Q通过extendҎ对String对象q行了扩?/font> Object.extend(String.prototype,{ 3.多?/font> Object.extend = function(destination, source) { //基类 //子类SubClassA //子类SubClassB //调用 a.initialize();//输出"SubClassA" 四、JavaScript与设计模?/strong> 1.Singleton function Singleton(){ Singleton._instance=null; Singleton.getInstance=function(){ var a=Singleton.getInstance(); 2.Factory function XMLHttpFactory(){} XMLHttpFactory.createXMLHttp=function(){ var xmlhttp=XMLHttpFactory.createXMLHttp(); 五、备?/strong> 参考资料:
]]>主要功能
{q程
个h安全邮g证书
用数字签名识别病?/span>
原因分析
使用Ҏ
原理特点
鉴权
完整?/span>
不可抵赖
如何实现
Java数字{步骤
]]>
W??1个目?/strong>
一艘没有航行目标的船,M方向的风都是逆风Q请明确以下几点Q?br />
1.你ؓ什么是Ih——很多时候是因ؓ你没有立下成为富人的目标?br />
2.你的人生核心目标是什么——杰Zh士与q_之辈的根本差别,q不是天赋、机遇,而在于有无目标?br />
3.赯领先一步,人生领先一大步Q成功从选定目标开始?br />
4.N斯式的h永远不会成功——ؓ什么大多数人没有成功?真正能完成自p划的人只?%Q大多数Z是将自己的目标舍弃,是沦ؓ~Z行动的空惟?br />
5.如果你想?5岁以前成功,你一定得?5?0岁之间确立好你的人生目标?br />
6.每日、每月、每q都要问自己Q我是否辑ֈ了自己定下的目标Q?br />
W?跻I2个成功基?/strong>
站好位置Q调正心态,努力冲刺Q?5岁以前成功?br />
Q一Qh生定?br />
1.人怕入错行Q你的核心竞争力是什么?
2.成功者找ҎQ失败者找借口?br />
3.从三癑օ十行中选择你的最爱:很多时候兴所在是成功的动力。h人都可以创业Q但却不是h人都能创业成功?br />
4.L自己的黄金宝地?br />
Q二Q永恒的真理Q心态决定命q,35岁以前的心态将军_你一生的命运?br />
1.不满现状的h才能成ؓ富翁——能q不景Q始是不凡h?br />
2.敢于梦想Q勇于梦想——这个世界永q属于追梦的人?br />
3.35岁以前不要怕,35岁以后不要悔?br />
4.n贫民Qƈ非一辈子是民,只要你永q保持一颗进取的心——D目远望,中国成功人士很多来自地斏V?br />
5.做一个积极的思维者?br />
6.不要败给悲观的自己?br />
有的人比你富有一千倍,他们也会比你聪明一千倍么Q不会,他们只是q轻时心气比你高一千倍。h生的好多ơ失败,最后ƈ不是败给别hQ而是败给了悲观的自己?br />
7.成功者不q是爬v来比倒下d一?br />
8.宁可ȝ壁,也不要在安面壁.克服你的p|、消极的心态——找个地方喝炚wQ或找个q厅跌舞,或找帮朋友侃侃而谈Q然后,U极行动h?br />
W?跻I3大技?/strong>
1.理旉Q你的时间在哪里Q你的成就在哪里?br />
一个把1时看成60分钟的hQ比一个将之看作一时的h的时_要多60倍?br />
2.你不理胦Q胦不理你?br />
3.自我理Q游刃有余——创业不怕本,脑子一定要好;可以考虑开家特色店Q做别h不愿做的生意?br />
W?跻I4安w立命的理念
35岁以前一定要形成个h风格Q正如小天后蔡依林所唱:要有属于你自q招牌动作?br />
1.做h优于做事?br />
做事p|可以重来Q做人失败却不能重来Q做讲义气;做事怸气馁?br />
2.豁达的男人有财运Q所以,35岁前h定你的婚ȝzZ—找个豁辄男h做老公吧!
3.忠诚的原则:35岁前你还没有建立起忠诚美誉,q一~点要困扰你一生?br />
4.把小事做l,但不要耍小聪明——中国h惛_大事的h太多Q而愿把小事做完美的h太少?br />
W?跻I5分运?/strong>
比尔?盖茨_人生是不公^的,习惯L受它吧!
1.人生的确有很多运气的成分Q谋事在人,成事在天?br />
2.Z时常意外地降_但常常属于那些决不放弃的人?br />
3.抓住人生的每一ơ机会——机会就像一只小鸟,如果你不抓住Q它׃飞得无媄无踪?br />
4.早一步,愚者晚一步?br />
W?跻I6要?/strong>
1.智慧Q别人可你以拿走你的一切,但拿不走你的智慧Qy妙运用自q智慧?br />
2.勇气Q勇气的力量有时会让你成?h"Q敢于放弃,敢于"舍得"?br />
3.培养自己?领导才能、领袖气?——有Z一定要登顶"振臂一|应者云?的境地?br />
4.创造性:不要做@规蹈矩的人?5?5岁是人生最有创造性的阶段Q很多成功h士也都生在q一阶段?br />
5.明智Q知道自q长处、短处,定向聚焦Q尽量在自己的熟悉的领域努力?br />
6.持之以恒的行动力Q在你选定的行业坚持十q_你一定会有机会笑到最后?br />
W?跻I7分学?/strong>
1.知识改变命运?br />
2.35岁前学会你行业中必要的一切知识——每天淘C自己Q在商言商;太相信书本的人,只能成ؓ打工仔?br />
3.思考、实践,再思考、再实践?br />
W?跻I8分交?/strong>
朋友多了路好赎ͼ
1.智商很重要,情商更重要:35岁前请务必徏立v人际关系|?br />
2.卌脉?br />
3.交友有原则?br />
4.善于沟通:35岁前一定要ȝq演讲才能Q很多成功h士首先是个出色的演说家?br />
W?跻I9分习?/strong>
习惯的力量是惊h的,35岁前L的习惯决定着你的成功的大?br />
1.U极思维的好习惯?br />
2.L高效工作的好习惯——学会喜Ƣƈ习惯你的办公室;生活可以不拘节Q但工作一定要谨小慎微Q学习聆听,不打断别话?br />
3.Lȝw体的好习惯?br />
4.q泛爱好的好习惯?br />
5.快速行动的好习惯?br />
W?0跻I10分自?/strong>
1.自信是成功的_支柱?br />
2.自信方能赢得别h的信仅R?br />
3.把自信徏立在创造h值的基础上?br />
4.如何建立自信——ؓ自己立目标Q发挥自q长处Q做事有计划、不拖拉、不轻言攑ּQ学会自我激励;坚持做你自己?br />
W?1?1个需要避开的成功陷?/strong>
1.只有功劳Q没有苦劻I
2.不要"怀才不?Q而要L机遇Q?br />
3.不要惛_横胦Q?br />
4.不要为钱而工作,而让׃ؓ你工作;
5.盲目跟风Qh云亦云,人做我也做;
6.富卛_Q不思进取,知怹Q?br />
7.承认错误而非掩饰错误Q?br />
8.脚踏实地而非惛_非非Q?br />
9.野心太大而不是信心十I
10.反复x不可取;
11.眼高手低Q不择手Dc?br />
W?2?2分努?/strong>
没有随随便便成功Q?br />
1.不是成功,大不是成功,由小变大才是成功Q?br />
2.中国C会q入微利时代Qyq?敢干+实干=成功Q?br />
3.努力试有成功的可能;
4.做Q何事情,最大努力;
5.把事情当成事业来做;
6.争取早日掘到人生的第一桉
]]>JavaScript面向对象~程 (转蝲)
长久以来QJavaScript在Web开发中一直处于被忽视的地位,甚至有相当一部分开发h员对它生了误解Q认为JavaScript只不q是用来完成一些花哨功能的雕虫技。网l上qؓ传的低质量的JavaScript代码Ҏ也vC推L助澜的作?..很多应用中JavaScript都采用了面向q程的编E方式,代码的可扩展性不好,复制_脓的代码比比皆?..
随着Ajax{技术的q泛使用QYUI、Prototype{对JavaScript的应用可谓是淋漓致、出入化。h们才发现原来JavaScript可以实现如此强大的功能,具备如此优雅的架?..
二、准?/strong>
1、概?/span>
JavaScript是一U弱cd语言。包括:
基本cdQ数字NumberQ字W串StringQ布值BooleanQ?br />
复合cdQ对象ObjectQ数lArrayQ?br />
工具cdQ全局对象GlobalQ日期DateQ数学对象MathQ正则表辑ּRegExpQ错误对象ErrorQ?br />
ҎcdQ函数Function?br />
q里我只惌两点Q?br />
1Q基本数据类型的包装对象
每一个基本数据类型都有一个对应的对象cR可以灵zd实现cd转换。简单地_JavaScript不仅支持数字、字W串和布D些数据类型,q支持Number、String、Booleanc,q些cL基本数据cd的包?wrapper)?br />
例子Q?br />
var s="some string";
var len=s.length;
q里Qs保存了一个字W串Q原始的字符串值是不会改变的。一个新的String对象被创ZQ实C寚w度属性的讉KQ之后它p销毁了?br />
其它例子Q?br />
var a="some string";
var b=new String("some string");
var c=["a","b","c"];
var d=new Array("a","b","c");
alert(a instanceof String);//false
alert(a instanceof Object);//false
alert(b instanceof String);//true
alert(b instanceof Object);//true
alert(c instanceof Array);//true
alert(c instanceof Object);//true
alert(d instanceof Array);//true
alert(d instanceof Object);//true
2QFunctioncd
做ؓJavaScript的一U特D类型,我们看到函数在面向对象~程中vC非常关键的作用?br />
2.值和引用
cd
复制
传?/strong>
比较
数字
?/td>
?/td>
?/td>
布尔?/strong>
?/td>
?/td>
?/td>
字符?/strong>
不可变的
不可变的
?/td>
对象
引用
引用
引用
函数
引用
引用
引用
数组
引用
引用
引用
例子Q?br />
var s1="hello";
var s2="hell"+"o";
alert(s1==s2);//true
var d2=new Date();
alert(d1==d2);//false
在构造函CQ指代新创徏的对象实例;
在对象的Ҏ被调用时Q指代调用该Ҏ的对象实例?br />
4.arguments
arguments属性由解释器创建,用于讉K函数对象的每一个参数?br />
5.callee,caller
arguments的callee属性获取对正在执行的Function对象的引用;
Function对象的caller属性获取正在调用当前函数的父函数对象?br />
6.apply,call
两者都是将函数l定到其它对象上执行的,区别在于调用方式Q?br />
apply([thisObj[,argArray]])
call([thisObj[,arg1[,arg2[,[,.argN]]]]])
7.匿名函数
(function(a,b){
return a+b;
})(1,1);
{h于:
function f(a,b){
return a+b;
}
f(1,1);
8.null,undefined
null是JavaScript的关键字Q表C空倹{可以看作Objectcd的一个特D倹{?br />
undefined不是关键字,它是一个全局变量Q用了未定义变量、变量未赋倹{voidq算W,都会q回“undefined”?br />
9.constructor
从JavaScript1.1开始,每个对象都具有一个constructor属性,它引用的是用来初始化该对象的构造函数?br />
10.prototype
JavaScript1.1引入了原型对象的概念Q每一个对象都有一个原型对象,对象可以l承它的原型对象的所有属性和Ҏ?br />
要ؓ一个对象的cd定原型对象,需要将构造函数的prototype属性设|ؓ指定的对象。之后,如果用构造函数初始化对象Ӟ会自动将指定的对象作为新创徏对象的原型对象?br />
注意Q?br />
1Q用原型对象可以减每个承对象的内存需求量Q?br />
2Q即使属性是在对象被创徏后才加到它的原型对象中的Q对象也能够l承q些后定义的属性?br />
3Q当调用一个对象的一个属性时Q先在该对象定义内查找该属性,如果没有该属性才到该对象的原型对象中查找Q依此类推?br />
三、实?/strong>
在面向对象编E中Q我们可以把q程~程中的一个个function看作一个个独立定义的类Q函数名即ؓcd?br />
1.例子QCirclec?/span>
function Circle(radius){
//实例变量
this.r=radius;
}
Circle.prototype.area=function(){
return Circle.PI*this.r*this.r;
}
if(a.r>=b.r){
return a;
}
else{
return b;
}
}
var a=new Circle(2);
var b=new Circle(3);
var c=a.area();
var d=Circle.max(a,b);
1Q一U承方?br />
//q里我们CircleMorecȝprototype指向了一个Circlecd例,
//q增加了circumferenceҎ?br />
function CircleMore(radius){
this.r=radius;
}
return 2*Circle.PI*this.r;
}
2)Ajax架构PrototypeQ区别前面提到的prototype哦)的承方?/font>
for (var property in source)
destination[property] = source[property];
return destination;
};
function ParentClass(){...}
function SubClass(){}
SubClass.prototype=Object.extend({
newMethod:function(){
alert("newMethod");
}
},
ParentClass.prototype
);
newMethod:function(){
alert("newMethod");
}
});
for (var property in source)
destination[property] = source[property];
return destination;
}
function base(){}
base.prototype={
initialize:function(){
this.oninit();//调用了一个虚Ҏ
}
}
function SubClassA(){}
SubClassA.prototype=Object.extend({
//...其它属性方?br />
prop:"SubClassA",
oninit:function(){
alert(this.prop);
}},
base.prototype
}
function SubClassB(){}
SubClassB.prototype=Object.extend({
//...其它属性方?br />
prop:"SubClassB",
oninit:function(){
alert(this.prop);
}},
base.prototype
}
var a=new SubClassA();
var b=new SubClassB();
b.initialize();//输出"SubClassB"
if(Singleton.caller!=Singleton.getInstance){
throw new Error("Can not new Singleton instance!");
}
this.prop="some string";
//...
}
if(this._instance==null){
this._instance=new Singleton();
}
return this._instance;
}
var b=Singleton.getInstance();
b.prop="another string";
alert(a.prop);//"another string"
alert(b.prop);//"another string"
if(...){
return new XMLHttpRequest();
}
else if(...){
return new ActiveXObject("MSXML2.XMLHttp");
}
...
}
《JavaScript权威指南(W三??中国电力出版C?br />
《JavaScript高E序设计与应用实例?人民邮电出版C?br />
Prototype 1.6.0
YUI 2.3.1
注:原文(http://www.cnblogs.com/charming/archive/2007/11/25/972110.html)
]]>
创业路上之领头羊十二?br />
有h_q是一个网l创富的׃。充满机会,也充满了风险?br />
有h_q是一块充满悬늚富矿。蕴含黄金,也会遭遇塌方?br />
有h_q是一个竞争激烈的丛林。容易收P也很Ҏq失?br />
我都怿?br />
十余q来Q互联网成就了一支支让h敬慕的团队。毋庸ȝQ大成者何故Ll队存在---道理很简单,个h的力量是有限的。ؕ世中Q结队可以增加视野,分担风险Q淘金时Q结队有效分工,发现和防范风险;竞争丛林中,l伴可以发挥众h智慧Q防止迷失?br />
让h深思的是,在逆境和利益面前, 怎样避免团队瓦解。换a之,如何与团队真正同甘共苦、不M弃。仅从企业领头h自nQ从四个角度Q想了个概要Q留此存照、备忘?br />
一、道德品?br />
1.做个好h。搞阌不搞阴谋。小事情可以玩点技巧,大事情必能拿到台面上。搞阴谋的大哥最l会被学会了阴谋的兄弟推R?br />
2.与团队成员之间可以有个h交情Q但不可以有除了团队共同利益之间的见不得人的其它U利。不拿团队利益与某成员做交易。以不道德ؓ核心的团队文化,只会培养不道L团队Q结果无法预见?br />
3.戒贪婪,戒懒惎ͼ戒奢侈,戒独享,戒怯懦Q勤“看天”Q勤自省Q勤学习Q勤动手Q勤分n。求生存Q需z悉人性弱点,带团队,w教胜过a传?br />
二、方向感
1.认准方向。跑错了Q跑的越快,ȝ早?br />
2.犹UӞ要看Q要听,要想Q要试,但更要立卛_断。多l决断力Q当断不断,必受其ؕ?br />
3.感觉不错Ӟ要三省,君子慎独?br />
三、志向及l交
1. 做一个h生的攀登者?br />
2.坚守信Ԓ。成为金qMhQ而不是奴隶?br />
3.慎用厚黑术,不与h谋。不跟消极的人结密友Q不跟臭篓子下。对敬Ԓ的hQ学习程门立雪。对同道中hQ不惜十茅庐?br />
四、柔韧度
1.善于发现每个人的长处Qȝ自己的不I互补、包宏V和谐。雷军说Q创业更是发现长板的q程?br />
2.不绝对,多换位?br />
3.坚持Q坚强,专注、简易?/font>
]]>
?/strong>
http(Hypertext Transfer Protocol) 文本传输协议,?990q开始就在www上广泛应用,是现今www上应用最多的协议Q目前版?.1
http是应用层协议Q当你上|浏览网늚时候,览和web服务器之间就会通过http在internet上进行数据的发送和接收?/font>http是一个基于请?响应模式的、无状态的协议?/font>
http是应用层协议Q他要用下层协议提供的服务Qhttp的连接徏立,是利用传输层的 tcp协议来完成的?/em>我们知道tcp是面向连接的协议。一方等待一方发赯接,web服务其连接就是等待的一方,览器是发v的一斏V默认情况下览器与在web服务?0端口上的监听E序建立q接Q在internet 上http协议基本上都是基于tcp协议的,但是在internet上不排除 httpZ其他协议和网l的http实现方式传输。http只是假定传输是可靠的。因而Q何能够提供这U保证都是可以用的?/p>
持箋q接(Persistent Connections)
http1.0中,当连接徏立后Q浏览器发送一个请求,服务器回应一个消息,之后Q连接就被关闭。当览器下ơ请求的时候,需要重新徏立连接,很显然这U需要不断徏立连接的通信方式造成的开销比较大。早期的web面通常只包含html文本Q因此即使徏立连接的开销较大Q不会有太大的媄响,而现在web面往往包含多种资源(囄Q动画,声音{?Q每获取一U资源就建立一ơ连接这样就增加了http服务器的开销Q造成了internet上的信息d。因此在http1.1版中Q给Z持箋q接的机Ӟq将其作为http1.1中徏立连接的~省行ؓ。通过q种q接Q浏览器可以建立一个连接之?Q发送请求ƈ得到回应Q然后l发送请求再ơ得到回应,而其Q客Lq可以发送流水线hQ也是_客户端可以连l发送多个请求,而不用等待每一个响应的到来?br />
HTTP URL
http url的格?如下Q?a href="http://host[%22:%22port][abs_path/">http://host[":"port][abs_path]
其中http表示要通过http协议来定位网l资源。host表示合法的internetL域名或ip地址Q以点分十进制的格式表示Q。port用于指定一个端口号Q拥有被h资源的服务器L监听该端口的tcpq接Q如果port是空Q或者没有给出,则用缺省的端口80。abs_path指定h资源的urlQ如果url中没有给出abs_path那么当它作ؓhurlӞ必须?#8220;/”的Ş式给出。通常Q这个工作浏览器帮我们完成了。我们在览器的地址栏中输入www.xx.com然后回RQ浏览器会默认{换ؓhttp://www.xx.com/.
? URI区别URL
URI(Uniform Resource Identifier,l一资源标识W?Ua是一个符L?用于指定构成web资源的字W串的各个不同部?
URL是一U特D的URI,它包含了用于查找某个资源的够信?其它的URI, mailto:zhao@sina.com则不属于URL,因ؓ它里面不存在 Ҏ该标识符来查扄M数据.q种URIUCؓURN(通用资源?.
HTTP h
客户端通过发送HTTPh向服务器h资源的访?
HTTP h׃部分l成 分别是请求行,消息报头,h正文 .
h行以一个方法符号开?后面跟着hURI 和协议的版本,以CRLF作ؓl尾,h行以I格分隔,除了作ؓl尾的CRLF?不允许出现单独的CR或者LF字符.格式如下:
Method Request-URI HTTP-Version CRLF
Method 表示h的方?Request-URI是一个统一资源标识W?标识了要h的资?HTTP-Version表示?/p>
求的HTTP协议的版?如:
GET /form.html HTTP/1.1(CRLF).
HTTPh
Ҏ | 作用 |
GET | h获取由Request-URI所标识的资?/td> |
POST | 在Request-URI所标识的资源后附加新的数据 |
HEAD | hRequest-URI所标识的资源响应消息报?/td> |
PUT | h服务器存储一个资源,q用Request-URI作ؓ其标?/td> |
DELETE | h服务器删除由Request-URI所标识的资?/td> |
TRACE | h服务器回送收到的h信息Q主要用于测试或诊断 |
CONNECT | 保留来使用?/td> |
OPTIONS | h查询服务器的性能Q或者查询与资源相关的选项和需求?/td> |
GET Ҏ用于获取由Request-URI所标识的资源的信息Q常见格式:
GET Request-URI HTTP/1.1
当我们通过在浏览器的地址栏中直接输入|址的方式访问网늚时候,览器采用的是 GET Ҏ向服务器获取资源
POST Ҏ用于向目的服务器发出hQ要求服务器接受附在h后面的数据。POSTҎ在表单提交的时候用的较多?br />
采用POSTҎ提交表单的例子:
POST/reg.jsp HTTP/1.1(CRLF)
Accept:image/gif,image/x-xbit...........(CRLF)
Host:www.xx.com(CRLF)
Content-Length:22(CRLF)
Connection:Keep-Alive(CRLF)
Cache-Control:no-cache(CRLF)
(CRLF)-----C面的为消息报?br />
username=sss@password=wwww
上面再两个回车之后就是正文的内容
HEADҎ与GETҎ几乎是一L,他们的区别在于HEADҎ只是h消息报头,而不是完整的内容.对于HEADh的回应部分来?他的HTTP头部分中包含的信息与通过GETh所得到的信息是相同?利用q个Ҏ,不必传输q个资源内容,可以得到Request-URI所标识的资源信?q个Ҏ通常被用于测试超q接的有效?是否可以讉K,以及最q是否更?
HTTP响应
在接受和解释h信息?服务器会q回一个HTTP响应消息.
与HTTPhcM,HTTP响应也是׃个部分组?分别? 状态行Q消息报?响应正文.
状态行由协议版?数字形式的状态代?及相应的状态描q组?各元素之间一I格分隔,除了l尾的CRLF(回R换行)序列?不允许出现CR或LF字符.格式如下:
HTTP-Version Status-Code Reason-Phrase CRLF
HTTP-Version 表示服务器HTTP协议的版?Status-Code表示服务器发回的响应代码,Reason-Phrase表示状态代码的文本描述,CRLF表示回R换行
?: HTTP/1.1 200 OK (CRLF)
状态代码由3位数字组成,表示h是否被理解或被满I状态描qCl出状态码的简短的文本描述?/p>
状态代码的W一个数字定义了响应的类别,后面两位数字没有具体的分cR第一个数字有五种可能的取|
-1XXQ指CZ?表示h已经接收Ql处??br /> -2XXQ成? 表示h已经被成功接收、理解、接受?br /> -3XXQ重定向 - 要完成请求必进行更q一步的操作 ?br /> -4XXQ客L错误 - h有语法错误或h无法实现?br /> -5XXQ服务端_五 - 服务器未能实现合法的h?/p>
HTTP响应-状态代码与状态描q?/strong>
状态代?nbsp; 状态描q?nbsp; 说明
200 ok 客户端请求成功?br /> 400 bad request ׃客户端请求有语法错误Q不能被服务器所理解?br /> 401 unauthorized h未经授权。这个状态代码必dwww-authenticate报头域一起用?br /> 403 forbidden 服务器收到请求,但是拒绝提供服务。服务器通常会在响应中文中给Z提供服务的原因?br /> 404 not found h的资源不存在Q例如,输入了错误的URL
HTTP 消息
HTTP 消息由客L到服务器的请求和服务器到客户端的响应l成。请求消息和响应消息都是由开始行Q?/p>
消息报头Q可选的Q,IQ只有CRLF的行Q,消息正文Q可选的Q组成?/em>
对于h消息Q开始行是h行,对于响应消息Q开始行是状态行?br />
消息报头
HTTP 消息报头包括普通报_h报头Q响应报_实体报头?br /> 每一个报头域都是由名?":"+I格+值组成,消息报头域的名字是大写无关的?/p>
普通报_在普通报头中Q有数报头域应用于所有的h和响应消息,但ƈ不用于被传输的实体,q些报头域只用于传输的消息?/p>
cache-Control
Cache-Control 普通报头域用于指定~存指oQ该指o被h/响应链中所有的~存机制所遵@。这些指令将覆盖~省的缓存规则。缓存指令是单向的,在请求出现缓存指令,q不意味着在响应中也会出现。此外,在一个消息(h或响应消息)中指定的~存指oQƈ不媄响另一个消息的~冲机制?br />
注意QCache-Control普通报头是在http1.1中新加的QHTTP1.0 使用的类似报头域为pragma
~存指o分ؓh时的~存指o?u>响应时的~存指o?br />
h时的~存指o包括no-cache,no-store,max-age,max-stale,min-fresh,only-if-cached;
响应时的~存指o包括public ,private ,no-cache ,no-store,no-transform,must-revalidate,proxy-revalidate,max-age,s-maxage.
其中最常用的是no-cache,用于指示h或响应消息不能缓存?/p>
例如Qؓ了指Cie览器(客户端)不要~存面Q服务器端的jspE序可以~写下面的代码:
response.setHeader("Cache-Control","no-cache");
q句代码在发送的响应消息中设|普通报头域QCache-Control: no-cache
Date
Date普通报头域表示消息产生的日期和旉Q可以用于HTTP响应中,也可以用于HTTPh中,作ؓ
服务器端Q应该L在所有的响应中包含Date报头域。作为客L只有在发送的消息中包含了消息的正
文的时候,才应该发送Date报头域,例如Q在QͼQIh的时候?/p>
Connection
Connection普通报头域允许发送者指定连接的选项。例如指定连接是持箋的,或者指?#8220;close”选项Q通知服务器,在响应完成后Q关闭连接?/p>
Accept
Accepth报头域用于指定客L接受哪些cd的信息。例如:Accept:image/gis,表明客户端希?/p>
接受gif囑փ格式的资?Accept:text/html,表明客户端希望接受html文本.
Accept-Charset
Accept-Charseth报头域用于指定客L接受的字W串.? Accept-Charset:iso-8859-1,gb2312.如果在请求消息中没有讄q个域,~省是Q何字W集都可以接受?/p>
Accept-Encoding
Accept-Encodingh报头域类gAcceptQ但是它是用于指定可以接受的内容~码。例如:Accept-Encoding:gzip,deflate.如果h消息中没有设|这个域Q服务器假定客户端对各种内容~码都可以接受?br />
Accept-Language
Accept-Languageh报头域类gAcceptQ但是它是用于指定一U自然语a。例如:Accept-Language:zh-ch.如果h消息中没有设|这个域Q服务器假定客户端对各种语言都可以接受?/p>
Authorization
Authorizationh报头域主要用于证明客L有权查看某个资源。当览器访问一个页面时Q如果收到服务器响应代码?01Q未授权Q,可以发送一个包含Authorizationh报头域的hQ要求服务器对其q行验证?/p>
Host
Hosth报头域主要用于指定被h资源的internetL和端口号Q它通常是HTTP URL中提取出来的
例如Q?a >http://www.xx.com/index.html览器发送的h消息中,׃包含Hosth报头域,如下Q?br />
Host:www.xx.com
后面没有跟端口号Q表明用的是缺省端口号80Q如果端口号不是80Q那么就要在L后面加上一个冒PQ)Q然后接上端口号Q例如:
Host:www.xx.com:8080
注意: 在发送HTTPh的时候这个报头域是必ȝ.
User-Agent
User-Agenth报头域允许客L他的操作系l,览器和其他属性告诉服务器Q不q这个报头域不是必须的,如果我们自己~写一个浏览器Q不使用User-Agenth报头域,那么服务器端无法识别User-Agent中包含的操作pȝ{信息?/p>
响应报头允许服务器传递不能放在状态行中的附加响应信息Q以及关于服务器的信息和Request-URI所?/p>
识的资源q行下一步访问的信息?/p>
Location
Location响应报头域用于重定向接受者到一个新的位|。例如:客户端所h的页面已不存在原先的位置Qؓ了让客户端重定向到这个页面新的位|,服务器端可以发回Location响应报头域。这U情况还l常发生在更换域名的时?Q在旧的域名所对应的服务器上保留一个文Ӟ然后使用重定向语句,让客L去访问新的域名所对应的服务器上的资源?br />
LocationQhttp://www.xx.com
Server
Server响应报头域包了服务器用来处理h的Y件信息。他和User-Agenth报头域是相对应的Q前者发送服务器软g的信息,后者发送客L软g的信息(览器)和操作系l的信息?br />
ServerQApache-Coyote/1.1
消息报头-实体报头
h和响应消息都可以传送一个实体,一个实体由实体报头域和实体正文l成Q在大多数情况下Q实体正文就是请求消息中的请求正文或者响应消息中的响应正文。但是在发送时Qƈ不是说实体报头域和实体正文要在一起发送,例如Q有些响应可以包含实体报头域。实体就好像我们写的书信Q而在信中Q我们可以写上标题,加上号{,q部分就相当?是实体报头域Q而我们所写的书信的内容,q当于是实体正文。前面所讲的普通报_h报头和响应报头我们可以看成写在信上的邮~,接收者,发送者等内容?br /> 实体报头定义了关于实体正文(例如Q有无实体正文)和请求所标识的资源的元信息?/p>
常用的实体报?/p>
Content-Encoding
Content-Encoding实体报头域被用作媒体cd的修饰符Q它的值指CZ已经被应用到实体正文的附加内容编码,因而要获得Content-Type报头域中所有引用的媒体cdQ必采用相应的解码机制?/p>
Content-Encoding主要用于记录文的压~方法,下面是它的一个例子:
Content-EncodingQgzip
如果是一个实体正文采用了~码方式存储Q在使用之前必进行解码?/em>
Content-Language
Content-Languag实体报头域描qC资源所用的自然语言。Content-Language允许用户늅自n的首选语a来识别和区分实体。如果这个实体内容仅仅打提供给业w的阅读者,那么可以按照如下的方式设|这个实体报头域Q?br />
Content-LanguageQda
如果没有指定Content-Language报头域,那么实体内容提供l所有语a的阅读者?/em>
Content-Length
Content-Length实体报头域用于指名实体正文的长度Q以字节方式存储的十q制数据来表C,也就是一个数字字W占一个字节,用其对应的ASCCII码存储传输?/p>
要注意的是:q个长度仅仅是表C实体正文的长度Q没有包括实体报头的长度?/em>
Content-Type
Content-Type实体报头域用于指明发送给接收者的实体正文的媒体类型。例如:
Content-Type: text/html;charset=iso-8859-1
Content-Type: text/html;charset=gbk
Last-Modified
Last-Modified实体报头域用于指C源最后的修改日期及时间?/p>
Expires
Expires实体报头域给出响应过期的日期和时间。通常Q代理服务器或浏览器会缓存一些页面,当用户在ơ访问这些页面时Q直接从~存中加载ƈ昄l用Pq样~短了响应的旉Q减了服务器的负蝲。ؓ了让代理服务器或览器在一D|间后更新面Q我们可以用Expires实体报头域指定页面过期的旉。当用户又一ơ访问页面时Q如果Expires报头l出的时间和旉比Date普通报头域l出的日期和旉早(或者相同)Q那么代理服务器或浏览器׃会再使用~存的页面,而是从服务器上请求新的页面。不q要注意Q即佉K面过期了Q也q不意味着服务器上的原始资源在此时间之前或者之后发生了改变?br />
Expires实体报头使用的日期和旉必须是RFC 1123中的日期格式Q如
Expires:Thu,15 Sep 2008 16:00:00 GMT
HTTP1.1的客L和缓存必d其他非法的日期格式(也包?Q看作已l过期。例如,Z让浏览器不要~存面Q我们也可以利用Expires实体报头域,讄它的gؓ0Q如下:
response.setDateHeader("Expires",0);
^[ \t]*\n 替换所有空白行
[0-9][0-9][0-9][0-9][0-9] 替换数字
二,使用excelL重复数据
1、假定要ҎA列内Ҏ判断是否有重?请在其后插入两个I列(即B列和C??
2、在B1单元D?,按Ctrl+鼠标左键往下拉到相应行,卛_Ş成一个与行号相同的系列数?
3、选定全表,按A列排?在C2单元D入公?
=IF(A2=A1,"重复","")
公式用填充柄向下复制到相应行?
4、选定全表,按C列排?含有"重复"内容的行集中在后面,可以一ơ删除?Q这里不可以排序Q因里有公式Q在q行排序出C错误。可以将其复制出来到文本中,然后再复制回dq行排序q样可以排序了Q把又重复字D늚数据一起删除掉Q?br />