lich's profile如若这个世界上连爱情都开始现实起来,我愿同浪漫一...PhotosBlogListsMore ![]() | Help |
如若这个世界上连爱情都开始现实起来,我愿同浪漫一同入地狱。偶尔的一瞬间,我记住了一个人,然后很长的一段时间里回忆,想起,不能忘怀。为了更好的活。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
积极的娱乐,快乐的生活
VIDEO/MOVIES
WWW/FORUM
THE ONES
|
August 21 魔兽世界休闲玩家如何赚G也许现在大部分的休闲玩家都是靠做日常,打材料赚点钱。刚开始还有点心情,但超过半小时也许就有点无聊了,但是为了赚点修理费没办法啊……深有体会啊。 下面我就介绍点小经验来给大家参考吧(可能有点小帮助吧,*-*),耐心看哦~ (一)赚小钱之RP篇:传说中的RP流来啦。 1号(/目标 附魔师米瑟雷希斯)这个是宏,做宏时去掉括号(下同),帮你找到他。具体信息:出现在辛特兰以前JY系列任务的最上面一层,有此宏帮忙应该很好找,出产附魔师的长袍!漂亮的布甲衣服(MM很喜欢的),也是49ZC极品,应该有1000-2000G。友情提示:10%的掉率……另+22小时左右的刷新时间…… 2号(厄运竞技场BOSS),位于菲拉斯厄运之槌FB外面,类似于荆棘谷的竞技场中。这里定期会刷一个银英BOSS,装备一般点的就能杀掉。出产欺诈宝珠!2000G左右的东西,6小时左右刷新,刷厄运草药和矿的朋友注意下哦。而且每周三的晚上8点必刷一个草药BOSS同时携带大量草药(黑莲花1-2个)。友情提示:10%左右的掉率,还有不一定只有你去杀(又一场腥风血雨)! 3号(/目标 达拉然书记员),同样是宏,出现在银松森林地图下方安伯米尔,靠近大厅时用此宏。出产黑纹灰猫(宠物),800G左右。特说明LM是不能杀这些怪的,呈友好状态。所以你可以转到LM那里去卖,可以更贵一点,呵呵。友情提示:10+%掉率,4小时左右刷新。 4号(/目标 吞噬者特雷姆斯),出现诅咒之地,骷髅级龙类,貌似就LR,SS.QS能单杀。出产40+蓝装,一定要接库米沙的努力这个任务哦,这怪必掉无暇的德莱尼水晶球,完成任务后拿到的箱子能开出40+蓝装,六魔包也是好东西。友情提示:刷新(没算过,应该是以天计算……) 5号(/目标 利尔·迪米),出现在LM暴风城(小鬼头就知道乱跑),注意用宏,出售白猫(宠物),300G左右,BL方贵点。友情提示:2-3小时刷新。 其他,各类宝宝,常见的有蓝龙BB(艾莎拉)一般1个小时多出一个,1000G左右;绿龙BB,悲伤沼泽出,很难出,3000G左右;黑龙BB,荒芜之地,2000G左右。不一一列举了,不出的话会很郁闷哦。 考验你们RP的时候到了哦,呵呵,(1-5号)确切点的说要双RP,1怪要在,2要出货…… 总结:记得要用宏,找到目标后可以给他上个标记,方便找到他。不要因为不出东西就心情不好哦,毕竟是为了娱乐嘛。 (二)赚小钱之AH篇 第一步,打开拍卖窗口(废话),点击剩余时间,让物品从时间短的开始排列。这是你可能会发现有些东西很便宜,几十甚至几百G的东西都很有可能只是几G或是几Y这样低价标的,那还犹豫什么,竞标上!不出意外的话(不排除有竞争者)能在很短的时间内能购到,赚一笔了吧,呵呵。友情提示:没有发现东西或是没标到物品也没关系嘛,反正也是顺手点击的也不扣G,更花不了1-2分钟。 第二步,这次是点击最低价格,让物品从低价开始排。一页一页的看,直到物品价格到2G50Y左右(这个价格会出现很多的布类,下面就不看了),也许你会发现有的物品会很便宜的卖了,这个时候小赚一笔的时候就到了,主要看机遇,有便宜货就买呗。你会发现这也用不了几分钟。 第三步,选中武器,点击稀有程度,让物品从紫的开始排列,翻到有绿的了就不用看了(看看有什么好东西呢),主要是X9战场装备啊,乔丹、厄运钟摆(浮云了)、刽子手之斧、快速钢剑(COS海盗用)等,都是好东西,便宜的就买下。(这些也要看服务器情况,不可盲目) 第四步,选中装备,同上。好东西也多了,洞察法袍(紫装)、附魔师的长袍(RP篇有提到)、毒丝长袍(绿装,有一套的哦)、寒冬长袍(绿装)这些都是好看的衣服哦,能卖1000左右,也要看服务器情况,多看看觉得好的装备的价格,尤其是X9战场能用的。(看看又不花钱,你会发现很多东西都没见过,见识下不是很好么,呵呵) 第五步,搜索下你经常能接触到的东西是个什么价钱。比如你是采药的,你就可以看看魔莲花什么价格啊;你是拨皮的,你可以看看结缔皮什么价啊;你经常打空气,你可以看看他们的价钱,贵的话有空或是路上碰到就打点来卖嘛。还有走过路过不要错过哦,都留意下偏远NPC卖的东西,经常有图纸一类的,别犹豫,买下,然后去AH卖吧,畅销的话就给你提供了很多外快哦。 总结:不一定要一直蹲AH,有空时来转下就可以,比如组人下FB时、去银行时、排个战场跟人聊天时等等。推荐双休日多留意下,我们的口号是“淘宝”! (三)赚小钱之商业技能篇:每个人都可以学2种商业技能,最好能练高点,可以赚点小钱嘛。 1.采花。现在的火星草药跌价太厉害,就看中魔莲花和生命微粒了。这里推荐炸鸟蛋的地方刷JY大树,还是很好杀的,出3-5个微粒和草药,运气好能掉1-2个魔莲花,记得用/目标 森林狂暴者 找目标,这里有2个日常可以做(也许还能碰到烹饪任务),如果抢大树的人多的话就没什么赚头了。还有就是去地球挖草药。不要小看地球草药,除了宁神、地根、银叶,基本都20G左右1组,有的甚至更贵(主要有盲目、太阳草、格罗姆之血、幽灵菇),随着铭文专业的畅销,地球草药会持续走高。 2.采矿。做日常顺便挖呗,哈哈。氪金还是很贵的,其他的就太便宜了。不过地球的矿倒是很值钱,秘银、瑟银都是40G左右一组的,其间挖出的宝石也卖的不错。WLK后出现的DK们以及伴随绝大部分选的是珠宝,锻造或工程,这2种矿需求量是很大的。所以拿起我们的小锄头,1锄头下去就是2G……安逸啊。推荐荒芜之地、燃烧平原,视野开阔,又是圆形地图,转圈挖吧。 3剥皮。比较贵的皮也就是裂蹄牛皮、眼镜蛇鳞片、魔皮(迁跃兽),另外地球是上的重皮、硬甲皮也很值钱。还是推荐去纳格兰杀裂蹄牛吧,比较好出。地球也不错,曾经一边刷蓝龙BB一边拨皮,还是蛮爽的哦。 4铭文。这个行业竞争的人实在是太多了(深有体会),如果不宅的话基本赚不了钱。不过也可以做点FM纸(等级2的)卖卖,10+G一张哦,卖的还可以,而成本只要6G左右,根据盲目草40G一组算。 5炼金。有CD就点可水转化空气,这年代水便宜,空气贵啊。药剂大师有材料就做点药卖,转化大师可以转下奥金、砖石、原生之能。暴击就赚到了,呵呵。推荐一次卖个2-4个,看这些在AH的货多不多了。 6裁缝。图纸全的朋友可以喊下带做或是做几个成品卖卖(做一个卖一个,卖掉了再做的原则)比如冲击腰带、FM腿的符文线等。洗魔法布、原始月布、暗影布的CD到了记得去洗哦,都是一笔收入哦。还有就是做灵纹布包包卖吧,2G多一组的布做成包卖个5G,还能赚点的哈。 7.珠宝。没什么悬念,代工!这个真的蛮好赚的,RAID完的时候一大堆人喊着求切宝石,3-5G代工不等。记得买点图纸哦,HS的图纸比破碎残阳的便宜。也可以切点多彩卖做好是切DPS的,谁叫他们人数多呢。建议不要切紫石头卖,为什么?因为别人比你宅…… 8制皮。老规矩,有图纸的就收点代工费或是自己做个卖,推荐FM腿部的腿甲片,还有做点+耐力的FM护甲片吧,畅销的东西哦,价格看AH而定吧。 9工程。其实工程我比较推荐吸吸流,最赚钱的当然是吸源生空气了(最好有大鸟)。地点在纳格兰,大家可以查下空气微粒的分布图,然后就开始了,一般没人抢的话1小时能吸到8个左右空气,风景也不错哦。 10附魔。做点代工吧,如果你有稀有图纸会很赚哦,猫鼬、稳固等,你也可以买点铭文做的附魔卷轴,FM上去再扔AH卖吧,利润很高哦。普通点的FM师可以分解点材料,下FB说好没人要的就你来分解,最后分赃,呵呵。就算是不卖掉,你也可以存着给自己将来FM用。 11锻造。代工照旧哦,也可以做点装备卖,比如守护者腰带,红色战斗腰带等。这里我比较推荐做棒子(金棒,银棒,真银棒之类的),就是FM要用到的棒子,成本低利润高,经常看到有人在收的。 12钓鱼(才记起来,这也能赚钱的)。钓鱼很适合休闲哦,贫瘠之地的变异鱼可是好东西哦,钓吧,技能没到300的都可以来这里练。一组鱼能卖30G+哦,当然可以自己用或是送朋友。外域的水域能掉出金鳞卖店鱼,6G……安逸了。钓鱼的日常还有几率出15耐的石头、至尊二戒、白装。城中的鳄鱼还能开出鳄鱼BB,这样的日常真舒服。 总结:大家可以根据自己的专业看下,不仿将自己所学的2个专业结合下,会一举两得哦。讲的不好的地方请大家原谅,第一次写东西,有补充的话告诉我哦,抛砖引玉嘛。希望大家手头都有小钱,呵呵。 最后,国际惯例,7区为爱而狂。感谢下工会,感谢塞服的朋友们。咱们的口号是用空闲的时候赚小钱兼顾娱乐,呵呵。写的不好,多多担待哈。 July 12 社会生活法则 必须知道的社会生活中十大 著名法则一、 马太效应 二、 手表定理 三、 不值得定律 四、 彼得原理 五、 零和游戏原理 六、 华盛顿合作规律 七、 酒与污水定律 八、 水桶定律 九、 蘑菇管理 十、 奥卡姆剃刀定律 十一、 二八法则 十二、 钱的问题 一、马太效应 《新约马太福音》中有这样一个故事,一个国王远行前,交给三个仆人每人一锭银子,吩咐他们: " 你们去做生意,等我回来时,再来见我。 " 国王回来时,第一个仆人说: " 主人,你交给我们的一锭银子,我已赚了 10 锭。 " 于是国王奖励他 10 座城邑。第二个仆人报告说: " 主人,你给我的一锭银子,我已赚了 5 锭。 " 于是国王例奖励了他 5 座城邑。第三个仆人报告说: " 主人,你给我的一锭银子,我一直包在手巾里存着,我怕丢失,一直没有拿出来。 " 于是国王命令将第三个仆人的一锭银子也赏给第一个仆人,并且说: " 凡是少的,就连他所有的也要夺过来。凡是多的,还要给他,叫他多多益善。 " 这就是马太效应。看看我们周围,就可以发现许多马太效应的例子。朋友多的人会借助频繁的交往得到更多的朋友;缺少朋友的人会一直孤独下去。金钱方面更是如此,即使投资回报率相同,一个比别人投资多 10 倍的人,收益也多 10 倍。 这是个赢家通吃的社会,善用马太效应,赢家就是你。 对企业经营发展而言,马太效应则告诉我们,要想在某一个领域保持优势,就必须在此领域迅速做大。当你成为某个领域的领头羊的时候,即使投资回报率相同,你也能更轻易的获得比弱小的同行更大的收益。而若没有实力迅速在某个领域做大,就要不停地寻找新的发展领域,才能保证获得较好的回报。 二、手表定理 手表定理是指一个人有一只表时,可以知道现在是几点钟,而当他同时拥有两只表时却无法确定。两只表并不能告诉一个人更准确的时间,反而会让看表的人失去对准确时间的信心。你要做的就是选择其中较信赖的一只,尽力校准它,并以此作为你的标准,听从它的指引行事。记住尼采的话: " 兄弟,如果你是幸运的,你只需有一种道德而不要贪多,这样,你过桥更容易些。 " 如果每个人都 " 选择你所爱,爱你所选择 " ,无论成败都可以心安理得。然而,困扰很多人的是:他们被 " 两只表 " 弄得无所,心身交瘁,不知自己该信仰哪一个,还有人在环境、他人的压力下,违心选择了自己并不喜欢的道路,为此而郁郁终生,即使取得了受人瞩目的成就,也体会不到成功的快乐。 手表定理在企业经营管理方面给我们一种非常直观的启发,就是对同一个人或同一个组织的管理不能同时采用两种不同的方法,不能同时设置两个不同的目标。甚至每一个人不能由两个人来同时指挥,否则将使这个企业或这个人无所适从。手表定理所指的另一层含义在于每个人都不能同时挑选两种不同的价值观,否则,你的行为将陷于混乱。 三、不值得定律 不值得定律最直观的表述是:不值得做的事情,就不值得做好,这个定律似乎再简单不过了,但它的重要性却时时被人们疏忘。不值得定律反映出人们的一种心理,一个人如果从事的是一份自认为不值得做的事情,往往会保持冷嘲热讽,敷衍了事的态度。不仅成功率小,而且即使成功,也不会觉得有多大的成就感。 哪些事值得做呢?一般而言,这取决于三个因素。 1 、价值观。关于价值观我们已经谈了很多,只有符合我们价值观的事,我们才会满怀热情去做。 2 、个性和气质。一个人如果做一份与他的个性气质完全背离的工作,他是很难做好的,如一个好交往的人成了档案员,或一个害羞者不得不每天和不同的人打交道。 3 、现实的处境。同样一份工作,在不同的处境下去做,给我们的感受也是不同的。例如,在一家大公司,如果你最初做的是打杂跑腿的工作,你很可能认为是不值得的,可是,一旦你被提升为领班或部门经理,你就不会这样认为了。 总结一下,值得做的工作是:符合我们的价值观,适合我们的个性与气质,并能让我们看到期望。如果你的工作不具备这三个因素,你就要考虑换一个更合适的工作,并努力做好它。 因此,对个人来说,应在多种可供选择的奋斗目标及价值观中挑选一种,然后为之而奋斗。 " 选择你所爱的,爱你所选择的 " ,才可能激发我们的奋斗毅力,也才可以心安理得。而对一个企业或组织来说,则要很好地分析员工的性格特性,合理分配工作,如让成就欲较强的职工单独或牵头来完成具有一定风险和难度的工作,并在其完成时给予定时的肯定和赞扬;让依附欲较强的职工更多地参加到某个团体中共同工作;让权力欲较强的职工担任一个与之能力相适应的主管。同时要加强员工对企业目标的认同感,让员工感觉到自己所做的工作是值得的,这样才能激发职工的热情。 四、彼得原理 彼得原理是美国学者劳伦斯彼得在对组织中人员晋升的相关现象研究后得出的一个结论;在各种组织中,由于习惯于对在某个等级上称职的人员进行晋升提拔,因而雇员总是趋向于晋升到其不称职的地位。彼得原理有时也被称为 " 向上爬 " 原理。这种现象在现实生活中无处不在:一名称职的教授被提升为大学校长后无法胜任;一个优秀的运动员被提升为主管体育的官员,而无所作为。 对一个组织而言,一旦组织中的相当部分人员被推到了其不称职的级别,就会造成组织的人浮于事,效率低下,导致平庸者出人头地,发展停滞。因此,这就要求改变单纯的 " 根据贡献决定晋升 " 的企业员工晋升机制,不能因某个人在某一个岗位级别上干得很出色,就推断此人一定能够胜任更高一级的职务。要建立科学、合理的人员选聘机制,客观评价每一位职工的能力和水平,将职工安排到其可以胜任的岗位。不要把岗位晋升当成对职工的主要奖励方式,应建立更有效的奖励机制,更多地以加薪、休假等方式作为奖励手段。有时将一名职工晋升到一个其无法很好发挥才能的岗位,不仅不是对职工的奖励,反而使职工无法很好发挥才能,也给企业带来损失。 对个人而言,虽然我们每个人都期待着不停地升职,但不要将往上爬作为自己的惟一动力。与其在一个无法完全胜任的岗位勉力支撑、无所适从,还不如找一个自己能游刃有余的岗位好好发挥自己的专长。 五、零和游戏原理 当你看到两位对弈者时,你就可以说他们正在玩 " 零和游戏 " 。因为在大多数情况下,总会有一个赢,一个输,如果我们把获胜计算为得 1 分,而输棋为 -1 分,那么,这两人得分之和就是: 1+ ( -1 ) =0 。 这正是 " 零和游戏 " 的基本内容:游戏者有输有赢,一方所赢正是另一方所输,游戏的总成绩永远是零。 零和游戏原理之所以广受关注,主要是因为人们发现在社会的方方面面都能发现与 " 零和游戏 " 类似的局面,胜利者的光荣后面往往隐藏着失败者的辛酸和苦涩。从个人到国家,从政治到经济,似乎无不验证了世界正是一个巨大的 " 零和游戏 " 场。这种理论认为,世界是一个封闭的系统,财富、资源、机遇都是有限的,个别人、个别地区和个别国家财富的增加必然意味着对其他人、其他地区和国家的掠夺,这是一个 " 邪恶进化论 " 式的弱肉强食的世界。 但 20 世纪人类在经历了两次世界大战,经济的高速增长、科技进步、全球化以及日益严重的环境污染之后, " 零和游戏 " 观念正逐渐被 " 双赢 " 观念所取代。人们开始认识到 " 利己 " 不一定要建立在 " 损人 " 的基础上。通过有效合作,皆大欢喜的结局是可能出现的。但从 " 零和游戏 " 走向 " 双赢 " ,要求各方要有真诚合作的精神和勇气,在合作中不要耍小聪明,不要总想占别人的小便宜,要遵守游戏规则,否则 " 双赢 " 的局面就不可能出现,最终吃亏的还是自己。 六、华盛顿合作规律。 华盛顿合作规律说的是:一个人敷衍了事,两个人互相推诿,三个人则永无成事之日。多少有点类似于我们 " 三个和尚 " 的故事。人与人的合作不是人力的简单相加,而是要复杂和微妙得多。在人与人的合作中,假定每个人的能力都为 1 ,那么 10 个人的合作结果就有时比 10 大得多,有时甚至比 1 还要小。因为人不是静止的动物,而更像方向各异的能量,相推动时自然事半功倍,相互抵触时则一事无成。我们传统的管理理论中,对合作研究得并不多,最直观的反映就是,目前的大多数管理制度和行业都是致力于减少人力的无谓消耗,而非利用组织提高人的效能。换言之,不妨说管理的主要目的不是让每个人做到最好,而是避免内耗过多。 21 世纪将是一个合作的时代,值得庆幸的是,越来越多的人已经认识到真诚合作的重要性,正在努力学习合作。 邦尼人力定律:一个人一分钟可以挖一个洞,六十个人一秒种却挖不了一个洞。 合作是一个问题,如何合作也是一个问题。 七、酒与污水定律 酒与污水定律是指,如果把一匙酒倒进一桶污水中,你得到的是一桶污水;如果把一匙污水倒进一桶酒中,你得到的还是一桶污水。几乎在任何组织里,都存在几个难弄的人物,他们存在的目的似乎就是为了把事情搞糟。他们到处搬弄是非,传播流言、破坏组织内部的和谐。最糟糕的是,他们像果箱里的烂苹果,如果你不及时处理,它会迅速传染,把果箱里其它苹果也弄烂, " 烂苹果 " 的可怕之处在于它那惊人的破坏力。一个正直能干的人进入一个混乱的部门可能会被吞没,而一个人无德无才者能很快将一个高效的部门变成一盘散沙。组织系统往往是脆弱的,是建立在相互理解、妥协和容忍的基础上的,它很容易被侵害、被毒化。破坏者能力非凡的另一个重要原因在于,破坏总比建设容易。一个能工巧匠花费时日精心制作的陶瓷器,一头驴子一秒钟就能毁坏掉。如果拥有再多的能工巧匠,也不会有多少像样的工作成果。如果你的组织里有这样的一头驴子,你应该马上把它清除掉;如果你无力这样做,你就应该把它拴起来。 八、水桶定律 水桶定律是讲,一只水桶能装多少水,完全取决于它最短的那块木板。这就是说任何一个组织都可能面临的一个共同问题,即构成组织的各个部分往往决定了整个组织的水平。构成组织的各个部分往往是优劣不齐的,而劣质部分往往又决定整个组织的水平。 " 水桶定律 " 与 " 酒与污水定律 " 不同,后者讨论的是组织中的破坏力量,而 " 最短的木板 " 却是组织中有用的一个部分,只不过比其它部分差一些,你不能把它们当成烂苹果扔掉。强弱只是相对而言的,无法消除。问题在于你容忍这种弱点到什么程度。如果它严重到成为阻碍工作的瓶颈,就不得不有所动作。 如果你在一个组织中,你应该: 1 、确保你不是最薄弱的部分; 2 、避免或减少这一薄弱环节对你成功的影响; 3 、如果不幸,你正处在这一环节中,你还可以采取有效的方法改进,或者转职去谋另一份工作。 九、蘑菇管理 蘑菇管理是许多组织对待初出茅庐者的一种管理方法,初学者被置于阴暗的角落(不受重视的部门,或打杂跑腿的工作),浇上一头大粪(无端的批评、指责、代人受过),任其自生自灭(得不到必要的指导和提携)。相信很多人都有这样一段 " 蘑菇 " 的经历,但这不一定是什么坏事,尤其是当一切都刚刚开始的时候,当上几天 " 蘑菇 " ,能够消除我们很多不切实际的幻想,让我们更加接近现实,看问题也更加实际,而对一个组织而言,一般地新进的人员都是一视同仁,从起薪到工作都不会有大的差别。无论你是多么优秀的人才,在刚开始的时候都只能从最简单的事情做起, " 蘑菇 " 的经历对于成长中的年轻人来说,就像蚕茧,是羽化前必须经历的一步。所以,如何高效率地走过生命中的这一段,从中尽可能吸取经验,成熟起来,并树立良好的值得信赖的个人形象,是每个刚入社会的年轻人必须面对的课题。 十、奥卡姆剃刀定律 如果你认为只有焦头烂额、忙忙碌碌地工作才可能取得成功,那么,你错了。事情总是朝着复杂的方向发展,复杂会造成浪费,而效能则来自于单纯。在你做过的事情中可能绝大部分是毫无意义的,真正有效的活动只是其中的一小部分,而它们通常隐含于繁杂的事物中。找到关键的部分,去掉多余的活动,成功并不那么复杂。 奥卡姆剃刀:如无发要,勿增实体。 12 世纪,英国奥卡姆的威廉对无休无止的关于 “ 共相 ” 、 “ 本质 ” 之类的争吵感到厌倦,主张唯名论,只承认确实存在的东西,认为那些空洞无物的普遍性要领都是无用的累赘,应当被无情地 “ 剃除 ” 。他主张, “ 如无必要,勿增实体。 ” 这就是常说的 “ 奥卡姆剃刀 ” 。这把剃刀曾使很多人感到威胁,被认为是异端邪说,威廉本人也受到伤害。然而,这并未损害这把刀的锋利,相反,经过数百年越来越快,并早已超越了原来狭窄的领域而具有广泛的、丰富的、深刻的意义。 奥卡姆剃刀定律在企业管理中可进一步深化为简单与复杂定律:把事情变复杂很简单,把事情变简单很复杂。这个定律要求,我们在处理事情时,要把握事情的主要实质,把握主流,解决最根本的问题。尤其要顺应自然,不要把事情人为地复杂化,这样才能把事情处理好. June 26 Michael Joseph Jackson全名:Michael Joseph Jackson 中译名:迈克尔·约瑟夫·杰克逊 其他译名:台湾译名:麦可·杰克森;香港译名:米高积逊 ;米高积臣 简称:MJ. 血型:A型 出生日期:1958年8月29日中午12:13 身高:179cm 星座:处女座 出生地点:美国 印第安纳州 加里市 Jackson街21号(Gary, Indiana, USA) 主要音乐风格:新杰克摇摆舞曲(New Jack Swing),俱乐部舞曲(Club/Dance),流行/摇滚(Pop/Rock),摩顿黑人音乐(Motown),都市流行(Urban),放克(Funk),节奏布鲁斯(R&B) 主要歌唱特色:假声,痉挛,活力,热情,伤感,警醒,快乐,自信,丰富,时髦,真诚,盛典,神秘,口技 主要舞蹈风格:机械舞、踢踏舞、霹雳舞、现代舞、太空步 北京时间6月26日,一代歌王迈克尔·杰克逊因心脏停动逝世,享年51岁。 悼! 向伟大的杰克逊先生致敬!永远铭记缅怀! June 23 郎咸平十大经典语录1)目前我们的改革到了什么地步?我们只要打着市场化的招牌,就可以无恶不作! 2)我接到几千个的投诉,就有八个大字的感觉——“触目惊心、痛心疾首”。我举个例子,某地方的国企,经营没有效率,因此进行了简单的民营化。这个民企老总买了国企之后,贱价买断职工工龄,把下岗的职工一下子全部的推向社会,由谁负担呢?由失去了国有企业的政府和我们社会大众负担,他们拿着国有资产,赚取所有的利润;还有更过分的,把国有资产全部铲平,就地建高楼,赚的钱呢?全部归自己,这就是我说的改革的利益归于自己,改革的社会成本由全社会来负担的现象。甚至我的学生,有一次到四川省某县,去谈一些合资项目。当地国企的老总和他说:“我给你讲,我们把这些净资产通过一些会计操纵压低了价值,你呀,就假装出百分之二十的钱,我就把企业给你,还有呀,我们后山还有五千亩的土地,都是共产党的,我全部都送给你,你给我一点钱好不好?”这就是没有信托责任的“我党干部”。 3)当然了,我也必须对后文化大革命时期的经济学家表示一些肯定。肯定什么呢?……我们的生活必需品变得比以前充足了!这些经济学家是有贡献的……但是二十五年下来,我们走到什么地步呢?……你觉得我们的改革开放符合历史的发展规律吗?你觉得我们的改革开放符合邓小平的理念吗?你们又觉得我们的改革开放符合现代的马克思主义和现代的资本主义吗?你会发现我们已经背离了这一切。我绝对不能接受这种导致一部分人富起来而由其他人负担社会成本的虚伪改革。 4)你毕业了,功成名就之后,把你的父母接到大城市居住,而你就开始搞教育产业化的改革了,你断送了当初和你一样贫穷农村子弟唯一脱贫致富的机会,因为学费提高的结果他们再也念不起大学了,你怎么忍心啊?……什么叫教育改革?这是最为荒谬的一种改革。 5)但是《资本论》对公平的追求影响了欧美国家此后数十年法治系统的改变。这本书所描绘的情况,深深打动着每一个人的心,因为欧洲资本主义走到了1867年前后,几乎要到达尽头,整个社会无法再容忍不公平。当时一种追求绝对自我的理念,使得巴黎、伦敦等城市变成了肮脏、臭气冲天的城市。每个人把大小便、垃圾都往街上倒,因为我只要自己好就是了,不管别人死活……所以《资本论》的结论就是资本主义必定灭亡。我可以告诉各位,马克思心目中的原始的资本主义确实已经灭亡了。 6)因此,Anti-Trust,《反托拉斯法》实际上是反信托基金法,也就是反大家族法。大家族所代表的不仅仅是既得利益者的问题,而是一个资本家的理念。 7)因为从1844年开始到1867年间,马克思和恩格斯就提出既得利益者的资本家会利用一些伪观念来毒化劳动者,例如推广基督教精神,要求劳工接受上帝的带领,接受上帝所给于的一切,包括接受这个社会的不公平等等。所以马克思提出,社会要进步就要打破妨碍社会进步的思想,包括基督教思想,而这也是马克思唯物主义观念的由来。 8) 我们再来看看医疗改革!(掌声)当一个急诊的病人送到医院去的时候,部分的医院第一句话不是“你哪里不舒服呀?”,而是“你有没有保证金呀?”(笑)如果你没有,你就在走廊里等死吧! 9) 你们看看美国的股票市场,美国政府的目的非常的清楚,就是为了全体百姓的利益。而我们的股改,是为了全流通! 10) 你竟然发现现代资本主义和社会主义有如此的类同性。在我们心目中,所谓的“资本主义”这个虚幻的名词后面,应该是所谓的自由、民主、议会、宪法、民营经济等等。怎么会变成“福利经济学”里面追求公平,在公平之上才有效率呢?那么我清楚的告诉各位,这是马克思主义冲击一百多年的结果。 11)当然,还有很多改革都值得我们批评和关注,包括农业改革、房改,金融改革、银行改革,其共同特征就是改革由少数既得益者独享改革成果,而改革成本由全社会负担。 May 08 在线查询 EMS全球快递邮件号查询 http://www.ems.com.cn/ems/index.jsp 中国高等教育学历网上证书查询 http://www.chsi.com.cn/xlcx/ 中国黄历查询,就是查每日吉凶 http://lunar.anet.net.tw/ 万年历查询(包括纪念日,节假日查询) http://www.123cha.com/calendar/ 身份证号码查询 http://www.lxsk.com/idcard.aspx 全国邮政业务资费(去邮局别让人蒙了啊) http://www.chinapost.gov.cn/yyzn/zifei/indexzifei.htm 在线ip地址专业查询定位 http://www.123cha.com/ip/ 全国主要城市地图查询 http://www.123cha.com/map/ 全国列车时刻查询 http://www.123cha.com/train/ 世界主要城市同步时间查询 http://www.123cha.com/worldclock/ 各国货币汇率换算 http://www.123cha.com/currency-converter/ 12种语言在线翻译 http://www.123cha.com/tran/ 国内邮政编码、长途电话区号查询 http://www.123cha.com/postal/ 在线免费度衡量换算转换器 http://www.123cha.com/unit-converter/ 汉字简体繁体在线转换 http://www.123cha.com/chinese-converter/ 搜索引擎收录情况、网站反向链接在线查询 http://www.123cha.com/search_engine/ 人体生物钟周期在线查询 http://www.fh21.com.cn/search/zhouqi.htm 人体疾病查询及医院药品大夫查询,这个有趣啊 http://health.sohu.com/medisearch.html 手机型号,价格产地查询 http://www.3533.com/phone/ API函数在线查询大全 http://www.hongen.com/pc/program/apiquery.htm 全球当日股票行情查询 http://stock.sina.com.cn/cgi-bin/stock/quote/lookup.cgi 全球黄页在线查询 http://www.bridge69.com/365/sw/yellow.htm 商务查寻类 [酒店预定] http://www.bridge69.com/chinese/hotel.htm [中国专利检索] http://www.bridge69.com/365/sw/1-2china-zhuanli.htm [国际专利检索] http://www.bridge69.com/365/sw/1-3guoji-zhuanli.htm [外汇牌价] http://202.102.239.182/hl/llhlcx.asp [邮编电话区号] http://www.cnyw.net/yzbm/index.asp?sm=%D5%E3%BD%AD [法律法规查询] http://202.99.23.199/home/begin.cbs [股票行情查询] http://www.gtja.com/gtja/quotation/stock.jsp [国内著名网站] http://www.bridge69.com/365/cxdq/29web.htm [数码相机报价] http://www.bridge69.com/365/sw/2-1shuma.htm [农产品价格查询] http://www.bridge69.com/365/sw/2-2nongchanpin.htm [火车时刻查询] http://www.bridge69.com/365/sw/2-3train.htm [中关村在线价格查询] http://www.bridge69.com/365/sw/2-4zhongguancun.htm [药品价格查询] http://www.bridge69.com/365/sw/2-5yaoping.htm [国内航班查询] http://www.bridge69.com/365/sw/2-6plane.htm [汽车报价查询] http://www.bridge69.com/365/sw/2-7car.htm [建材价格查询] http://www.bridge69.com/365/sw/3-1jiancai.htm 手机真假验正 http://www.bridge69.com/365/sw/3-2mobphone.htm [关税查询] http://www.bridge69.com/365/sw/3-3guanshui.htm [WTO信息查询] http://www.bridge69.com/365/sw/3-4wto.htm [法律查询] http://www.bridge69.com/365/sw/3-5low.htm [国际区号查询] http://www.bridge69.com/365/sw/3-6guoji.htm 实时航班动态 http://www.bridge69.com/365/sw/3-7shishi.htm [展会查询] http://www.bridge69.com/365/sw/3-8zhanhui.htm [行业代码表查询] http://www.bridge69.com/365/sw/dai%20ma.htm [电脑报价查询] http://www.bridge69.com/365/sw/4-1comptur.htm [全球金融指数] http://www.bridge69.com/365/sw/4-2jinron.htm [国际UPS包裹追踪] http://www.bridge69.com/365/sw/4-3ups.htm [中国网站全球排行榜] http://www.bridge69.com/365/sw/4-4paihang.htm [全球黄页] http://www.bridge69.com/365/sw/yellow.htm [在线各类字典大全] http://www.bridge69.com/365/sw/dictionary.htm [世界钢号对照] http://www.bridge69.com/365/sw/4-7gan.htm [***商人专集] http://www.bridge69.com/chinese/jpsr/index.htm [***贸易参考] http://www.bridge69.com/chinese/rbmyck/index.htm [***企业经营管理集] http://www.bridge69.com/chinese/rbqygl/index.htm [公证知识] http://www.bridge69.com/365/sw/5-1gongzhe.htm [中国百家姓的日文发音] http://www.bridge69.com/365/sw/5-5baijiaxing.htm [唐诗三百首中日文对照] http://www.bridge69.com/365/sw/5-6tansi300.htm [***人名的读法] http://www.bridge69.com/365/sw/6-1japanese.htm 日常查寻类 [违章查询] http://www.bridge69.com/365/cxdq/01.htm http://www.bridge69.com/365/cxdq/1-2ems.htm [查询生辰八字] http://www.bridge69.com/365/cxdq/03.htm [查身份证] http://www.bridge69.com/365/cxdq/1-4shenfenzhen.htm [农历公历互查系统] http://www.bridge69.com/365/cxdq/05.htm [成语查寻] http://www.bridge69.com/365/cxdq/1-6chenyu.htm [英语词典] http://www.bridge69.com/365/cxdq/1-7english.htm [手机地址] http://www.bridge69.com/365/cxdq/08souji.htm [移动话费] http://www.bridge69.com/365/cxdq/1-9yidong.htm [联通话费] http://www.bridge69.com/365/cxdq/2-1liantong.htm [疾病查询] http://www.bridge69.com/365/cxdq/2-2jibing.htm [药品查询] http://www.bridge69.com/365/cxdq/2-3yaoping.htm [景点查询] http://www.bridge69.com/365/cxdq/2-4jingdian.htm [世界时间] http://www.bridge69.com/365/cxdq/15shi.htm [电视节目] http://www.bridge69.com/365/cxdq/2-6tv.htm [实时天气预报] http://www.bridge69.com/365/cxdq/weather.htm [在线地图] http://www.bridge69.com/365/cxdq/2-8map.htm [节日大全] http://www.bridge69.com/365/cxdq/21jieri.htm [营养成分查询] http://www.bridge69.com/365/cxdq/3-1yingyang.htm [医院信息查询] http://www.bridge69.com/365/cxdq/3-2yiyuan.htm [常用电话列表] http://www.bridge69.com/365/cxdq/3-3tel.htm [高校学历查询] http://www.bridge69.com/365/cxdq/3-4school.htm [里程查询] http://www.bridge69.com/365/cxdq/3-5licheng.htm [车牌照号查询] http://www.bridge69.com/365/cxdq/3-6chepai.htm [国家干线公路查询] http://www.bridge69.com/365/cxdq/3-7road.htm [全国报刊查询系统] http://www.bridge69.com/365/cxdq/4-1news*****.htm [上海市住宅电话查询] http://www.bridge69.com/365/cxdq/4-2shanhai.htm [全国信息港导航] http://www.bridge69.com/365/cxdq/xing%20xi%20gan.htm [旅游地图] http://www.bridge69.com/365/cxdq/4-4map.htm [黄道吉日查询] http://www.bridge69.com/365/cxdq/4-5jiri.htm [海外中文网站大全] http://www.bridge69.com/365/cxdq/4-6world.htm 计算器类 [属相计算] http://www.bridge69.com/365/jsql/01.htm [科学计算] http://www.bridge69.com/365/jsql/02.htm [理财计算] http://www.icbc.com.cn/calculator/calculator_per.jsp [个税计算] http://www.bridge69.com/365/jsql/04ge.htm [单位制式转换] http://www.bridge69.com/365/jsql/05dan.htm [标准体重计算] http://www.bridge69.com/365/jsql/1-6tizhong.htm [存款利息计算器] http://www.bridge69.com/365/jsql/1-7cunkuan.htm [购房计算] http://www.bridge69.com/365/sw/house.htm 测试大全类 [智商测试] http://www.bridge69.com/365/csdq/01.htm [爱情测试] http://www.bridge69.com/365/csdq/02.htm [信心测试] http://www.bridge69.com/365/csdq/03.htm [男性魅力测验] http://www.bridge69.com/365/csdq/04.htm [心理适应性测试] http://www.bridge69.com/365/csdq/05.htm [合格丈夫测试] http://www.bridge69.com/365/csdq/06.htm [安全期测试] http://www.bridge69.com/365/csdq/1-7anquang.htm [测生命周期] http://www.bridge69.com/365/csdq/1-8life.htm [心理测试] http://www.czinfo.net/heart/ [测试你的反应速度] http://www.bridge69.com/365/ylxx/fangying.htm [由始以来最准的性格、爱情测试] http://www.bridge69.com/365/csdq/2-3zui.htm 娱乐休闲学习类 推荐: [全球精品影视站] http://www.bridge69.com/TV/index.htm [全球广播在线收听] http://www.bridge69.com/radio/index.htm [滚动新闻中心] http://www.bridge69.com/365/ylxx/1-1news.htm [网上日程表] http://www.bridge69.com/chine**/*ia...u/calendar.html [梦的解析] http://www.bridge69.com/365/ylxx/1-3drawem.htm [星座查询] http://www.bridge69.com/365/ylxx/1-4star.htm [菜谱大全] http://www.5eat.com/rec_default.php [大学英语四六级成绩查询] http://www.bridge69.com/365/ylxx/1-6english.htm [足球彩票] http://www.bridge69.com/365/ylxx/1-7football.htm [网上报刊室] http://www.bridge69.com/365/ylxx/02new*****.htm [金山词霸在线词典] http://www.bridge69.com/365/ylxx/2-1words.htm [福利彩票] http://www.bridge69.com/365/ylxx/2-2fuli.htm [各地小吃] http://www.bridge69.com/365/ylxx/2-3eat.htm October 24 心存荣耀,无所畏惧When shdow comes to daim our souls,some must rise - the light of old 邪恶肆虐,侵略吾魂,重握圣光,英雄并起 Names in stone,spints of legend Deeds unknown,yet never forgotten 石上之名,传奇之魂 所创伟绩,既无人知,亦永不遗忘 These are the Duranin -of honor within and of fear without ... 这即是杜兰宁男儿 心存荣耀,无所畏惧 Rememberthem,When in hope,you doubt 记住英雄,当你心存疑虑 [::艾泽拉斯国家地理 BBS.NGACN.CC::] WOW史诗级巨著--远古传说(Tales of the Past )全集,附带中文字幕,在线观看 远古传说1: [::艾泽拉斯国家地理 BBS.NGACN.CC::] [ http://www.tudou.com/v/AgmBBuAHhjc ] 远古传说2-1: [ http://www.tudou.com/v/KnhapIxHeKw ] 远古传说2-2: [ http://www.tudou.com/v/dsTSrZ5uTD0 ] 远古传说3-1: [ http://www.tudou.com/v/MB9wYd7ve-M ] 远古传说3-2: [ http://www.tudou.com/v/hhkE4sejDcI ] 远古传说3-3: [ http://www.tudou.com/v/7yx5bmOgKcA ] -------------- 本文中的中文翻译为 Archangel 独立完成. 与网络上流传的中文翻译无关. Tales of the Past: This Is Your Story 远古的传说: 这是你的故事 (No quotes available) (没有可用的引用) Tales of the Past II: Revelations 远古的传说II: 启示 The weak fear danger, but the strong seek it. 弱者畏惧危险, 强者寻求之. It's strange, though, this life. Everywhere around us, wars are fought and neither side seems to know the reason. And while innocents are dying, we do nothing but claim our revenge! I hope we'll be able to counter this, Blazer. That is my wish. -- Yimo 生活真是奇怪. 战争就在我们周围发生, 而双方似乎都不知道原因. 当无辜者在死亡, 我们却只是在寻求我们的复仇! 我希望我们能够反对这些, Blazer. 这是我的愿望. -- Yimo You are dedicated, Yimo. For years you have been doing nothing but trying to prevent others from meeting their death in war. Even though you have met nothing but hate, you would still sacrifice your life for them. And yes. You would even sacrifice your own soul! That is why you are so rare, Yimo. Your love and compassion reaches beyond that of mortals. There was never any corruption at all! Evil lives in every soul, even in those you wish to save! -- Arthas Menethil, the Lich King 你就是选择, Yimo. 多年来你致力于尝试防止其他人在战争中遭遇死亡. 即使你遇到的只是仇恨, 你仍然愿意为他们牺牲你的生命. 是的. 你甚至愿意牺牲你自己的灵魂! 这就是为什么你是如此的杰出, Yimo. 你的爱与怜悯超越了凡人. 完全没有什么堕落! 邪恶存在于每个灵魂, 甚至就在你想要拯救的人! -- 阿尔萨斯.米奈西尔, 巫妖王 And so at last the fight between the Horde and the Alliance has been put to and end, at least for now. Thanks to Yimo and his sacrifice, we are able to stand united once again, just as he would have wished. Just as he would have wished. Sometimes, though, you have to wonder. Why is a new, more deadly, foe needed for us to stop our meaningless killing of each other? Why must I watch my friends die in Battle? And why must their loved ones suffer, for what is essentially nothing more than a stupid War of Men? I don't have that answer. -- Blazer 最终部落与联盟之间的战争终于停止了, 至少是现在. 由于 Yimo 和他的牺牲, 我们能够再次联合起来, 正如他希望的那样. 正如他希望的那样. 尽管有时你不得不想知道. 为什么必须要有新的, 更多的死亡和敌人, 我们才能停止我们毫无意义的相互杀戮? 为什么我必须看着我的朋友们在战斗中死去? 为什么他们所爱的人必须因本质上只是人类的愚蠢战争而受苦? 我不知道答案. -- Blazer Tales of the Past III: Legendary 远古的传说III: 传奇 Can good exist without evil? Can there be light without dark? 善良能脱离邪恶而存在吗? 光明能脱离黑暗而存在吗? This is why I chose you, Blazer. You may not have talent. You may not have any particular strength or skill. But you have an unlimited potential within you. And you have the dedication and spirit to master this potential. -- Highlord Mograine, the Ashbringer 这就是我选择你的原因, Blazer. 你也许没有天赋. 你也许没有任何特别的力量与技能. 但是你拥有无穷的潜力. 而你也能用付出和精神去掌控这种潜力. -- 高阶领主莫格莱尼, 灰烬使者 Seems like everyone nowadays chooses fear, hatred, vengeance, even me. You taught me to forgive, you taught me something more than just to hate. And I forgot. I don't know how and I don't know when, but I forgot. And I failed you, Yimo. I failed you. -- Blazer 似乎现在所有人都选择了恐惧, 仇恨, 复仇, 包括我. 你教会我原谅, 你教会我许多而不是仇恨. 而我忘记了. 我不知道怎样, 我不知道什么时候, 但是我忘记了. 我辜负了你, Yimo. 我辜负了你. -- Blazer You see the sunset, Blazer? It always reminds me of what we're fighting for. It reminds me of the dark times that will come. But it also reminds me that as long as we fight this darkness together, then the light will return and a new day will come again. Never forget this. -- Yimo 你看见那日落了吗, Blazer? 它总是提醒我我们是为什么而战斗. 它提醒我黑暗时光将会来临. 但是它也提醒我, 当我们一起战斗对抗黑暗那么久之后, 光明将会回归, 新的一天将会再次到来. 不要忘记这些. -- Yimo When shadow comes, to claim our souls, some must rise, the light of old. Names in stone, spirits of legend, deeds unknown, yet never forgotten. These are the Duranin, of honor within and of fear without. Remember them, when in hope you doubt. 当阴影来临, 来索取我们的灵魂, 有些事物必须崛起, 古老的圣光. 石头上的名字, 传说的精神, 未知的行动, 还没有被忘记. 这就是 Duranin, 带着荣誉, 没有恐惧. 想起这些, 当你怀疑希望时. Some people believe destiny to be unchangeable. I disagree. For today, we have won a victory. Not only against the Lich King, but an even greater victory against ourselves. By standing together, despite grudges and hate, we have won a battle against the evil within us, an evil that was destined to be our end. And today, the red sun rises in the east, and grants us a new dawn. Look. It reminds us that one being may make a difference. Blazer never believed in destiny. But, he believed in hope. He believed that nothing is unchangeable as long as we try. That hope, that belief, is what makes a hero out of any man. In Orcish, such heroism has a name, Lok'Narad. Though there is no exact translation for it, it roughly resembles one word, Legendary. That is their title, their glory. And I ask of you that you do one thing. Honor them! -- Warchief Thrall 有的人认为宿命不能改变. 我不同意. 今天, 我们赢得了胜利. 不仅是战胜巫妖王, 而且也是战胜我们自己的更伟大胜利. 团结一心, 放弃嫉妒与仇恨, 我们赢得了对抗我们内心邪恶的胜利, 那个将导致我们毁灭的邪恶. 今天, 红日从东方升起, 赐予我们新的黎明. 看. 它提醒我们一个人能够产生影响. Blazer 从不相信宿命. 但是, 他相信希望. 他相信如果我们尝试了足够久, 没有什么是不能改变的. 这希望, 这信仰, 让一个英雄出众. 在兽人语中, 这样的英雄气概有一个称号, Lok'Narad. 尽管它没有准确的翻译, 但是它大概类似于一个词, 传奇. 这就是他们的头衔, 他们的光荣. 我要求你们做一件事. 让他们荣耀吧! -- 酋长萨尔 April 09 解决注册表打不开的问题当上网遇到一些恶意的网站,在背后偷偷修改你的注册表信息,把系统设置乱改一通,然后再锁住“注册表编辑器”(Regedit.exe),让你无法通过执行“Regedit”(注册表编辑器)这个程序来还原设置时,你该怎么办呢? DOS命令, March 27 WORD制作行政公文标准格式一、公文的模板制作 7 保存成模板文件 October 07 系统垃圾清理自己造开始=》所有程序=》附件=》记事本
复制以下代码:
---------------------------------此行不复制,从下行开始----------------------
@echo off
echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tmp del /f /s /q %systemdrive%\*._mp del /f /s /q %systemdrive%\*.log del /f /s /q %systemdrive%\*.gid del /f /s /q %systemdrive%\*.chk del /f /s /q %systemdrive%\*.old del /f /s /q %systemdrive%\recycled\*.* del /f /s /q %windir%\*.bak del /f /s /q %windir%\prefetch\*.* rd /s /q %windir%\temp & md %windir%\temp del /f /q %userprofile%\cookies\*.* del /f /q %userprofile%\recent\*.* del /f /s /q “%userprofile%\Local Settings\Temporary Internet Files\*.*“ del /f /s /q “%userprofile%\Local Settings\Temp\*.*“ del /f /s /q “%userprofile%\recent\*.*“ echo 清除系统LJ完成! echo. & pause ----------------------到此复制完毕,此行不复制---------------------------
另存为 路径:桌面 文件类型:所有文件 文件名:清除系统垃圾.bat
完毕,运行
August 18 仇恨构筑型vs. 生存型武器及附魔 ——TANK完全手册__3Q-REPLAYS.NET仇恨构筑型vs. 生存型武器及附魔 仇恨型武器 我是使用朱莉的匕首的战士,这意味着我的Tank经验绝大多数都围绕 着这一件速度最快的单手武器,而忽视武器的防护特性。这类武器主要用于那些紧张的战斗,队友会在第一时间展开攻击,而保持仇恨是MT首先需要考虑的问题。 其原因在于英勇打击的特性。此外,这类武器上都不附带诸如招架之类的生存型属性,因此在整场战斗中你能够通过承受伤害来获得更多的怒气。在面对巨龙等招架 率很高的Boss,使用快速武器可以让你在没有击中敌人的时候,并不会在仇恨上产生太大落差。 通常来说,仇恨构筑型武器用于奥尼克西 亚、熔火之心小怪、加顿男爵、沙兹拉尔、拉格纳罗斯、瓦拉斯塔兹、黑翼之巢小怪、拉什雷尔、费尔默、埃博诺克、弗莱格尔、安其拉神殿小怪、预言者斯克拉 姆、沙尔图拉、哈霍兰公主等。此外还用于包括四绿龙、蓝龙和卡扎克在内的野外Boss。 顶级仇恨构筑型武器如下,它们速度都非常快,并且大多有强化伤害的特效。 [朱莉的匕首]: 单手 匕首 33 - 62伤害 速度 1.30 (每秒伤害36.5) 击中时可能: 在12秒内为装备者治疗总计78点伤害。 出处:世界掉落。 不错的DPS,令人惊异的速度,10火抗以及在熔火之心几乎无用的特效,[亚考尔的阳炎刀]: 单手 匕首 41 - 77伤害速度 1.30 (每秒伤害45.4) +10 火焰抗性 击中时可能: 冲击目标,对其造成75到105点火焰伤害。 出处:世界掉落。 [艾斯卡达尔的右爪]: 主手 拳套 50 - 94伤害 速度 1.50 (每秒伤害48.0) +4 敏捷 击中时可能: 使你的攻击速度提高30%,持续5秒。 出处:MC2号Boss。 高耐力加上很棒的属性,[熔火犬牙]: 单手 匕首 57 - 107伤害 速度 1.60 (每秒伤害51.2) +9 耐力 装备: 使你造成致命一击的几率提高1%。 装备: +20 攻击强度。 出处:MC9号Boss的箱子。 最棒的武器(与熔火犬牙一样,通常不被盗贼青睐的),[异种虫爪]: 主手 拳套 64 - 120伤害速度 1.60 (每秒伤害57.5) 装备: 使你造成致命一击的几率提高1%。 装备: +30 攻击强度。 出处:TAQ3号Boss。 你是不是非常硬核?那么让所有其他职业都点掉拯救祝福和优雅图腾,你自己挂上这些降仇恨Buff,然后使用这把武器,[黑色赦免者]: 单手 匕首 53 - 100伤害 度 1.60 (每秒伤害47.8) 击中时可能: 降低你对当前目标造成的威胁值,降低它们攻击你的可能性。 (编注:这只是在搞笑……这是瑟银兄弟会声望学的配方) 注: 无论使用哪种类型的武器,特别是仇恨构筑型武器,确保战斗前在武器上使用了厚重的磨刀石或平衡石来加强伤害,给自己来一瓶阿尔萨斯的礼物,并且让你名为 Raid专门设计天赋的盗贼保持敌人身上的出血效果。这将为你的每一次攻击提升23点伤害……对异种虫爪来说,相当于提升了大约70点DPS。 愤怒_力量_征服者以下是关于装备比较的简单讨论。这部分比较并不深入分析,只作为快速查询的参考。 愤怒套装: 4925 盔甲值 231 耐力(2,310生命值) 127 力量 61 防御技能 火抗 40 (胸、腿、肩、鞋) 暗抗 30 (手、头、腰) 自然抗 10 (胸) 冰抗 10 (头) 奥抗 10 (腿) 盾防值 41 (肩、鞋) 盾防率 3% (腰) 闪避 2% (腿) 招架 1% (手) 3件效果:战斗怒吼效果+30。 5件效果:在使用攻击性技能后有20%几率下一个攻击性技能降低5怒气消耗。 8件效果:盾防后有4%几率下一次攻击必定可以招架。 力量套装: 4306 盔甲值 189 耐力(1,890 生命值) 143 力量 41 防御技能 火抗 34 (手、头、腰、胸) 暗抗 24 (腿、肩、鞋) 盾防率 5% (肩、胸) 招架 1% (腿) 闪避 2% (腰、头) 命中 1% (手) 3件效果:盾防值+30。 5件效果:被攻击时有20%几率获得一点额外怒气。 8件效果:破甲造成的仇恨提升15%。 征服者套装: 3966 盔甲值(已计算敏捷带来的加值) 140 耐力(1,400 生命值) 137 力量 96 敏捷 26 防御技能 命中 2% (腿、肩) 闪避及爆击率 4.8% (敏捷加值) 3件效果:怒吼类技能怒气消耗-35%。 5件效果:雷霆一击的减速效果和伤害增加50%。 注:征服者套装只有五件,而愤怒和力量套装各有八件。征服者套装包含了全套盔甲中属性值最多的五个部位。 赞达拉辩护者套装: 无 论你如何进行平衡,选择赞达拉辩护者中的某几件装备对你的整体属性都会有所损害——除了它的项链(很好的稳固之力勋章的替代品)。两件效果带来的2%盾防 率值得考虑,但前提是你没有全套愤怒,或者打算用三愤怒、三力量加两件辩护者的组合。考虑到愤怒胸是耐法里安掉落的,并不那么容易得到,但放弃力量胸甲换 取2%盾防率并不划算。在所有套装中,惟一能够牺牲的部件只有手腕。 毫无疑问,全套愤怒的效果是最好的! 作为MT,你的目标是保持存活并制造足够的仇恨控制住Boss。以此为目的,我相信全套愤怒能够最好地完成任务,而替换掉其中的任何部件,试图用混合套装的作法只会削弱你的整体能力。 用愤怒换掉力量以后,你会损失20点力量。但愤怒三件的效果相当于为你弥补了其中15点力量的损失。同时战斗怒吼的效果还会对你同队的其他物理职业起作用。 力量三件的套装效果很棒,如果由于各种原因你无法获得全套愤怒,那么在混合套装中这是一个值得保留的效果。 力 量和愤怒的五件效果作用方式类似,但愤怒套装的效果远远比力量套更有效。假设你对付的是一条龙,或者其他大体型愤怒的Boss,它们的攻击频率通常和你差 不多,甚至比你慢——比如克洛玛古斯。它们每五次攻击才能为你提供额外的1点怒气。而愤怒套装的五件效果,实际上等同于你的所有攻击性技能都降低了1点怒 气。想想你使用攻击性技能的频率,两者高下立判。 愤怒八件的效果非常出众。它的作用方式是,每当你成功盾防以后,都有4%几率获得一个 名字叫“招架”的Buff。这个Buff持续时间是永久性的,即使你离开副本也存在,直到它被“消耗”掉。这个Buff直接让你的招架几率提高100%, 但并不是说下一次攻击一定是招架并消耗掉这个Buff——假如你闪避了下一个攻击,那么这个Buff仍然存在,直到你真正遭受到一次实质性的物理伤害,它 才会起作用。在面对许多Raid Boss的时候,MT的操作策略通常都能保证全程平均90%以上的盾防率,这确保了这个套装效果的触发率。因此这个效果 让愤怒套装压倒了物品等级上占优势的征服者套装。这个效果相当于抵消了征服者套装中敏捷带来的闪避率,但征服者套装的耐力和防御技能低于愤怒,因此在比较 中处于下风。当然,这仅仅是针对MT而言。 而上文中列出了每项抗性对应各套套装的部位,你可以根据这些资料来设计你在混合有抗性需求的战斗中的装备方式。比如你可以在需要一些火抗的战斗中混合那些具备火抗属性的愤怒和力量装备,同时顺带获得两个套装的三件套装效果。在需要暗抗的场合也一样。 July 18 EJB规范详解_补3. 实体Bean的生命期实体Bean的生命期比会话Bean的复杂,但二者也有一些共同点。图6-21和图6-22显示了实体Bean的整个生命期。 图6-21 实体Bean的生命期(池化状态)。这里显示了实体Bean的完整生命期,并突出显示池化部分。 “池化”是一个中间状态。这个状态的实体Bean不与任何特定数据对应。可在这个状态的实 例上执行ejbHome()或ejbFind()等通用操作。当这些Bean无用时,容器将调用unsetEntity Contest() 方法销毁池化Bean 图6-22 实体Bean的生命期(就绪状态)。连续调用ejbCreate()和ejbPostCreate()方法使Bean进入“就 绪”状态。激活方法也能使Bean进入就绪状态。在执行业务方法时,同步方法ejbLoad()和 ejbStore()在“就绪”状态的实体Bean上适当运行 创建实体Bean。容器调用以下方法创建实体Bean实例: newInstance() setEntityContext(...) 与会话Bean一样,容器调用newInstance()创建Bean实例,但这个实例未处于就绪状态。 调用setEntityContext(...)使新建Bean能识别运行时上下文信息,该方法将Entity Context属性对象作为参数。 实体Bean的活动和服务。池化的Bean不表示任何特定数据。对于这样的实体Bean实例而言,不能调用其业务方法。可利用池化Bean执行一些通用活动,另外,当容器不再需要池时,可进行销毁。在这个阶段,可以执行如下3个动作: ● 调用ejbHome(),在Bean实例上执行一些通用操作 ● 调用ejbFind(),以查找持久数据集合 ● 调用unsetEntityContext()方法销毁Bean实例,并对实例进行无用单元回收处理 图6-22显示了就绪状态的实体Bean。如果需要新建数据,容器将从Bean池选一个实例,并按顺序调用以下方法: ● ejbCreate() ● ejbPostCreate() 在企业Bean中,ejbCreate()方法将接收大量参数,符合主键概念。因此,可能使用大量重载的ejbCreate()方法,以满足企业持久数据定义的需要。在供应业务数据时,ejbCreate()方法用供应值刷新Bean实例的实例变量。 现在,可以在这个Bean上运行ejbPostCreate()方法,以完成Bean的创建。这时,Bean就进入“就绪”状态,可以接受业务方法调用。 在实体Bean实例就绪后,它实际上将与数据库表的特殊记录等例子对应。现在,可在特定Bean实例上运行业 务方法。在这样的Bean上运行业务方法是一项复杂活动,因为多个客户端可能同时访问此类持久数据。为此,容器需要将Bean上的方法调用与数据库保持同 步。容器必须确保客户端总能访问到最新的持久数据。这可通过以下两种数据同步方法实现: ● ejbStore() ● ejbLoad() 在Bean实例上的业务方法将触发以下一系列事件: ● 调用ejbLoad()方法,并用来自数据库的最新值更新Bean的属性 ● 业务方法在具体的Bean实例上运行。业务方法调用可能导致Bean实例变量值的变化,并改变Bean的状态 ● 调用ejbStore()方法。该方法将Bean实例的最新值保存在数据库表的记录中 如图6-22所示,与有状态会话Bean一样,实体Bean可能要在长时间内处于不活动状态。如果出现这种情 况,容器可能决定将Bean换出,并将资源分配给活动Bean。相反地,容器也可能决定将Bean换入,将其激活,将处于钝化状态的实体Bean转换为就 绪状态。下面来描述这两个阶段。 钝化。当容器决定换出Bean时,将按顺序调用以下方法: ● ejbStore() ● ejbPassivate() 这将使Bean进入池化状态,并将Bean的数据存在辅助存储器中。 激活。当容器决定换入Bean时,将按顺序调用以下方法: ● ejbActivate() ● ejbLoad() 销毁实体Bean。如果特定实体Bean不再需要,容器将调用Bean上的ejbRemove()方法。这个操作使特殊Bean实例从“就绪”状态进入“池化”状态。容器可能在未来某个时间用池中实例表示另一条记录。 4. 消息驱动Bean的生命周期在所有Bean中,“消息驱动Bean(MDB)”的生命期最简单。消息驱动Bean属于轻量级类型,不能直接被任何本地或外部客户端访问。 MDB的创建。容器调用3个方法创建MDB实例: ● newInstance() ● setMessageDrivenContext() ● ejbCreate() 与无状态会话Bean一样,newInstance()方法调用将创建一个Bean,这个Bean未处于就绪 状态。接下来,容器调用这个实例上的setMessageDrivenContext()方法,以便使实例识别上下文信息。此后将调用ejbCreate ()方法,使MDB实例进入“池化”状态。 MDB的活动和服务。当业务方法onMessage()接收到JMS消息时,池化MDB将转入操作状态。消息必须是JMS支持的类型,接下来,将启动一个适当的JMS操作。 MDB的onMessage()可能接收以下类型的消息对象: ● TextMessage ● ByteMessage ● ObjectMessage ● StreamMessage ● MapMessage 开发人员需要正确识别消息类型,理解内容,并进行适当操作。操作将成为进行中的业务流程的一部分。 发送电子邮件消息、更新数据库是一些JMS操作实例。 销毁MDB。当容器不再需要MDB实例时,将调用Bean上的ejbRemove()方法,以释放Bean占用的所有资源。 6.4.5 EJB的高级特性当前的EJB 2.1和较早的EJB 2.0在很多方面进行了创新。除了引入更新类型的Bean—— MDB外,还提供了很多新功能,使企业Bean更强大、更可靠。 在众多的新特性中,CMP Bean中的高级特性最值得一提,下面列出了这个新规范的一些重大创新: ● Home方法(又称Home业务方法) ● 抽象持久模式(Abstract Persistence Schema),与之前的直接持久模式相对。这个新规范引入了“持久管理者”概念。持久管理者在运行时自动处理CMP实体Bean的持久性;基于新持久管理者合约“抽象持久模式”,将实体Bean映射到数据库;基于新查询语言EJB QL实施和执行finder方法 ● 一种新型的专门查询语言“EJB查询语言”有助于简化finder方法,并使其独立于数据库 ● 使用CMP Bean管理关系 ● 本地接口,方便了与处在同一位置的Bean的通信,提高了容器内实体关系的效率 后续章节将介绍其中一部分特性。 Servlet、JSP和EJB规范是J2EE的核心规范。Servlet规范用于定义容器、组件、生命期和 部署信息,描述API,讨论它们的使用环境。Servlets和Servlet Filter都是轻量级Web组件,能识别和管理Web层的功能,特别适于控制Web层的操作。 JSP规范将JSP描述成“倒置”的Servlet,从架构角度全面分析JSP。JSP还讨论JSP的各种高级特性,如JSP标准动作和JSP定制标记。 EJB规范描述了容器和组件。会话Bean在服务器端提供客户会话,实体Bean支持数据的持久性。新推出的“消息驱动Bean”能在一定程度上连接JMS支持的中间件。学习EJB,特别是会话Bean的生命期,可更好地理解EJB的行为。 EJB规范详解EJB(Enterprise JavaBean,企业JavaBean)是最重要的组件,也是J2EE技术的重要组成部分。与Servlet和JSP不同,EJB能够为企业应用程序提供业务逻辑和数据访问逻辑支持。 1. EJB提供者EJB提供者创建Bean,Bean执行企业需要的业务操作。提供者根据企业的业务规则,将业务规则编入适当方法。 2. 应用程序组装者应用程序组装者根据需要,将一个或多个EJB提供者创建的Bean组装为可部署的应用程序单元。组装者还组装其他组件,如Web组件(Servlet和JSP),以创建更大规模的企业应用程序。 3. 应用程序部署者应用程序部署者的任务是在符合企业要求的操作环境中,“部署”组装的企业应用程序。部署者要确保在适当的EJB容器和EJB服务器中完成开发,确保在部署时分析所有外部实体,并确保企业应用程序可以使用所有资源。 4. EJB Server提供者EJB Server提供者实际上就是厂商。厂商有能力创建需要关键功能(如分布式事务管理和分布式网络管理等)的分布式企业应用程序。一般而言,EJB Server提供者还提供EJB容器。 5. EJB容器提供者EJB协助提供EJB工具和运行时支持。工具可以帮助部署者在操作环境中部署应用程序。一般而言,EJB容器也提供EJB Server。 6. 系统管理员系统管理员的职责包括企业系统运行和分布式网络环境的维护,包括EJB Server和EJB容器。 在企业应用程序的开发和部署生命期,这些角色是不同的。EJB规范可以确保不同角色能共同工作。 提供兼容产品的单个厂商可能担当多个角色,如同时提供EJB Server和EJB容器。同样,开发人员可以同时担当EJB提供者和应用程序组装者角色。 6.4.3 EJB详解1. 一般介绍Bean不是过去所说的普通Java对象,而是3个实体的组合:home接口、component接口和Object Identity(对象标识)。部署在操作系统的Bean中包含所有这些实体。各实体在Bean的生命期和功能方面担当不同角色。 local(本地)接口是EJB 2.0版引入的新特性,能在设计级别完善EJB。 2. home接口home接口用来创建、查找或删除同类EJB,定义适当方法以创建、查找或删除EJB。home接口还支持特殊home业务方法,home业务方法不针对任何特殊Bean实例。远程客户端使用远程home接口,本地客户端使用本地home接口。 3. component接口component接口负责在EJB上“执行业务方法”,声明企业应用程序需要的所有业务方法。与前面一样,component接口可能是本地接口或远程接口。 4. 本地接口本地接口引入“本地”客户端概念。本地客户端可能是一个企业Bean,与其他企业Bean处在同一个JVM中。在使用本地接口时,不需要远程调用开销,故能优化访问企业Bean。有必要指出,本地接口可与“远程”接口共存。 虽然本地客户端可以使用本地接口,以创建和访问企业Bean,但对于远程客户端而言,仍需使用远程接口。与本地客户端不同,远程客户端需要远程JNDI查找功能。 本地Bean可互相通信,以调用执行业务流程需要的业务方法。传输的参数和返回值不需要串行化,参数按引用传递。 5. 对象标识对象标识实际上就是EJB对象。EJB 2.1规范支持3类EJB对象,如下: ● 会话对象或会话Bean ● 实体对象或实体Bean ● 消息驱动Bean 下面将较详细地描述这些对象标识。 会话对象。顾名思义,会话对象是企业应用程序的会话创建者,代表EJB服务器中的本地或远程客 户端。会话Bean是轻量级服务器端组件,支持事务,能执行业务操作。当客户端准备执行时,容器将创建会话Bean,或从Bean池中检索会话Bean。 当执行结束时,容器将销毁会话Bean,或将Bean的内容设置为“空”或默认值后,将会话Bean返回Bean池。这些Bean不表示数据库中的任何数 据,但可在共享数据库中执行任何数据持久活动。 会话Bean可能有状态,也可能无状态。无状态会话Bean可为本地和远程客户端提供“Web服务端点”。 实体对象。这些对象提供共享数据库的持久数据视图。它们是持久数据,只要相应数据存在,实体Bean的实例就一直存在。当销毁相应数据时,将相应地销毁实体Bean。 与会话Bean不同,当容器崩溃时,实体Bean、实体Bean的远程引用和相应主键可存活下来。 消息驱动Bean。消 息驱动Bean(Message Driven Bean,MDB)在多个方面的表现与会话Bean和实体Bean不同,MDB不包含home或component接口,没有Web服务端点。不过, MDB能在某种程度上执行与会话Bean类似的业务逻辑操作。MDB无状态,支持事务,是轻量级服务器端组件,可以以异步方式为消息传输中间件提供“桥 梁”。MDB可访问底层数据库中的共享数据。 6. EJB调用模型下面介绍客户端调用EJB的方式,描述普通调用模型,这种模型主要适用于会话Bean的调用。为清晰起见,这里考虑远程客户端的调用。下面是远程客户端调用企业Bean的步骤。 (1) 开始时,远程客户端需要定位业务组件,并获得组件引用。 (2) 客户端使用JNDI查找服务,以检索Bean的home对象的引用。 (3) 客户端收到引用。 (4) 客户端请求home对象创建或查找企业Bean。 (5) home对象创建或查找企业Bean。 (6) 作为结果,返回EJB对象的引用。 (7) 客户端使用引用,通过EJB对象调用业务方法。 (8) 或者,在调用Bean的业务方法前,EJB对象可能会使用其他服务。 (9) EJB对象最终调用Bean的业务方法。在成功运行业务方法后,将结果返回到EJB对象。 (10) EJB对象将结果返回客户端。 图6-18演示这些步骤。图6-18 调用EJB的一系列步骤。本图编写了编号,描述见正文。这里将home接口表示为“家”图标,将component接口表示为“电视遥控器”图标。从中可以了解到:客户端任何时候都不能直接访问Bean实例 不同企业Bean具有不同的生命期。如前所述,会话Bean表示客户端,而实体Bean表示持久数据。会话 Bean实例在客户端启动会话时创建;当客户端完成活动时,将销毁会话Bean实例。同样,在创建数据时,将创建实体Bean实例;而当销毁数据时,将销 毁实体Bean的实例。 下面几节将描述不同企业Bean的生命期。 1. 无状态会话Bean的生命期创建无状态会话Bean。在收到客户端请求时,业务层容器将调用以下方法创建无状态会话Bean: ● newInstance() ● setSessionContext(...) ● ejbCreate() 这些方法按以上顺序调用。newInstance()和ejbCreate()方法不接收任何参数。图6-19显示了无状态会话Bean的完整生命期。 图6-19 无状态会话Bean的生命期。开始时,容器中没有EJB,或EJB未处于池化状态,如图中的 “不存在”状态所示。在收到创建无状态会话EJB的请求时,容器将触发,并按向下箭头的 方向调用3个方法。如果这3个方法成功执行,将创建Bean,使Bean进入“就绪”状态。客 户端可调用处于就绪状态的Bean,以调用业务方法。当容器决定销毁Bean实例时,将调用 ejbRemove()方法,并销毁EJB,或将EJB放回Bean池 在调用newInstance()时,将创建一个会话Bean实例,但这个实例没有处于就绪状态。 setSessionContext(...)方法接收一个称为SessionContext对象的参数。SessionContext对象包含Bean 需要的所有上下文信息。在最后一个创建步骤,容器将调用ejbCreate()方法。如果成功调用了这个方法,就标志着Bean实例创建完成,可以接收客 户请求。 无状态会话Bean的活动和服务。客户端可调用Bean的业务方法。业务方法可根据业务要求的性质执行任何工作,如持久数据活动。在方法完成活动后,将生成并返回响应,这标志着会话的结束。 销毁无状态会话Bean。容器将调用Bean的ejbRemove()方法。 在执行完业务方法和完成会话后,将调用这个方法。如果方法调用成功,将销毁这个Bean,并将所有资源释放到容器。 2. 有状态会话Bean的生命期有状态会话Bean的生命期与无状态会话Bean有一些不同。 有状态会话Bean的创建。在接收到用户请求时,业务层容器调用以下方法创建有状态会话Bean。 ● newInstance() ● setSessionContext(...) ● ejbCreate(...) 这些方法的调用按以上顺序进行。与无状态会话Bean不同,只有newInstance()方法不接收任何参数。图6-20显示了有状态会话Bean的完整生命期。 图6-20 有状态会话Bean的生命期。开始时,容器中没有EJB(或EJB未处于池化状态),即处于“不 存在”状态。在接收到创建有状态会话Bean的请求后,将按向下箭头所示的方向调用3个方 法。在这些方法成功执行后,将创建有状态会话Bean。这些Bean处于“就绪状态”,能处理 来自客户端的业务请求。由于这些EJB有状态,故需做“钝化”处理;容器可通过调用流程 涉及的“就绪”状态Bean上的ejbPassivate()方法,触发钝化保护。如从“就绪”状态发出的 另一向下箭头所示。钝化EJB不受永久支持,在超出时限后,将销毁Bean,或将EJB返回到 Bean池 在调用newInstance()方法后,将创建会 话Bean实例,这个实例未处于就绪状态。SetSessionContext(...)方法将SessionContext对象作为参数。 SessionContext对象包含Bean需要的所有上下文信息。在最后一个创建步骤中,容器调用ejbCreate(...)方法。这个方法的成功 调用标志着Bean实例创建完成。此时的Bean可以接收客户请求。 有状态会话Bean的活动和服务。客户端可以调用这个Bean上的一个或多个业务方法,业务方法可根据业务要求的性质执行任何工作,如持久数据活动。在方法完成活动后,将生成并返回响应,这标志着会话的结束。 与无状态会话Bean略有不同,有状态会话Bean的服务和活动要求:Bean要在多个方法调用过程中维护会话状态。 为了在多个方法调用的过程中维护会话状态,有状态会话Bean占用的资源比无状态会话Bean多,需要长时间维护钝化状态,以满足资源或用户的要求。为此,容器使用另两个方法来管理和维护会话状态,如下: ● ejbActivate() ● ejbPassivate() 这两个方法不接收任何参数。 为等候的Bean调用ejbPassivate()时,将释放所有资源和Bean,使Bean进入钝化状态。 释放后的资源可供其他Bean使用。不过,如果客户端长期不活动,则容器不能无限期地保留资源。容器可能根据自身设置,永久销毁Bean,将资源提供给其他Bean使用。 而当钝化Bean准备执行操作时,容器将调用Bean的ejbActivate()方法,以便从辅助存储中恢复Bean的状态。 有状态会话Bean的销毁。容器将调用Bean上的ejbRemove()方法。 在完成了与特殊会话对应的所有业务方法后,就会调用这个方法。在成功执行这个方法后,将销毁Bean,并将所有资源释放给容器。 3. 实体Bean的生命期实体Bean的生命期比会话Bean的复杂,但二者也有一些共同点。图6-21和图6-22显示了实体Bean的整个生命期。 JSP规范在HTML内容中嵌入Java代码是JSP技术的思想灵魂。JSP规范和平台允许JSP的设计人员根据应用程序需要的动态内容,在HTML页面中嵌入任意数量的Java代码。JSP技术的一些高级功能可帮助开发人员快捷地生成动态内容。 在客户端访问JSP页: ● 转换阶段 ● 执行阶段 图6-16 在Web环境中,执行JSP组件的各个阶段。容器右上角显示起初的JSP页。这个JSP页的部 署分为两个阶段。“转换阶段”将JSP转换为Servlet类源文件。“执行阶段”将Java源代码编 译为特殊Servlet类字节码。Web服务器的JVM将这个显示在本图容器右下角的类作为特殊 Servlet加载,以响应服务请求 1. 转换阶段在这个阶段,Web容器正确解释JSP页的内容,将指定JSP页转换为等效的特殊Servlet源文件。有必要指出,解释过程应生成语法和语义上准确无误的Java页面。如果这个阶段出现了错误,那么就将无法创建Servlet类,更无法将JSP页提供给客户端。 2. 执行阶段在这个阶段,Web容器将编译Servlet Java文件。必须确保不出现编译错误,并正确生成Servlet字节码。接着,将Servlet加载到Web容器JVM,实例化JSP。此时的JSP已经可以接受客户请求。 在成功编译后,JSP页蜕变为多线程Servlet,交由Web容器中的JSP引擎执行。这个特殊Servlet包含3个重要方法,以控制JSP页的生命期,如下: ● jspInit() ● jspDestroy() ● _jspService()[7] 3. JSP语法JSP页通过特殊标记“<%”和“%>”使用“脚本元素”,脚本元素通过适当方式嵌入HTML元素标记。Web容器中的JSP引擎能恰如其分地解释特殊标记。在引入脚本元素时,要谨慎从事,以防破坏HTML元素的语法规则。JSP技术的脚本元素分为以下5种。 注释。注释类型有3种:HTML注释、JSP页注释和Java语言注释。JSP注释和Java语言注释显示在脚本标记“<%”和“%>”中,HTML注释不在脚本元素中显示。JSP注释供开发人员参考使用,在成功编译JSP页后,它们将不再出现。 指令(directive)标记。指令标记为转换阶段提供全局信息,其语法如下: <%@ directive %> 指令类型有3种:page指令、include指令和taglib指令。下面是一个page指令例子: <%@ page session=false %> 声明(declaration)标记。声明标记允许在脚本标记“<%”和“%>”中引入Java程序以及与Java相关的声明。下面是一个声明例子: <%! public static final double pi = 3.1415926535897932; %> 这是一个Java声明变量pi的简单表示。Java使用的任何声明类型均可在这个标记中显示,如类变量、实例变量、实例方法、静态方法和内部类等。规范没有限制声明标记中的Java代码。但编写者要谨慎行事,勿将不必要的Java代码写入声明标记。 Scriptlet标记。Scriptlet标记允许将任何 Java代码嵌入“<%”和“%>”标记中。开发人员要注意,输入代码将转换为_jspService()方法的一部分。通过精心设计,可将 Scriptlet标记与HTML元素巧妙地结合在一起,以便在执行_jspService()方法时生成需要的动态输出。 表达式(express)标记。表达式标记包含Java语言表达式的特定部分,在运行时,经过计算表达式生成输出。通过精心设计,可将表达式标记与HTML元素巧妙地结合在一起,以设置所需的输出格式。下面是一个表达式标记例子: <%= (pi*5*5)/4 %> 注意,与Scriptlet标记不同,表达式不以“;”结尾。 4. 对象、隐性对象和作用域JSP技术允许在服务器端创建对象,并使用某些隐性对象提供动态内容。不过,并非JSP页的所有部分都可以访问所有对象。图6-17显示了不同JSP对象的作用域。在使用这些对象时,开发人员要认真予以分析。在JSP创建的对象可能在以下作用域中访问。 图6-17 JSP不同隐性对象的作用域。不同作用域的隐性对象具有不同的生命期。例如,如粉红色栏 所示,“页”作用域的隐性对象仅用于单个JSP页;而“应用程序”作用域的对象可在整个 Web应用程序生命期内使用 作用域 页作用域。页作用域的对象只允许在所建页面中访问。对象引用存储在pageContext中。在将响应返回给客户端时,将释放对象的所有引用。 请求作用域。如果多个页面服务同一个请求,那么,请求作用域的对象可供这些JSP页访问。请求作用域的范围比页作用域大。同样,在将响应返回给客户端时,将释放这些对象的所有引用。 会话作用域。会话对象域的范围比请求对象域大。会话包含多个请求/响应操作,参与会话的所有页面都可以访问会话对象域对象。会话作用域对象的引用存储在隐性对象session中。在会话完成后,将释放该对象的所有引用。 应用程序作用域。在Web应用程序活动期间,应用程序作用域的对象将一直存在。特定应用程序的所有Web组件都可以访问这些对象。 隐性对象 这些对象可以简化开发人员的工作,可用于Scriptlet和表达式。下面列举了一些重要的隐性对象。 请求对象。表示HttpServletRequest对象,该对象的作用域是“请求”。 响应对象。表示HttpServletResponse对象,该对象的作用域是“响应”。 pageContext对象。表示JSP的页上下文。该对象的作用域是“响应”。 对话对象。HttPSession类型的对象,用于请求客户端。该对象的作用域是“会话”。 应用程序对象。ServletContext类型的对象,用于Web应用程序。该对象的作用域是“应用程序”。 out对象。该对象的作用是将输出写入输出流。作用域是“页”。 6.3.3 JSP标准动作JSP标准动作(JSP Standard Action)允许执行更高级的任务,例如,不在JSP页中编写Java代码就能实例化对象,并与其他服务器端资源(如JSP页和Servlet)通信。 利用特殊的JSP标记,不必编写过多的Java代码,就能在JSP页中完成“标准”操作。 虽然可以在Scriptlet中用Java代码执行操作,但操作标记能促进重用,提高JSP页的易维护性。标准动作主要用于减少JSP页的Java代码内容,标准动作标记极大地依赖于JavaBean组件架构。这些组件采用设计完好的命名模式,在JSP上下文中特别有用。 典型的JSP标准动作语法如下: <jsp:useBean id='bean' class='beanClass' /> 注意,这些标记不同于标准JSP标记“<%”和“%>”。所有标准动作标记都用jsp作为前缀,如jsp:useBean。下面介绍一些标准标记及其在JSP页中的用法。 1. jsp:useBean标准动作通过这个标准动作,可用指定实例名和类名创建Java对象实例。这个标准动作的一个语法例子如下: <jsp:useBean id='order' scope='session' class='OrderBean'/> 这个标准动作用于实例化一个Java对象,准确地讲,是一个JavaBean对象。实例名将为order。Java类为OrderBean,供实例化Bean之用;实例作用域是“会话”。 2. jsp:setProperty标准动作这个标准动作用于设置Bean属性的值,下面是这个标准动作的一些例子: <jsp:setProperty name='order' property='orderNumber' value='1234' /> <jsp:setProperty name='order' property='*' /> 这两个例子运用不同方式设置典型JavaBean属性的值。在两种情况下,标准动作的name确认Bean名 称(name='order'),property确认属性名称(property='orderNumber')。可用这个语法设置Bean的所有属 性。如果属性非常多,可采用第二种方法,以便用HTML表单的可用匹配属性值,自动设置Bean属性的值。 3. jsp:getProperty标准动作可利用这个标准动作访问Bean属性。它将JavaBean实例的属性转换为Java String对象,将值放入隐性对象out。 下面是这个标准动作标记的一个例子: <jsp:getProperty name='order' property='orderNumber'/> 本例将检索order Bean实例orderNumber属性的值。检索值被转换为Java String对象。 4. jsp:include标准动作这个标准动作将同一上下文的静态和动态资源包含进来。需指定page属性,这个属性的内容是一个相对URL,由Web容器解释。内容将包含在隐性对象out的当前值中。 下面是一个演示jsp:include标准动作用法的例子: <jsp:include page='/docs/disclaimer.html' flush='true' /> 本例是将docs目录的disclaimer.html静态页面包含进来。 5. jsp:forward标准动作这个标准动作使用page属性,在运行时,将当前请求发送给另一个静态资源,如与当前JSP页处在同一上下文的JSP页或Servlet类。page属性将相对URL作为要转发的值。 下面是一个例子,演示jsp:forward标准动作的用法: <jsp:forward page='/reports/quarterly.jsp'/> 在本例中,标准动作将请求转发给另一个名为quarterly.jsp的JSP页。 6. jsp:param标准动作这个标准动作只能在3个标准动作中使用:jsp:include、jsp:forward和jsp:plugin。它提供键-值对,供jsp:plugin、jsp:include和jsp:forward标准动作使用。 下面的例子演示其用法: <jsp:include page='/docs/copyright.html' > <jsp:param year='current' value='2004'> </jsp:include> 7. jsp:plugin标准动作这个标准动作允许生成HTML代码,HTML代码包含与客户浏览器相关的对应结构,如OBJECT或EMBED,可根据需要下载Java插件,接着执行相应的Applet或JavaBean。如前所述,这个标准动作能根据需要使用其他标准动作,如jsp:param 和jsp:fallback。 <jsp:plugin type='applet' code='Calculator.class' codebase='/itCalc'> <jsp:param name='employee' . . . /> <jsp:fallback> <B>! Unable to load Calculator Object !</B> </jsp:fallback> </jsp:plugin> 在本例中,如果插件成功启动,并成功加载Applet,则Applet从param标记获得参数,并成功地显示计算器Applet。如果插件因任何原因未能启动,则HTML页将显示下列消息: ! Unable to load Calculator applet ! 如果插件成功启动,而因其他原因Applet不能加载,则Applet窗口将显示常见的ClassNotFoundException。 6.3.4 JSP文档根据XML语法调整格式的JSP页称为JSP文档(JSP document)。此类文档的特殊性在于,它们是识别“命名空间”的文档,不是普通的JSP页。 为此,可将JSP文档称为“XML视图”。JSP文档的另一个优势在于由识别XML的工具操纵。JSP文档在 语法中将jsp:root用作特殊元素(不是标准动作),并作为JSP文档自身的根元素。JSP文档包含JSP指令元素、JSP脚本元素、JSP标准动 作、JSP定制操作、jsp:text元素和其他XML部分。 JSP文档内部使用的其他元素如下: ● jsp.directive.page ● jsp.directive.include ● jsp.declaration ● jsp.scriptlet ● jsp.expression 注意,上述元素对应于标准JSP标记,如page指令标记、include指令标记、scriptlet和expression等。这些元素有效消除了非XML类型标记,代之以XML标记,从而有助于实现JSP页的“XML化”。 1. 标记扩展标记扩展是JSP技术的高级概念。标记扩展提供“标记库”工具,该库包括可移植运行时支持,以及验证机制和编 写工具支持。使用“定制标记”,不必做太多工作,就能在JSP页引入特殊操作。“定制标记”和“标记库”有助于取消标准JSP页的大多数脚本元素。定制标 记库是“定制标记处理器”和“标记库描述符”文件的集合。 定制标记也使用XML语法。这些标记遵循4个基本原理,如下。 标准标记结构。定制标记需要符合以下结构: <tagPrefix:tagName tagAttribute='value'|'value'*> tagBody </tagPrefix:tagName> 空标记结构。空标记结构需要符合下列结构: <tagPrefix:tagName tagAttribute='value'|'value'*/> 区分大小写。所有标记名、属性和标记前缀都区分大小写。 嵌套规则。应严格采用层次化嵌套方式。定制库标记包含两个部分。jar文件包含“标记处理器”类文件和“标记库描述符(TLD)”文件。TLD是一个XML文档,用于命名和声明定制标记库各个标记的结构。为了有效地使用这些标记库,要做到以下两点: ● 在Web应用程序部署描述符中声明TLD的位置 ● 在相应JSP页使用taglib指令,以指示URI及前缀属性 2. 标记处理器“标记处理器”是一个Java类文件,用于实现如下接口:Tag、IterationTag或BodyTag。接口的实现可在JSP页中提供定制的动作。 Tag接口。这个接口有助于定义所有标记处理器需要的基本方法。该接口提供了4个常量SKIP_PAGE、EVAL_PAGE、SKIP_BODY和EVAL_BODY_INCLUDE,以及两个重要方法doStartTag()和doEndTag(),以帮助实现所需的操作。 IterationTag接口。该标记是基本Tag接口的扩展,提供一个EVAL_BODY_AGAIN变量以及一个附加的方法doAfterBody(),以达到迭代的目的。 来自MSDN,感谢MSDN Servlet_Servlet是运行在Web服务器上的Java程序,用于响应客户请求。也可以说,Servlet是Java组件,部署在Web服务器上,能在请求/响应通信模式下有效地工作。 Servlet 2.3文档的Servlet规范 : 1. Servlet接口创建Servlet:● 实现Servlet接口 ● 扩展的GenericServlet类或HttpServlet类 在创建和部署Servlet后,Servlet成为Web服务器“容器”中的“实例” Web组件设计人员可按照设计标准,选择创建以下两类Servlet: ● 多线程Servlet:Web服务器“容器”的“单个实例” ● 单线程Servlet:为各个客户请求提供服务,此时的Servlet类需要实现SingleThreadModel接口 多线程Servlet。在本图中,一个Servlet实例为3个具体客户请求生成3个不同“线程”。 若请求数量更多,这个Servlet实例可生成更多的线程 实现SingleThreadModel接口的Servlet。本例中为3个不同请求创
建了3个不同的Servlet实例。Servlet实例将随请求数量而增加 Servlet生命期: ● Servlet服务 ● Servlet结束 Servlet开始。init()方法由容器调用,只运行一次,使Servlet进入“就绪”状态。这个过程称作Servlet初始化。如果开始阶段出现异常,Servlet将不能响应任何用户请求。 在初始化过程中,init()方法使用ServletConfig对象。ServletConfig包含Servlet需要的初始化参数的名-值对。通常,目录、文件路径及其他资源信息将写入这个对象。 未初始化的Servlet由容器卸载,不经历通常定义的Servlet生命期。容器不会为这样的 Servlet运行destroy()方法,并可能在未来重新加载Servlet。如图6-7所示,未初始化的Servlet不能接收客户端的任何请求, Web容器将截获准备传给Servlet的任何请求,并向请求客户端返回异常。 Servlet服务。在 正确初始化Servlet后,Servlet就可以接收客户端服务请求了。Servlet容器可能通过Servlet的service()方法发送多个并 发请求,为此,开发人员在设计service()方法时,需要考虑并发处理多个线程,还要注意灵活地“同步”全部或部分service()方法,尽量避免 性能的大幅下降。在Servlet生命期,服务线程的执行可能引发异常。 在出现异常时,Servlet会变得临时不可用,个别情况下甚至长期不可用。如果长期不可用,则容器必须运行Servlet的destroy()方法,并释放资源。如果Servlet仅是临时不可用,容器将异常返回给客户端,并显示消息,要求在一定时间后重试。 图6-8演示了一个正常初始化的Servlet与客户端通信的行为。 Servlet析构。容器可在任意长的时间内使用一个 Servlet实例,或SingleThreadModel Servlet的多个实例。Servlet实例可一直延续到Servlet容器(或Web服务器)本身的生命期结束为止。当容器认定不再需要某个 Servlet时,可以调用Servlet的destroy()方法,释放Servlet占用的所有容器资源。不过,容器不能调用活动Servlet的 destroy()方法。在调用Servlet的destroy()方法前,容器需要确保以下两点: ● 阻塞更多新请求 ● 完成所有待处理请求 在图6-9中,容器阻塞了对正在被销毁的Servlet调用。 Servlet上下文 Web服务器能支持若干Web应用程序。每个Web应用程序又能支持一个或多个Servlet。同一个Web 应用程序的多个Servlet需要共享Web应用程序环境的资源。为此,Servlet规范提供了ServletContext接口。如图6-10所示, Servlet可利用ServletContext对象执行登录事件,获得资源的URL索引,也可设置和存储Web应用程序需要的属性。对于 ServletContext而言,最重要的上下文信息包括: ● 初始化参数 ● 上下文属性 ● 资源 初始化参数。初始化参数用来初始化Web应用程序,而不是前面“Servlet开始”区域讨论的单个Servlet。这些参数由部署描述符中的“键-值”对提供。 ServletContext API允许通过getInitParameter()和getInitParameterNames()等方法访问这些初始化参数。 上下文属性。上下文属性是一组应用程序属性,由Web应用程序的Servlet共享。可设置和 获得参数,也可通过编程方法,从Web应用程序中删除上下文属性。ServletContext API允许通过多种方法访问上下文属性,如setAttribute()、getAttribute()、removeAttribute()和 getAttributeNames()等。 资源。“静态”内容文件的层次,是Web应用程序的一部分,被称为“Web应用程序资源”,包 括HTML、GIF和JPEG等文件。ServletContext API允许通过多种方法访问这些资源,例如getResource()和getResourceAsStream()等。 请求 Servlet的服务方法有权访问请求对象ServletRequest或HttpServletRequest。请求对象包含客户请求及其他一些相关信息。该对象将用作传给service()方法的两个参数中的第一个参数。 请求参数采用“键-值”对格式。在特定环境下,一些键可能有多个值。图6-11显示了发送给在Web服务器环境下执行的Servlet的客户请求。HttpServletRequest对象的几个重要方面如下: ● 属性 ● 头 ● Cookie
图6-11 客户请求和HttpServletRequest对象:任何客户请求都作为HttpServletRequest对象传给Servlet。 Servlet使用HttpServletRequest API,如getAttribute()或getIntHeader()等处理请求 属性。属性是与HttpServletRequest对象相关的对象。与HttpServletRequest一样,属性也采用“键-值”对形式;与HttpServletRequest的不同之处在于,一个属性只能有一个值。 HttpServletRequest API允许通过多种方法访问这些属性,如getAttribute()、setAttribute()和getAttributeNames()等。 头。头是HTTP请求的一部分。Servlet可通过HttpServletRequest API方法,如getHeader()、getHeaders()或getHeaderNames()等访问这些头信息。 这些HttpServletRequest对象的的头可能包含integer和(或)date的文本表示。为了访问它们,HttpServletRequest API提供了getIntHeader()和getDateHeader()等方法。 Cookie。HTTP请求通常伴随着一个或多个Cookie。这些Cookie包含宝贵数据。如果客户端和服务器应用程序之间需要多次请求/响应操作,则Cookie可以帮助Web应用程序构建客户端和服务器应用之间的会话。HttpServletRequest API提供诸如getCookies()的方法,以便访问Cookie,并创建和维护会话。 响应 Servlet的服务方法有权访问响应对象。响应对象将是ServletResponse或 HttpServlet Response。该对象包含了响应客户端的信息和所有其他相关细节,是service()方法两个参数中的第二个参数。客户端响应打包在 HttpServletResponse对象中。HttpServletResponse对象的重要组成部分有: ● 头 ● 缓冲区 ● 响应类型和格式 图6-12显示了从Servlet到客户端的响应。 头。发送给客户端的头信息可通过HttpServletResponse API获得。诸如addHeader()的方法可用于创建发送给客户端的头信息。同样,setHeader()方法可用于设置相应头的头值。对于特定的数 据类型,如integer和date,HttpServletResponse API提供了addIntHeader()、setIntHeader()、addDateHeader()和setDateHeader()等方法。 缓冲区。Servlet容器可以提供缓冲区功能,以增强“请求-响应”操作的性能和效率。一些 缓冲区功能可通过setBufferSize()、getBufferSize()、isCommitted()、reset()、 resetBuffer()和flushBuffer()等方法实现。 响应类型和格式。发送给客户端的输出需要进行相应设置和简化。为此,HttpServlet Response API提供了以下方法:setContentType()、setContentLength()、getWriter()和getOutput Stream()等。开发人员需要根据setContentType()方法设置的内容类型设置响应格式。 例如,若setContentType()方法被设置为text/html类型,开发人员就需要根据业务需求设置相应的输出格式。编程人员在设计应用程序时,要认真选择输出的内容类型。开发人员还要理解输出的表示部分,并全面了解HTML等表示语言的语法。 完成了HttpServletResponse对象就意味着service()方法执行结束。在关闭响应时,Servlet容器必须清空客户响应缓冲区剩余的所有内容。 2. 过滤过滤(filtering)是Servlet 2.3版的新特性。过滤器(Filter)是轻量级Web组件,能及时转换HttpServletRequest和 HttpServletResponse对象的头和内容。Filter和Servlet都是Web应用程序的一部分,都用生命期方法管理。 顾名思义,Filter为Servlet的请求/响应操作提供过滤服务。如图6-13所示,过滤器可以“过滤”传给Servlet的请求,也可以“过滤”将要从Servlet发送到客户端的响应。它们不仅处理静态内容,也处理动态内容。
图6-13 Servlet组件“过滤”请求。Filter可对请求和响应做预处理和后期处理。Filter是特殊的Servlet, 本图将它们显示为带孔的Servlet。Filter在适当处理请求后,将请求转发给相应的Servlet Web应用程序可用的一些过滤组件如下: ● 身份验证Filter ● 加密Filter ● 转换Filter Filter。开发人员可通过实现Filter接口创建Filter。与Servlet一样,Filter的相关信息也在部署描述符中提供。可通过定义部署描述符中的“Filter-映射”元素配置Filter或一些相关Filter的集合,以方便调用。 Filter的生命期。Filter组件的生命期与Servlet的类似。图6-14所示为Filter的生命期。有3个方法用来管理Filter生命期,如下: ● init()方法 ● doFilter()方法 ● destroy()方法 nit()方法用FilterConfig对象初始化Filter。如果初始化成功,那么就做好了在“请求/ 响应”操作上执行过滤操作的准备。当容器收到客户请求时,将使用Filter列表中的第一个Filter实例,并调用doFilter()方法。 doFilter()方法会接收3个对象:HttpServletRequest、HttpServletResponse和FilterChain。可 按以下方法使用Web应用程序的Filter组件: ● 分析HTTP请求的头 ● 可能用HttpServletRequest的定制实现包装请求对象,以适当修改头或数据 ● 可能用HttpServletRequest的定制实现包装响应对象,以适当修改头或数据 ● 可能调用Filter链的下一项,下一项可能是另一个Filter,也可能是Servlet 图6-15所示为一个Filter链,及其与Web层的Servlet等组件的交互。 会话。这一部分规范旨在将客户端绑定到特殊“会话”,以便将从客户端到Web应用程序的一系列请求/响应操作视为最终事务的组成部分。这需要做一些工作,因为从设计上讲,HTTP是一个无状态协议。 Servlet支持以下会话跟踪机制: ● Cookie ● HTTP会话 ● URL重写 虽然Cookie是简明直观的会话构建方式,但规范推荐将“URL重写”作为最小公分母,当然,浏览器的用户也可关闭这个选项,以接收Cookie。开发人员需要精心设计客户端需要的“会话”。 为客户端构建和管理会话需要考虑以下方面: ● 创建一个“新”会话 ● 客户端试图加入并继续参与“当前”会话 ● “完成”会话 对于具体企业应用程序而言,会话的构建取决于企业的业务需要,开发人员应选择适当选项,以确保会话的构建和管理。 本规范有助于创建一个名为HttpSession的对象,Web应用程序可为特殊会话相应地使用 HttpSession。可将一些会话需要的属性绑定到这个对象。在设置属性或取消属性时,可能需要通知参与Web应用程序会话的某些对象, HttpSession API提供了通知方式。 在用HttpSession对象创建和处理会话时,开发人员同样需要精心设计,以正确处理几个问题,如分布式 环境、多线程和超时等。HttpSession API提供了必要的方法,如getID()、isNew()、getAttribute()、setAttribute()、 removeAttribute()、getCreationTime()、getLastAccessedTime()、 getMaxInactiveInterval()、setMaxInactiveInterval()和invalidate()等。 3. 应用程序生命期事件与Servlet生命期不同,应用程序生命期指整个Web应用程序的生命期。应用程序生命期事件是Servlet 2.3版的新特性。如图6-15所示,Web应用程序周期的两个主要事件是: ● 应用程序启动 ● 应用程序关闭 对于Web应用程序而言,由ServletContext定义的上下文以及由HttpSession定义的会 话都非常重要。它们会影响整个Web应用程序,而不限于单个Servlet或其他Web组件。新规范为ServletContext和 HttpSession确定了两个监听者(Listener)接口集。ServletContextListener接口用于处理 ServletContext的生命期,而HttPSessionListener接口用于处理HttpSession的生命期。同样, ServletContextAttributeListener和HttpSessionAttri- buteListener接口也有助于跟踪与它们各自的属性相关的事件。 4. 安全性大多数企业应用程序都在Internet上部署运行,故有必要营造一个安全环境,以便用户在企业应用程序上安全地执行交易。任何企业应用程序都需要以下一些基本安全功能: ● 身份验证 ● 访问控制 ● 数据完整性 ● 保密性 可通过组合使用以下两种方式确保Web应用程序的安全性: ● 声明性安全 ● 编程性安全 声明性安全为Web应用程序提供粗粒度安全保护,而编程性安全允许对Web应用程序的安全性进行更周详的控制。 Web应用程序的声明性安全通过部署描述符实现,将程序的安全性编写为XML文档,形成部署描述符的一部分。 而编程性安全使用API对安全性进行精细控制,getRemoteUser()、isUserInRole()和getUserPrincipal()等 都是有用的方法。 5. 部署描述符部署描述符就像Web应用程序的“万年历”。Servlet 2.3版要求使用必需的部署描述符,以记录Web应用程序的重要方面: ● Servlet声明 ● Servlet映射 ● ServletContext初始化参数 ● 会话声明 ● 应用程序生命期监听者声明
Windows 启动方式总结归纳&HIPS注册表防护关键位置感谢:CSDN 来自链接:http://blog.csdn.net/nicholasmaxwell/archive/2007/07/17/1695100.aspx\ 感谢原创!感谢原创!感谢原创!感谢原创! 一.自启动项目: 开始---程序---启动,里面添加一些应用程序或者快捷方式. 这是Windows 里面最常见,以及应用最简单的启动方式,如果想一些文件开机时候启动,那么也可以将他拖入里面或者建立快捷方式拖入里面.现在一般的病毒不会采取这样的启动手法.也有个别会. 路径:C:\Documents and Settings\Owner\「开始」菜单\程序\启动 二. 第二自启动项目: 这个是很明显却被人们所忽略的一个,使用方法和第一自启动目录是完全一样的, 只要找到该目录,将所需要启动的文件拖放进去就可以达到启动的目的. 路径: C:\Documents and Settings\User\「开始」菜单\程序\启动 三. 系统配置文件启动: 对于系统配置文件,许多人一定很陌生,许多病毒都是以这种方式启动. 1)WIN.INI启动: 启动位置(*.exe为要启动的文件名称): [windows] load=*.exe[这种方法文件会在后台运行] run=*.exe[这种方法文件会在默认状态下被运行] 2)SYSTEM.INI启动: 启动位置(*.exe为要启动的文件名称): 默认为: [boot] Shell=Explorer.exe [Explorer.exe是Windows程序管理器或者Windows资源管理器,属于正常] 可启动文件后为: [boot] Shell= Explorer.exe *.exe [现在许多病毒会采用此启动方式,随着Explorer启动, 隐蔽性很好] 注意: SYSTEM.INI和WIN.INI文件不同,SYSTEM.INI的启动只能启动一个指定文件,不要把Shell=Explorer.exe *.exe换为Shell=*.exe,这样会使Windows瘫痪! 3) WININIT.INI启动: WinInit即为Windows Setup Initialization Utility, 中文:Windows安装初始化工具. 它会在系统装载Windows之前让系统执行一些命令,包括复制,删除,重命名等,以完成更新文件的目的. 文件格式: [rename] *=*2 意思是把*2文件复制为文件名为*1的文件,相当于覆盖*1文件 如果要把某文件删除,则可以用以下命令: [rename] nul=*2 以上文件名都必须包含完整路径. 4) WINSTART.BAT启动: 这是系统启动的批处理文件,主要用来复制和删除文件.如一些软件卸载后会剩余一些残留物在系统,这时它的作用就来了. 如: “@if exist C:\WINDOWS\TEMP*.BAT call C:\WINDOWS\TEMP*.BAT” 这里是执行*.BAT文件的意思 5) USERINIT.INI启动[2/2补充]: 这种启动方式也会被一些病毒作为启动方式,与SYSTEM.INI相同. 6) AUTOEXEC.BAT启动: 这个是常用的启动方式.病毒会通过它来做一些动作. 在AUTOEXEC.BAT文件中会包含有恶意代码。如format c: /y 等等其它. 四. 注册表启动:(07.4.27整理更新) 通过注册表来启动,是WINDOWS中使用最频繁的一种. ----------------------------------------------------------------------------------------------------------------- HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\ HKLM\SYSTEM\ControlSet001\Control\Session Manager\BootExecute HKCU\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\ HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce\ HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices\ HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup\ HKU\.Default\Software\Microsoft\Windows\CurrentVersion\Run\ HKU\.Default\Software\Microsoft\Windows\CurrentVersion\RunOnce\ HKLM\System\CurrentControlSet\Services\VxD\ HKCU\Control Panel\Desktop HKLM\System\CurrentControlSet\Services\ HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\run HKLM\Software\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad\ HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\load HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\run\ HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\run\ HKLM\SOFTWARE\Classes\Protocols\Filter HKLM\SOFTWARE\Classes\Protocols\Handler HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks HKLM\Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved HKLM\Software\Classes\Folder\Shellex\ColumnHandlers HKCU\Software\Microsoft\Internet Explorer\UrlSearchHooks HKLM\Software\Microsoft\Internet Explorer\Toolbar HKLM\Software\Microsoft\Internet Explorer\Extensions HKLM\System\CurrentControlSet\Control\Session Manager\BootExecute HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UIHost HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors HKLM\SYSTEM\CurrentControlSet\Control\MPRServices HKCU\ftp\shell\open\command HKCR\ftp\shell\open\command HKCU\Software\Microsoft\ole HKCU\Software\Microsoft\Command Processor HKLM\SOFTWARE\Classes\mailto\shell\open\command HKCR\PROTOCOLS HKCU\Control Panel\Desktop HKLM\SOFTWARE\Policies\Microsoft\Windows\System\Scripts HKLM\SOFTWARE\Microsoft\Code Store Database\Distribution Units HKLM\SYSTEM\CurrentControlSet\Services\WinSock2 HKLM\SYSTEM\CurrentControlSet\Services\WinSock HKLM\SYSTEM\CurrentControlSet\Control\Lsa HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Management\ARPCache HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders HKLM\Software\Microsoft\Windows\CurrentVersion\explorer\Shell folders\Startup HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\runServices HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows HKLM\Software\Microsoft\Windows NT\CurrentVersion\Windows HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options HKLM\System\CurrentControlSet\Control\Session Manager\KnownDlls HKLM\SOFTWARE\Classes\Protocols\Handler HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\StartupPrograms HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell HKLM\Software\Microsoft\Command Processor HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Accessibility\Utility Manager registry HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SecurityProviders 病毒经常会修改的注册表位置: HKLM\SOFTWARE\Microsoft\Ras HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Network HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\User Agent\Post Platform HKCU\Software\Microsoft\Security Center HKLM\Software\Microsoft\Security Center HKLM\SOFTWARE\Microsoft\Netcache HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\HideFileExt HKCU\Software\Microsoft\Internet explorer\Main\\*page HKCU\Software\Microsoft\Internet explorer\Main\\Enable Browser Extensions HKCU\Software\Microsoft\Internet explorer\Main\Featurecontrol HKCU\Software\Microsoft\Internet explorer\Menuext HKCU\Software\Microsoft\Internet explorer\Styles HKLM\Software\Clients\Startmenuinternet HKLM\Software\Microsoft\Code store database\Distribution units HKCU\Software\Microsoft\Internet explorer\Abouturls HKLM\Software\Microsoft\Internet explorer\Activex compatibility HKCU\Software\Microsoft\Internet Explorer\Explorer Bars HKLM\Software\Microsoft\Internet explorer\Main\\*page HKLM\Software\Microsoft\Internet explorer\Styles HKLM\Software\Microsoft\Internet explorer\Menuext HKLM\Software\Microsoft\Internet explorer\Plugins HKLM\Software\Microsoft\Windows\Currentversion\Explorer\Browser helpr objects HKLM\Software\Microsoft\Windows\Currentversion\Internet settings\*zones HKLM\Software\Microsoft\Windows\Currentversion\Internet settings\Safesites HKLM\Software\Microsoft\Windows\Currentversion\Internet settings\Url HKLM\Software\Microsoft\Windows\Currentversion\Internet settings\Zonemap\Protocoldefaults HKLM\Software\Microsoft\Windows\Currentversion\Internet settings\Zonemap\Domains HKLM\Software\Microsoft\Windows\Currentversion\Internet settings\Zonemap\Ranges HKLM\SYSTEM\ControlSet*\Control\SafeBoot HKLM\SYSTEM\CurrentControlSet\Control\SafeBoot HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 HKLM\Software\Microsoft\Windows\Currentversion\Policies\System\ HKCU\Software\Policies\Microsoft\Internet Explorer\Control panel\homepage 五.其他启动方式: (1).C:\Explorer.exe启动方式: 这种启动方式很少人知道. 在Win9X下,由于SYSTEM.INI只指定了Windows的外壳文件Explorer.exe的名称,而并没有指定绝对路径,所以Win9X会搜索Explorer.exe文件. 搜索顺序如下: (1). 搜索当前目录. (2). 如果没有搜索到Explorer.exe则系统会获取 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Executive\Path]的信息获得相对路径. (3). 如果还是没有文件系统则会获取[HKEY_CURRENT_USER\Environment\Path]的信息获得相对路径. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Executive\Path]和[HKEY_CURRENT_USER\Environment\Path]所保存的相对路径的键值 为:“%SystemRoot%System32;%SystemRoot%”和空. 所以,由于当系统启动时,“当前目录”肯定是%SystemDrive%(系统驱动器),这样系统搜索Explorer.EXE的顺序应该是: (1). %SystemDrive%(例如C:\) (2). %SystemRoot%System32(例如C:\WINNT\SYSTEM32) (3). %SystemRoot%(例如C:\WINNT) 此时,如果把一个名为Explorer.EXE的文件放到系统根目录下,这样在每次启动的时候系统就会自动先启动根目录下的Explorer.exe而不启动Windows目录下的Explorer.exe了. 在WinNT系列下,WindowsNT/Windows2000更加注意了Explorer.exe的文件名放置的位置,把系统启动时要使用的外壳文件(Explorer.exe)的名称放到了: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Shell] 而在Windows 2000 SP2中微软已经更改了这一方式. (2).屏幕保护启动方式: Windows 屏幕保护程序是一个*.scr文件,是一个可执行PE文件,如果把屏幕保护程序*.scr重命名为*.exe的文件,这个程序仍然可以正常启动,类似的*.exe文件更名为*.scr文件也仍然可以正常启动. 文件路径保存在System.ini中的SCRNSAVE.EXE=的这条中.如: SCANSAVE.EXE=/%system32% *.scr 这种启动方式具有一定危险. (3).计划任务启动方式: Windows 的计划任务功能是指某个程序在某个特指时间启动.这种启动方式隐蔽性相当不错. [开始]---[程序]---[附件]---[系统工具]---[计划任务],按照一步步顺序操作即可. (4).AutoRun.inf的启动方式: Autorun.inf这个文件出现于光盘加载的时候,放入光盘时,光驱会根据这个文件内容来确定是否打开光盘里面的内容. Autorun.inf的内容通常是: [AUTORUN] OPEN=*.exe ICON=icon(图标文件).ico 1.如一个木马,为*.exe.那么Autorun.inf则可以如下: OPEN=Windows\*.exe ICON=*.exe 这时,每次双击C盘的时候就可以运行*.exe. 2.如把Autorun.inf放入C盘根目录里,则里面内容为: OPEN=D:\*.exe ICON=*.exe 这时,双击C盘则可以运行D盘的*.exe (5).更改扩展名启动方式: 更改扩展名:(*.exe) 如:*.exe的文件可以改为:*.bat,*.scr等扩展名来启动. 六.Vxd虚拟设备驱动启动方式: 应用程序通过动态加载的VXD虚拟设备驱动,而去的Windows 9X系统的操控权(VXD虚拟设备驱动只适用于Windows 95/98/Me). 可以用来管理例如硬件设备或者已安装软件等系统资源的32位可执行程序,使得几个应用程序可以同时使用这些资源. 七.Service[服务]启动方式: [开始]---[运行]---输入"services.msc",不带引号---即可对服务项目的操作. 在“服务启动方式”选项下,可以设置系统的启动方式:程序开始时自动运行,还是手动运行,或者永久停止启动,或者暂停(重新启动后依旧会启动). 注册表位置:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services 通过服务来启动的程序,都是在后台运行,例如国产木马"灰鸽子"就是利用此启动方式来达到后台启动,窃取用户信息. 八.驱动程序启动方式: 有些病毒会伪装成硬件的驱动程序,从而达到启动的目的. 1.系统自带的驱动程序.[指直接使用操作系统自带的标准程序来启动] 2.硬件自带的驱动程序.[指使用硬件自带的标准程序来启动] 3.病毒本身伪装的驱动程序.[指病毒本身伪装的标准程序来启动] 06/3/11补充[来自peter_yu]: windir\Start Menu\Programs\Startup\ User\Startup\ All Users\Startup\ windir\system\iosubsys\ windir\system\vmm32\ windir\Tasks\ c:\explorer.exe c:\autoexec.bat c:\config.sys windir\wininit.ini windir\winstart.bat windir\win.ini - [windows] "load" windir\win.ini - [windows] "run" windir\system.ini - [boot] "shell" windir\system.ini - [boot] "scrnsave.exe" windir\dosstart.bat windir\system\autoexec.nt windir\system\config.nt 06/3/25补充[来自smzd2005]: Folder.htt desktop.ini C:\Documents and Settings\用户名\Application Data\Microsoft\Internet Explorer\Desktop.htt March 18 Web2.0 解读来自:http://www.uirss.com/Modules/28_78.asp Web2.0,是相对Web1.0(2003年以前的互联网模式)的新的一类互联网应用的统称,是一次从核心内容到外部应用的革命。由Web1.0单纯通 过网络浏览器浏览html网页模式向内容更丰富、联系性更强、工具性更强的Web2.0互联网模式的发展已经成为互联网新的发展趋势。 Web1.0 到Web2.0的转变,具体的说,从模式上是单纯的“读”向“写”、“共同建设”发展;由被动地接收互联网信息向主动创造互联网信息迈进!从基本构成单元 上,是由“网页”向“发表/记录的信息”发展;从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展;运行机制上,由“Client Server”向“Web Services”转变;作者由程序员等专业人士向全部普通用户发展;应用上由初级的“滑稽”的应用向全面大量应用发展。 总 之,Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、Ryze、 Friendster、Del.icio.us、43Things.com等网站为代表,以Blog、TAG、SNS、RSS、wiki等应用为核心,依 据六度分隔、xml、ajax等新理论和技术实现的互联网新一代模式。 应用: 1、 Blog(from wiki) 历史: Blog一词本起源于 weblog,意思是网上日志。1997年由 Jorn Barger所提出。在1998年, infosift 的编辑Jesse J. Garrett (http://www.jjg.net),将一些类似blog的网站收集起来,寄给Cameron Barrett。 Cameron随后将名单发布在CamWorld网站上,许多人亦陆续将blog的URL给Cameron,慢慢的,一个新的网络社区俨然成型。1999年,Brigitte Eaton (http://www.eatonweb.com)成立一个weblog 目录,收集她所知道的blog站。1999年,Peter Merholz (http://www.peterme.com) 首次使用缩略词“blog”,成为今天常用的术语。但是,blog 真正开始快速发展的转折点,是在1999年6月,当时Pitas开始提供免费的weblog服务,紧接着8月,Pyra lab推出了现在的blogger.com。blogger.com 提供了简单易学的说明,以及能通过FTP直接将blog发表在个人网站上的功能,这带给使用者很大的方便。目前已经有了很多Blog托管服务商 (BSP),业内人士对其盈利前景,持谨慎乐观态度。 Blog的特点 Blog是个人或群体以时间顺序所作的一种记录,并且不断更 新。blog之间的交流主要是通过回溯引用(TrackBack)和回响/留言/评论(comment)的方式来进行的。blog的操作管理用语,也借鉴 了大量档案管理用语。一个blog亦可被视为一个档案(archives),或是卷宗(fonds)。与传统档案不同的是,blog的写作者 (blogger),既是这份档案的创作人(creator),也是其档案管理人(archivist)。 Blog大量采用了RSS (Really Simple Syndication或者Rich Site Summary或者RDF Site Summary)技术,所有的RSS文件都必须符合由W3C发布的XML 1.0规范。对读者来说,可以通过RSS订阅一个blog,确知该blog作者最近的更新。对Blog作者来说,RSS可以使自己发布的文章易于被计算机 程序理解并摘要。 对知识管理和创造而言,blog提供了新的形态和途径。对汉语为母语的人而言,blog写作既接续了汉语笔记文学的 优秀传统,更充分鼓励了个人表达。从交往形态考察,网志空间(blogosphere)设定了积极的读者、作者、编者互动转换关系,“言者互重,阅者相惜 ”。 2、 Tag (from blogbus) 什么是Tag? Tag(标签)是一种更为灵活、有趣的日志分类 方式,您可以为每篇日志添加一个或多个Tag(标签),然后您可以看到BlogBus上所有和您使用了相同Tag的日志,并且由此和其他用户产生更多的联 系和沟通。不仅如此,我们还通过与Technorati的合作,把您的Tag发送到全球Blog空间,和全世界的人们共同分享。 Tag体现了群体的力量,使得日志之间的相关性和用户之间的交互性大大增强,可以让您看到一个更加多样化的世界,一个关联度更大的Blog空间,一个热点实时播报的新闻台。Tag为您提供前所未有的网络新体验…… 当然,您也可以简单地把一个Tag(标签)理解为一个日志分类,但是Tag和分类的不同之处也很明显: 首先,分类是您在写日志之前就定好的,而Tag是在您写完日志之后再添加的; 其次,您可以同时为一篇日志贴上好几个Tag(标签),方便自己随时查找,而原先一篇日志只能有一个分类; 再次,当您积累了一定数量的Tag之后,您可以看看自己在Blog中最经常写的是哪些话题; 最后,您可以看到有哪些人和自己使用了一样的Tag(标签),进而找到和您志趣相投的Blogger。 举 一个例子,比如说:您写了一篇到西湖旅游的日志,原来您都是把这一类的日志放到自己的“驴行天下”分类下,但是有了Tag之后,您可以给这篇日志同时加上 “旅游”、“杭州”、“西湖”、“驴行天下”等几个Tag,当浏览者点击其中任何一个Tag,他都可以看到您的这篇日志。同时您自己也可以通过点击这几个 Tag,看看究竟有谁最近也去了杭州旅游,或许你们还可以交流一下旅游心得,成为下一次出游的伙伴呢! 3、 SNS Social Network Service,社会性网络软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。并且无限扩张自己的人脉,在需要的时候,可以随时获取一点,得到该人脉的帮助。 SNS网站,就是依据六度理论建立的网站,帮你运营朋友圈的朋友。 4、 RSS(from wiki) RSS是一种用于共享新闻和其他Web内容的数据交换规范,起源于网景通讯公司的推"Push"技术,将订户订阅的内容传送给他们的通讯协同格式(Protocol)。RSS可以是以下三个解释的其中一个: Really Simple Syndication(真正简单的整合) RDF (Resource Description Framework) Site Summary Rich Site Summary(丰富站点摘要) 但其实这三个解释都是指同一种Syndication的技术。 目前RSS规范的主要版本有0.91、1.0和2.0。 0.91版和1.0版完全不同,风格不同,制定标准的人也不同。0.91版和2.0版一脉相承。1.0版更靠拢XML标准。 RSS目前广泛用于blog、wiki和网上新闻频道,世界多数知名新闻社网站都提供RSS订阅支持。 5、 Wiki(from wiki) Wiki 一词源自夏威夷语的「wee kee wee kee」,本是「快点快点」之意。在这里Wiki指的是一种超文本系统。这种超文本系统系支持那些面向社群的协作式写作,同时也包括一组支持这种写作的辅 助工具。有人认为,Wiki系统属於一种人类知识的网路系统,我们可以在Web的基础上对Wiki文本进行浏览、创建、更改,而且这种创建、更改、及发布 的代价远比HTML文本小;与此同时Wiki系统还支持那些面向社群的协作式写作,为协作式写作提供了必要的帮助;最后,Wiki的写作者自然构成了一个 社群,Wiki系统为这个社群提供了简单的交流工具。与其它超文本系统相比,Wiki有使用简便且开放的优点,所以Wiki系统可以帮助我们在一个社群内 共用某个领域的知识。 Wiki起源 1995年沃德?坎宁安(Ward Cunningham)为了方便模式社群的交流创建了全世界第一个wiki系统-WikiWikiWeb,并用它建立了波特兰模式知识库 (Portland Pattern Repository)。在建立这个系统的过程中,沃德?坎宁安创造了Wiki的概念和名称,并且实现了支持这些概念的服务系统。这个系统是最早的 Wiki系统。从1996年至2000年间,波特兰模式知识库围绕著面向社群的协作式写作,不断发展出一些支持这种写作的辅助工具,从而使Wiki的概念 不断得到丰富。同时Wiki的概念也得到了传播,出现了许多类似的网站和软体系统。 Wiki的历史不长,无论是Wiki概念本身,还是相关软 体系统的特性,都还在热烈的讨论中;所以怎样的一个站点才能称得上是一个Wiki系统还是有争议的。与Wiki相关新近出现的技术还有blog,它们都降 低了超文本写作和发布的难度。这两者都是同内容管理系统密切相关的。 Wiki的特点 使用方便 维护快捷:快速创建、存取、更改超文本页面(这也是为什麼叫作 "wiki wiki" 的原因)。 格式简单:用简单的格式标记来取代 HTML 的复杂格式标记。(类似所见即所得的风格) 链接方便:通过简单标记,直接以关键字名来建立链接(页面、外部连接、图像等)。 命名平易:关键字名就是页面名称,并且被置於一个单层、平直的名空间中。 可增长 可增长:页面的链接目标可以尚未存在,通过点击链接,我们可以创建这些页面,从而使系统得以增长。 修订历史:记录页面的修订历史,页面的各个版本都可以被获取。 开放性 开放的:社群内的成员可以任意创建、修改、或删除页面。 可观察:系统内页面的变动可以被来访者清楚观察得到。 由於Wiki的自组织,可增长以及可观察的特点,使Wiki本身也成为一个网路研究的对象。对Wiki的研究也许能够让人们对网路的认识更加深入 理论和技术: 1、 六度关系理论 目 前流行的“六度分隔”理论是20世纪60年代由美国的心理学家米格兰姆(Stanley Milgram)提出的,这个理论可以通俗地阐述为: 最多通过六个人你就能够认识任何一个陌生人。“六度分隔”成为人际关系世界中无可否认而又令人震惊的特征,许多社会学上的深入研究也给出令人信服的证据, 说明这一特征不只是特例,在一般情形下也存在。 最近,美国哥伦比亚大学社会学系的瓦茨教授领导的EMAIL试验也再次证明了这一人际关系世界中惊人的规律。然而,在现实世界中,六十亿人怎么可能真的构 成如此紧密的相互关联呢?是互联网使一切成为现实。 2、 Xml XML即可扩展标记语言(eXtensible Markup Language)。标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,既可以选择国际通用 的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用 到的有XML、XSL和XPath等。 3、 AJAX Ajax并不是一种技术。它实际上是几种已经在各自领域大行其道技术的强强结合。Ajax混合了: * 基于XHTML/CSS * 由DOM(Document Object Model)实现动态显示与交互 * 通过XML和XSLT进行数据交换及处理 * 使用JavaScript整合上述技术 直 观一点的说Ajax能够实现不刷新浏览器窗口(当然更不用安装额外的插件)而满足用户的操作,现在一些看上去很Cool的网站,很多是用这项技术实现的, 其中包括:orkut、Gmail、Google Group、Google Suggest、Google Maps、Flickr、A9.com等。2SIMPLE的Co-mment系统虽然没有用到XML/XSLT,其理念已经暗合容Ajax,实现了不刷新 网页提供动态内给用户。 现有的产品: Wiki百科、Wallop 、yahoo360 、openbc 、 cyworld 、43things 、 flickr、 del.icio.us、 cragslist 、glob 、客齐集、 friendster 、 linkin 、UU通 、 优友 、 天际网 、爱米网 、linkist 、新浪点点通、skype、亿友、cyworld 现在说说web2.0的具体应用。 历史很重要。对一个技术的学习也应当从历史出发,通过其在时间形成历史的流变,得以知晓现状,甚至能够预知未来。 那Web 1.0是什么呢? 他们说,记得静态HTML的WWW时代么? (那个时代的WWW应用、人们的Web体验、对社会的影响如何?) 那么动态HTML和静态HTML下的Web相比,是多少版本?1.5?对了,他们是真这么叫的。 (在效果和影响上,与1.0相比,扩展和加深多少?) 要呈现的数据存储在数据库中,通过Web服务端的程序,应用户的请求,取出数据,加上事先设计的模板,动态的生成Html代码,发送到用户的浏览器那里。 他是1.0系列,应为用户在浏览器中所见和Web 1.0一样,它有0.5的升级,因为数据不是事先制作并发布,而是动态生成,和用户的需要交互生成。 那好,在加0.5,到Web 2.0,变化是在哪里呢? (看到了正在崛起的和改变的,会继续朝着什么方向改变互联网和社会呢?) 更新:关于各个版本的差别,看看亚马逊的例子。 事情没有那么幸运,Web 2.0并不是一个具体的事物,而是一个阶段,是促成这个阶段的各种技术和相关的产品服务的一个称呼。所以,我们无法说,Web 2.0是什么,但是可以说,那些是Web 2.0。 WikiPedia的Web 2.0条目下列出了这些条件: * CSS 和语义相关的 XHTML 标记 * AJAX 技术 * Syndication of data in RSS/ATOM * Aggregation of RSS/ATOM data * 简洁而有意义的 URLs * 支持发布为 weblog * RESTian (preferred) 或者 XML Webservice APIs * 一些社会性网络元素 必须具备的要素有: * 网站应该能够让用户把数据在网站系统内外倒腾。 * 用户在网站系统内拥有自己的数据 * 完全基于Web,所有的功能都能透过浏览器完成。 (以上内容引用自英文版维基百科) 虽然这只是一家之言,不过,对于其中谈到的几个要素,大家还是公认的。 - 基于RSS/ATOM/RDF/FOAF等XML数据的同步、聚合和迁移。 数据不再和页面和网站混粘在一起,它独立了,它跟着用户走。这是Web 2.0的很重要特征。这也是为什么Blog是Web 2.0的代表的原因。在网志上,常主角的是相互独立的一则则的网志。 独立,然后有物理表现。现在,就能让他们活跃起来。透过对XML数据的处理,这些内容能被自由的组合,被各种应用程序,不论是Web程序还是桌面程序等呈现和处理。 (更新:参看商业周刊的All Your Info in One Place) 当然,最重要的是背后的人。 - 社会性因素。 内容跟着人走,内容又能够被用户自由的组合,也就是说,用户能够自由的借助内容媒介,创建起一个个的社群,发生各种社会性的(网络)行为。 此外还有标签以及建立在开放标签系统之上的Folksonomy。 - 第三个公认的因素是开放API,这个技术性稍强些,得另花时间研习,可以先看看例子:amazon、flickr、google map等。 (Web 2.0是个大筐,装了好多东西) 从Web应用的产品/服务生产者角度来说,该如何创建Web 2.0的产品呢? 重要的是要抓住这么几点,一个是微内容(这里有定义),一个是用户个体。除了这两个最基本的之外,还可以考虑社群内的分享以及提供API。 微 内容:英文是microcontent。用户所生产的任何数据都算是微内容,比如一则网志,评论,图片,收藏的书签,喜好的音乐列表、想要做的事情,想要 去的地方、新的朋友等等。这些微内容,充斥着我们的生活、工作和学习,它的数量、重要性,还有我们对它的依赖,并不亚于那些道貌岸然、西装革履的正统文 章、论文、书籍。 对微内容的重新发现和利用,是互联网所开创的平等、***、自由风气的自然衍生,也是互联网相关技术消减信息管理成本之后的一个成果。 我们每天都生产众多的微内容,也消费着同样多的微内容。对于Web 2.0来说,如何帮助用户管理、维护、存储、分享、转移微内容,就成了关键。 用 户个体。对于Web 1.0的典型产品/服务来说,用户没有具体的面貌、个性,它只是一个模糊的群体的代名词而已。但是对于Web2.0的产品和服务来说,用户是个实实在在的 人。Web 2.0所服务的,是具体的人,而不是一个如同幽灵般的概念。并且,这个人的具体性,会因为服务本身而不断地充实起来。 如何为这个具体的个体服务,是Web 2.0设计的起点。 因此,一类可以被称作Web 2.0的产品/服务将是这样: 服务于用户个体的微内容的收集、创建、发布、管理、分享、合作、维护等的平台。 这是表。 里呢,恐怕就设计到好些人提到的,微内容的XML表现;微内容的聚合;微内容的迁移;社会性关系的维护;界面的易用性等等。 其质,是否就是开源、参与、个人价值、草根、合作等等? Web2.0是许多方面起头并进又相互牵连的一个新的阶段的到来。因此,不同的人,有着不同的看法。那么,对于Web开发人员来说,Web2.0意味着什么呢? 他们说Web2.0阶段,Web是一个平台,或者说,Web正在变得可编程,可以执行的Web应用。野心家们设想这个它的终极目标是Web OS。 Web 1.0时候,Web只是一个针对人的阅读的发布平台,Web由一个个的超文本链接而成。现在的趋势发生了变化,Web不仅仅是Html文档的天下,它成了交互的场所。 Web 2.0 Conference网站的横幅引用Jeff Bezos的话说“Web 1.0 is making the internet for people,web 2.0 is making the internet better for computers”。 具体来讲,他们说Web成为一个开发环境,借助Web服务提供的编程接口,网站成了软件构件。 这些,就是Web Service的目标吧,信息孤岛通过这些Web Service的对话,能够被自由构建成适合不同应用的建筑来。 一些例子:del.icio.us、flickr、a9、amazon、yahoo、google、msn等提供的编程接口衍生出的各种应用。 为什么要开放APIs,这涉及到集市中的商业方面的技术策略。当然,还有更深层的原因,那是什么呢? 这种交互不仅体现在不同的网站服务之间,同时还体现在用户和Web之间在浏览器上的交互。这也是为什么在美味书签的收藏中Web2.0和AJAX如此相关的一个原因。 在Web页面上使用桌面程序有的那些便利,真的是很享受的事情。这恐怕也是Web可编程的一个方面,Web页面不再是标记和内容混合那样的简单,它就是一个可以编程的地方(是这样理解吧?) 有 人反对说,AJAX的使用对搜索引擎不友好,只有Web 1.0的站长才关心这个事情吧,在Web 2.0时候,站长应该关心的是用户参与的便利、用户的自由度,至于搜索,有RSS/ATOM/RDF等,更本用不着操心,Google不是已经顺应这个趋 势,让大家主动提交了么? 可编程的第三个方面,是否在于Web应用和桌面应用之间的无缝连接趋势的出现?类似这里说的“从工具上,是由互联网浏览器向各类浏览器、rss阅读器等内容发展” ...... 自己不是专业开发人员,对Web OS的学习就点到为止,下次换个方向,否则我非头大不可。 --------------------- cathayan和Live21说Web 2.0其实思路很古老,就是internet 1.0的回归。 Live21那里提到“关于概念的炒做应该不是一次两次的问题了”。 提到概念炒作,我还真见到过,今天在一篇报道中看到作为WEB 2.0的BSP的字眼,好笑得很。 不过,我真想说明,在目前中文Blog空间内能查阅到的学习、探讨Web 2.0的资料都不是炒作,因为包括我在内,大家都没有任何商业背景(注意,新闻报道中的那些Web 2.0除外)。 [Web 2.0是个历史学的概念,而非是个技术性的概念,它是对Web发展历史断代的成果。对这个概念的梳理,能帮助我更好的把握互联网正在发生的技术与文化。] 中文网志圈谈论的Web 2.0内容摘要: - “我觉得最有价值的一个是, web应用的数据格式开始逐渐出现了交换“标准”...这些标准...更加容易被机器自动化处理...能帮助人更好地过滤和定制化信息。其次,更多的服务 将以web service的形式来提供,...这使得web 服务可以被互相集成, 从而诞生更多新的服务...人的重要性被提高了。过去web更多注重在信息提供, 而现在的越来越多的应用更加关注人,也就是所谓“社会性”。此外web的可用性改进正在被越来越重视...”[老冒:朝web 2.0泼点冷水] - “RSS逐渐成为在线内容提供服务的标准发行平台。Blog以及user-generated内容的兴起。My Yahoo提供的RSS整合型服务。同时提出了值得密切关注的一些发展中领域,其中包括搜索技术,个性化,User-Generated内容(包括 blog,评论,图像和声音),音乐,短视频和Accessibility(易访问性)”[Owen:Mary Meeker新作 - 关于Digital World的发展报告的摘取] - “我们谈论的Web2.0带给我们的是一种可读写的网络,这种可读写的网络表现于用户是一种双通道的交流模式,也就是说网页与用户之间的互动关系由传统的 “Push”模式演变成双向交流的“Two- Way Communication”的模式。而对于Web服务的开发者来说,Web2.0带来的理念是服务的亲和力,可操作性,用户体验以及可用性。” [Owen:BaCKpACK-体验可读写的Web服务] - “web 2.0是一种可以被分发的信息概述,web文档被格式化成了web数据。我们不会再看到不同旧地信息,现在我们所注意到是一种聚合、再混合内容的工具。”[songzhen:也说Web 2.0的翻译] - “从这些应用中可以看到:如果基于传统的HTML,同样的功能实现将变得非常复杂和不稳定,数据的再生产和交换成本是很高的。所以:RSS这个标准最终要 的贡献就是使得互联网的大部分网站变得可编程:类似的例子还有Blog中的:TrackBack Ping等机制,这些机制都是依赖XML/RPC实现的。当初为Lucene设计一个RSS/XML的接口也是为了这个初衷,它使得全文检索服务可以轻松 的嵌入到各种应用中,通过关键词将各种内容之间实现更丰富的关联(Well Referenced)。”[车东:RSS,简单协议使得互联网可编程] - “聚合的可能性以及如何更好地聚合(通常来说,更好的聚合应该基于个人知识管理和人际关系管理)很显然应该成为新一代或者说web2.0架构的核心之一。 还有,你会重新发现,恰好是分散带动了聚合,聚合促进了分散,通过聚合的思维,互联网的网络状变得越来越丰富和密集,web2.0就变得越来越有趣味,它 将web1.0时代的硕大节点即门户网站不断消解,去努力创造一个更加和谐的自然网络图谱。”[Horse:rss,聚合的无数可能] - “新的web2.0网站都依赖于用户参与、用户主导、用户建设”。[Horse:Web 2.0这个词] - Keso:Web 1.0与Web 2.0的区别 - “表面上看,Bloglines取代了门户,成为一个新的中心,但这里有一个重大的区别。门户是只读的,它带有某种锁定的性质。你可以离开门户,但你无法 带走门户的内容。Bloglines则完全不同,你觉得它好用,就会继续使用,有一天你不再喜欢Bloglines,你完全可以导出你的OPML,到另一 个 RSS订阅网站,或者干脆用客户端软件浏览同样的内容。所以,像Bloglines这样的网站,是可写的,你可以导入,也可以导出。就像你对信息拥有选择 权,对服务提供商也同样拥有选择权,没有人可以锁定你,主动权在你自己手上。”[Keso:再说信息选择权] - “Flickr、del.icio.us、Bloglines等Web 2.0服务,通过开放API获得了很多有趣、有用的想法,并借助外部的力量,让用户获得了更好的体验。更多大公司也加入到开放API的潮流中, Google、Yahoo!、Amazon、Skype。Google桌面搜索今年3月才开放API,很快就产生了大量的创造,大大扩充了可搜索的文件格 式。”[Keso:开放API] - “归纳:web1.0天天谈门户,web2.0谈个人化;web1.0谈内容,web2.0谈应用;web1.0商业模式,web2.0谈服务; web1.0谈密闭、大而全,web2.0大家谈开放、谈联合;web1.0网站中心化,web2.0谈个人中心化;web1.0一对一,web2.0谈 社会性网络;web1.0不知道你是狗,web2.0你去年夏天干了什么我一清二楚甚至想要干什么呢。。。”[van_wuchanghua:发现了 N.HOOLYWOOD,我还知道你今年夏天要干什么] |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|