ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕在线永久在线视频,国产一区二区三区丝袜,日本在线丨区http://www.aygfsteel.com/liver/我不够贪心!其实我应该明白,心有多贪åQŒèˆžå°å°±ä¼šæœ‰å¤šå¤§åQåšæŒï¼å¥‹æ–—åQ?/description>zh-cnSat, 21 Jun 2025 03:09:40 GMTSat, 21 Jun 2025 03:09:40 GMT60[转蝲]Java˜qœç¨‹é€šè®¯æŠ€æœ¯æ€È»“http://www.aygfsteel.com/liver/archive/2010/05/07/320301.htmlLiverLiverFri, 07 May 2010 09:24:00 GMThttp://www.aygfsteel.com/liver/archive/2010/05/07/320301.htmlhttp://www.aygfsteel.com/liver/comments/320301.htmlhttp://www.aygfsteel.com/liver/archive/2010/05/07/320301.html#Feedback0http://www.aygfsteel.com/liver/comments/commentRss/320301.htmlhttp://www.aygfsteel.com/liver/services/trackbacks/320301.html阅读全文

]]>
[转蝲]Web Services&XMLåQšä»€ä¹ˆæ˜¯Web Servicehttp://www.aygfsteel.com/liver/archive/2010/04/27/319497.htmlLiverLiverTue, 27 Apr 2010 08:42:00 GMThttp://www.aygfsteel.com/liver/archive/2010/04/27/319497.htmlhttp://www.aygfsteel.com/liver/comments/319497.htmlhttp://www.aygfsteel.com/liver/archive/2010/04/27/319497.html#Feedback0http://www.aygfsteel.com/liver/comments/commentRss/319497.htmlhttp://www.aygfsteel.com/liver/services/trackbacks/319497.html
在http//www.hexiesoft.net 上你可以‹Æ£èµåˆ?NET下ä‹É用微软开发工具徏立的Web Service企业¾U§ERP应用¾pȝ»Ÿã€?br />
åœ?http//dwdemos.alphaworks.ibm.com/HospitalProj/index.html上,你可以体验ä‹É用IBM开发工具创建的提供åŒÈ–—保险信息查询的Web Serviceã€?br />
Web Service概念

什么是 Web Service呢?从表面上看,Web Servicež®±æ˜¯ä¸€ä¸ªåº”用程序,它向外界暴露å‡ÞZ¸€ä¸ªèƒ½å¤Ÿé€šè¿‡Web˜q›è¡Œè°ƒç”¨çš„API。这ž®±æ˜¯è¯ß_¼Œä½ èƒ½å¤Ÿç”¨¾~–程的方法通过Web调用来实现某个功能的应用½E‹åºã€‚例如,½W”者创å»ÞZ¸€ä¸ªWeb ServiceåQŒå®ƒçš„作用是查询某公司某员工的基本信息。它接受该员工的¾~–å·ä½œäØ“æŸ¥è¯¢å­—ç¬¦ä¸ÔŒ¼Œ˜q”回该员工的具体信息。你可以在浏览器的地址栏中直接输入HTTP GETè¯äh±‚来调用罗列该员工基本信息的ASP™åµé¢åQŒè¿™ž®±å¯ä»¥ç®—作是体验Web Service了ã€?br />
从深层次上看åQŒWeb Service是一¿Uæ–°çš„Web应用½E‹åºåˆ†æ”¯åQŒå®ƒä»¬æ˜¯è‡ªåŒ…含、自描述、模块化的应用,可以在网¾l?通常为Web)中被描述、发布、查找以及通过Web来调用ã€?br />
Web Service便是åŸÞZºŽ¾|‘络的、分布式的模块化¾l„äšgåQŒå®ƒæ‰§è¡Œç‰¹å®šçš„ä“Q务,遵守具体的技术规范,˜q™äº›è§„范使得Web Service能与其他兼容的组件进行互操作。它可以使用标准的互联网协议åQŒåƒ­‘…文本传输协议HTTPå’ŒXMLåQŒå°†åŠŸèƒ½ä½“çŽ°åœ¨äº’è”ç½‘å’Œä¼ä¸šå†…éƒ¨ç½‘ä¸Šã€‚Web Serviceòq›_°æ˜¯ä¸€å¥—标准,它定义了应用½E‹åºå¦‚何在Web上实çŽîCº’操作性。你可以用你喜欢的ä“Q何语­a€(½W”者用的是C#)åQŒåœ¨ä½ å–œ‹Æ¢çš„ä»ÖM½•òq›_°ä¸Šå†™Web Serviceã€?br />
Web Service的技术支�/span>

Web Serviceòq›_°éœ€è¦ä¸€å¥—协议来实现分布式应用程序的创徏。ä“Q何åã^台都有它的数据表½Cºæ–¹æ³•å’Œ¾cÕdž‹¾pȝ»Ÿã€‚要实现互操作性,Web Serviceòq›_°å¿…须提供一套标准的¾cÕdž‹¾pȝ»ŸåQŒç”¨äºŽæ²Ÿé€šä¸åŒåã^台、编½E‹è¯­­a€å’Œç»„件模型中的不同类型系¾lŸã€‚目前这些协议有åQ?br />
1.XMLå’ŒXSD

可扩展的标记语言XML?是Web Serviceòq›_°ä¸­è¡¨½Cºæ•°æ®çš„基本格式。除了易于徏立和易于分析外,XML主要的优点在于它既与òq›_°æ— å…³åQŒåˆä¸ŽåŽ‚å•†æ— å…Ÿë€‚XML是由万维¾|‘协ä¼?W3C)创徏åQŒW3C制定的XML SchemaXSD?定义了一套标准的数据¾cÕdž‹åQŒåƈ¾l™å‡ºäº†ä¸€¿Uè¯­­a€æ¥æ‰©å±•这套数据类型ã€?br />
Web Serviceòq›_°æ˜¯ç”¨XSD来作为数据类型系¾lŸçš„。当你用某种语言å¦?VB.NET或C#?来构造一个Web Serviceæ—Óž¼Œä¸ÞZº†½W¦åˆWeb Service标准åQŒæ‰€æœ‰ä½ ä½¿ç”¨çš„æ•°æ®ç±»åž‹éƒ½å¿…须被è{æ¢äØ“XSD¾cÕdž‹ã€‚如惌™®©å®ƒä‹É用在不同òq›_°å’Œä¸åŒèÊY件的不同¾l„织间传递,˜q˜éœ€è¦ç”¨æŸç§ä¸œè¥¿ž®†å®ƒåŒ…装èµäh¥ã€‚è¿™¿Uä¸œè¥¿å°±æ˜¯ä¸€¿Uåè®®ï¼Œå¦?SOAPã€?br />
2.SOAP

SOAP即简单对象访问协è®?Simple Object Access Protocol)åQŒå®ƒæ˜¯ç”¨äºŽäº¤æ¢XML¾~–码信息的轻量çñ”协议。它有三个主要方面:XML-envelope为描˜qîC¿¡æ¯å†…容和如何处理内容定义了框æžÓž¼Œž®†ç¨‹åºå¯¹è±¡ç¼–码成为XML对象的规则,执行˜qœç¨‹˜q‡ç¨‹è°ƒç”¨(RPC)的约定ã€?SOAP可以˜qè¡Œåœ¨ä“Q何其他传输协议上。例如,你可以ä‹Éç”?SMTPåQŒå³å› ç‰¹¾|‘电子邮件协议来传递SOAP消息åQŒè¿™å¯æ˜¯å¾ˆæœ‰è¯±æƒ‘力的。在传输层之间的头是不同的,但XML有效负蝲保持相同ã€?br />
Web Service 希望实现不同的系¾lŸä¹‹é—´èƒ½å¤Ÿç”¨“软äšg-软äšg对话”的方式相互调用,打破了èÊY件应用、网站和各种讑֤‡ä¹‹é—´çš„æ ¼æ ég¸å…¥çš„状态,实现“åŸÞZºŽWeb无缝集成”的目标ã€?br />
3.WSDL

Web Service描述语言WSDL?ž®±æ˜¯ç”¨æœºå™¨èƒ½é˜…读的方式提供的一个正式描˜q°æ–‡æ¡£è€ŒåŸºäºŽXML的语­a€åQŒç”¨äºŽæ˜q°Web Service及其函数、参数和˜q”回倹{€‚因为是åŸÞZºŽXML的,所以WSDL既是机器可阅è¯Èš„åQŒåˆæ˜¯äh可阅è¯Èš„ã€?br />
4.UDDI

UDDI 的目的是为电子商务徏立标准;UDDI是一套基于Webçš„ã€åˆ†å¸ƒå¼çš„ã€äØ“Web Service提供的、信息注册中心的实现标准规范åQŒåŒæ—¶ä¹ŸåŒ…含一¾l„ä‹É企业能将自èín提供的Web Service注册åQŒä»¥ä½¿åˆ«çš„企业能够发现的讉K—®åè®®çš„实现标准ã€?br />
5.˜qœç¨‹˜q‡ç¨‹è°ƒç”¨RPC与消息传é€?/em>

Web Service本èín其实是在实现应用½E‹åºé—´çš„通信。我们现在有两种应用½E‹åºé€šä¿¡çš„æ–¹æ³•:RPC˜qœç¨‹˜q‡ç¨‹è°ƒç”¨?和消息传递。ä‹É用RPC的时候,客户端的概念是调用服务器上的˜qœç¨‹˜q‡ç¨‹åQŒé€šå¸¸æ–¹å¼ä¸ºå®žä¾‹åŒ–一个远½E‹å¯¹è±¡åƈ调用其方法和属性。RPC¾pȝ»Ÿè¯•图辑ֈ°ä¸€¿Uä½¾|®ä¸Šçš„透明性:服务器暴露出˜qœç¨‹å¯¹è±¡çš„æŽ¥å£ï¼Œè€Œå®¢æˆïL«¯ž®±å¥½åƒåœ¨æœ¬åœ°ä½¿ç”¨çš„è¿™äº›å¯¹è±¡çš„æŽ¥å£ä¸€æ øP¼Œ˜q™æ ·ž®±éšè—äº†åº•层的信息,客户端也ž®±æ ¹æœ¬ä¸éœ€è¦çŸ¥é“对象是在哪台机器上ã€?br />
Web Service软äšg的支æŒ?/span>

操作¾pȝ»Ÿ¼›ÖM¸å¼€ä¸°å¯Œçš„应用èÊYä»¶çš„æ”¯æŒã€‚åŒæ øP¼ŒWeb Service˜q™é¡¹æŠ€æœ¯åªæœ‰é€šè¿‡æ—¥ç›Šòq¿æ³›çš„应用才能体现出其ä­hå€û|¼Œç›®å‰æ¯”较‹¹è¡Œçš„实现方法是使用.NET å’?Java两种技术,òq¶ä¸”两种实现æ–ÒŽ³•可以互相操作åQ›å¦‚今我们已¾lå¯ä»¥çœ‹åˆîC‹É用微软ã€?IBM、SUN、Borland½{‰ä¸åŒåŽ‚å•†çš„Web Service构徏工具建立的Web Service应用ã€?br />
å¾®èÊY.NET

å¾®èÊYçš?NET技术应该算是时下最为流行的Web Service 开发技术。首先因为其公司在以前相应的产品ž®±å æœ‰ç›¸å½“大的市åœÞZ†¾é¢ï¼Œä»¥è‡³ä½¿æ–°æŽ¨å‡ºçš?NET得以有比较稳定的用户¾Ÿ¤ï¼›å…¶æ¬¡ä¹Ÿæ˜¯æ›´é‡è¦çš„æ˜?.NETòq›_°ä¸ä»…延箋了微软一贯的¾~–程风格åQŒè€Œä¸”˜q˜å¢žåŠ äº†è®¸å¤šæ”¯æŒWeb 服务的关键性技术,使得.NET在操作的½Ž€å•性和执行的稳定性,高效性上辑ֈ°äº†ä¸€ä¸ªéžå¸¸å¥½çš„结合ã€?br />
å¾®èÊYçš„Visual Studio.NET便是一个便äº?Web 服务的开发工兗÷€‚微软的目标是,ž®†å…¶æ–°ç¼–½E‹è¯­­a€??C#ä½œäØ“Web Service的首选语­a€ã€‚虽然C#看è“v来与Java¾cÖM¼¼åQŒä½†æ˜¯è¿˜æœ‰ä¸€äº?Java中没有的独特的功能ã€?NET技术中用于Web Service 开发的主要工具是ASP.NET?从技术上è¯ß_¼ŒASPasp.net? 提供了一些超出ASP以前版本的优ç‚?例如åQšä»£ç å’ŒHTML的分¼›»ï¼Œä¸Žè„šæœ¬è¯­­a€ç›¸æ¯”较,å¯?#8220;真正”的编½E‹è¯­­a€å¦?C# 的支æŒ?ã€?br />
IBMçš?WebSphere

IBM公司是业界第一家能够提供全面支持Web服务的电子商务基¼‹€è®¾æ–½ä¸­é—´ä»¶çš„公司。通过多年来与 W3C(The World Wide Web Consortium)的共同努力,包括DB2、Lotus、Tivoli å’ŒWebSphere在内的所有IBM软äšg都实çŽîCº†å¯¹SOAP、WSDL、UDDI、Linux、XML、J2EE½{‰å¼€æ”¾æŠ€æœ¯å’Œæ ‡å‡†çš„全面支持。  IBM公司的WebSphere 也是比较好的基础架构软äšg开发åã^台。WebSphere软äšgòq›_°åŠå¼€å‘工具包æ‹?WebSphere Studio Application Developer WSAD? åŸÞZºŽJ2EE、XML å’ŒWeb服务½{‰å¼€æ”¾æ ‡å‡†ï¼Œòq¶å…·å¤?IBM 在可靠性、扩展性和安全性上的主要优åŠÑ€‚WebSphere æ˜?IBM åœ?Web Services½{–略中的核心òq›_°åQŒå®ƒæ”¯æŒæ‰€æœ‰å¼€å‘、发布、部¾|?Web Services应用所必需的开放标准和技术,包括 UDDIåQŒSOAPåQŒJ2EEåQŒWSDLåQŒå’Œå¯?XML 技术集成的增强åQŒè¿™ç‰¹ä‹É得它在全球有很多用户ã€?br />
Borland的JBuilder

Borland公司åœ?JBuilder7中,用户可以用其Borland Web Services Kit for Javaå’ŒBorland JBuilder MobileSet 3˜q›è¡Œæ›´å¿«æ·åœ°å¼€å‘Web Service和无¾U¿åº”用。这样将使开发者能够在同一个开发环境中è½ÀL¾åœ°åˆ›å»ºå’Œé›†æˆWeb Service。今òq´æ–°æŽ¨å‡ºçš„JBuidler8 更是针对Web Service开发更提供了方便和高效的方法ã€?br />
æ€ÖM¹‹åQŒåœ¨Web Service开发上åQ?NET å’ŒJava都是很好的选择åQŒå°½½Ž¡ä¸¤è€…现在都有一些需要完善的地方åQŒä½†æ˜¯å°±ç›®å‰æ¥è¯´åQŒå®ƒä»¬è¿˜æ˜¯æœ€å¥½çš„开发手ŒDµå’ŒæŠ€æœ¯ã€‚å…·ä½“é€‰æ‹©å“ªç§å¼€å‘å·¥å…øP¼Œä¹Ÿæ˜¯ä»è€…è§ä»ï¼Œæ™ø™€…见智的问题。从æ ÒŽœ¬ä¸Šè¯´åQŒè¿™ä¸¤ç§æ–ÒŽ³•没有å­îC¼˜å­°åŠ£çš„é—®é¢˜ï¼Œåªæ˜¯æ ÒŽ®ä½¿ç”¨è€…对˜q™ä¸¤¿Uæ–¹æ³•的掌握½E‹åº¦å’Œå¯¹å…·ä½“语言的偏çˆÞq¨‹åº¦æ¥å†›_®šã€?

]]>
再谈¾U¿ç¨‹åQšç”Ÿäº§è€…与消费è€?/title><link>http://www.aygfsteel.com/liver/archive/2009/06/04/279970.html</link><dc:creator>Liver</dc:creator><author>Liver</author><pubDate>Thu, 04 Jun 2009 02:57:00 GMT</pubDate><guid>http://www.aygfsteel.com/liver/archive/2009/06/04/279970.html</guid><wfw:comment>http://www.aygfsteel.com/liver/comments/279970.html</wfw:comment><comments>http://www.aygfsteel.com/liver/archive/2009/06/04/279970.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liver/comments/commentRss/279970.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liver/services/trackbacks/279970.html</trackback:ping><description><![CDATA[     摘要: 昨天提到了线½E‹ï¼Œé‚£ä¹ˆž®×ƒ¸å¾—不提到“生äñ”者与消费è€?#8221;˜q™æ ·ä¸€ä¸ªç»å…¸çš„¾U¿ç¨‹åŒæ­¥é—®é¢˜ã€? 场景描述åQ?    ä¸€ä¸ªä»“库,生äñ”者在工厂里生产了产品后,ž®†äñ”品存攑ֈ°ä»“库里,仓库存放数量有限åQŒå½“满仓后,停止生äñ”åQŒç›´åˆ°æœ‰æ¶ˆè´¹ç€ž®†äñ”品消费后才ç‘ô¾l­ç”Ÿäº§ï¼›æ¶ˆè´¹è€…从仓库里提取äñ”品,当仓库空仓时åQŒåœæ­¢æ¶ˆè´¹äñ”品,直到仓库中有产品æ—Óž¼Œæ‰ç‘ô¾l­æ¶ˆè´¹äñ”品ã€? ...  <a href='http://www.aygfsteel.com/liver/archive/2009/06/04/279970.html'>阅读全文</a><img src ="http://www.aygfsteel.com/liver/aggbug/279970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liver/" target="_blank">Liver</a> 2009-06-04 10:57 <a href="http://www.aygfsteel.com/liver/archive/2009/06/04/279970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>¾U¿ç¨‹7¿UçŠ¶æ€çš„ç›æ€º’转换http://www.aygfsteel.com/liver/archive/2009/06/04/279924.htmlLiverLiverWed, 03 Jun 2009 16:06:00 GMThttp://www.aygfsteel.com/liver/archive/2009/06/04/279924.htmlhttp://www.aygfsteel.com/liver/comments/279924.htmlhttp://www.aygfsteel.com/liver/archive/2009/06/04/279924.html#Feedback2http://www.aygfsteel.com/liver/comments/commentRss/279924.htmlhttp://www.aygfsteel.com/liver/services/trackbacks/279924.html 当初学习¾U¿ç¨‹çš„æ—¶å€™æŠŠ˜q?个状态记得比自己名字˜q˜ç†Ÿæ‚?br /> ˜q˜æŠŠ˜q?个状态编成了一ŒDµå‡„惨而美丽的爱情故事
没想到如今却只能记得个大æ¦?br /> 真验证了“好记性不如烂½W”头”的真ç?br /> ˜q˜æ˜¯èµ¶å¿«å›žå¿†ä¸€ä¸‹å§

先从囄¡‰‡å¼€å§?br />

ž®å°çš„作下解释:
1、线½E‹çš„实现有两¿Uæ–¹å¼ï¼Œä¸€æ˜¯ç‘ô承Thread¾c»ï¼ŒäºŒæ˜¯å®žçްRunnable接口åQŒä½†ä¸ç®¡æ€Žæ ·åQŒå½“我们new了这个对象后åQŒçº¿½E‹å°±˜q›å…¥äº?span style="color: red">初始状æ€?/strong>åQ?br /> 2、当该对象调用了start()æ–ÒŽ³•åQŒå°±˜q›å…¥å¯è¿è¡Œçжæ€?/strong>åQ?br /> 3、进入可˜qè¡ŒçŠ¶æ€åŽåQŒå½“该对象被操作¾pȝ»Ÿé€‰ä¸­åQŒèŽ·å¾—CPUæ—‰™—´ç‰‡å°±ä¼šè¿›å…?span style="color: red">˜qè¡Œçжæ€?/strong>åQ?br /> 4、进入运行状态后情况ž®±æ¯”较复杂了
    4.1、run()æ–ÒŽ³•或main()æ–ÒŽ³•¾l“束后,¾U¿ç¨‹ž®Þp¿›å…?span style="color: red">¾lˆæ­¢çжæ€?/strong>åQ?br />     4.2、当¾U¿ç¨‹è°ƒç”¨äº†è‡ªíw«çš„sleep()æ–ÒŽ³•或其他线½E‹çš„join()æ–ÒŽ³•åQŒå°±ä¼šè¿›å…?strong style="color: red">é˜Õd¡žçжæ€?/strong>åQˆè¯¥çŠ¶æ€æ—¢åœæ­¢å½“å‰¾U¿ç¨‹åQŒä½†òq?span style="color: red">不释放所占有的资æº?/span>åQ‰ã€‚当sleep()¾l“束或join()¾l“束后,该线½E‹è¿›å…¥å¯˜qè¡ŒçŠ¶æ€ï¼Œ¾l§ç®‹½{‰å¾…OS分配旉™—´ç‰‡ï¼›
    4.3、线½E‹è°ƒç”¨äº†yield()æ–ÒŽ³•åQŒæ„æ€æ˜¯æ”‘Ö¼ƒå½“前获得的CPUæ—‰™—´ç‰‡ï¼Œå›žåˆ°å¯è¿è¡ŒçŠ¶æ€ï¼Œ˜q™æ—¶ä¸Žå…¶ä»–è¿›½E‹å¤„于同½{‰ç«žäº‰çŠ¶æ€ï¼ŒOS有可能会接着又让˜q™ä¸ª˜q›ç¨‹˜q›å…¥˜qè¡ŒçŠ¶æ€ï¼›
   4.4、当¾U¿ç¨‹åˆšè¿›å…¥å¯˜qè¡ŒçŠ¶æ€ï¼ˆæ³¨æ„åQŒè¿˜æ²¡è¿è¡Œï¼‰åQŒå‘现将要调用的资源è¢?font style="background-color: #cce8cf">synchronizaåQˆåŒæ­¥ï¼‰åQŒèŽ·å–ä¸åˆ°é”æ ‡è®°åQŒå°†ä¼šç«‹åŒ™¿›å…?span style="color: red">锁池状æ€?/strong>åQŒç­‰å¾…获取锁标记åQˆè¿™æ—¶çš„é”?/font>池里也许已经有了其他¾U¿ç¨‹åœ¨ç­‰å¾…获å?font style="background-color: #cce8cf">é”?/font>标记åQŒè¿™æ—¶å®ƒä»¬å¤„于队列状态,既先到先得)åQŒä¸€æ—¦çº¿½E‹èŽ·å¾?font style="background-color: #cce8cf">é”?/font>标记后,ž®Þp{入可˜qè¡ŒçŠ¶æ€ï¼Œ½{‰å¾…OS分配CPUæ—‰™—´ç‰‡ï¼›
   4.5、当¾U¿ç¨‹è°ƒç”¨wait()æ–ÒŽ³•后会˜q›å…¥½{‰å¾…队列åQˆè¿›å…¥è¿™ä¸ªçŠ¶æ€ä¼šé‡Šæ”¾æ‰€å æœ‰çš„æ‰€æœ‰èµ„æºï¼Œä¸Žé˜»å¡žçŠ¶æ€ä¸åŒï¼‰åQŒè¿›å…¥è¿™ä¸ªçŠ¶æ€åŽåQŒæ˜¯ä¸èƒ½è‡ªåŠ¨å”¤é†’çš„ï¼Œå¿…é¡»ä¾é å…¶ä»–¾U¿ç¨‹è°ƒç”¨notify()或notifyAll()æ–ÒŽ³•才能被唤醒(ç”׃ºŽnotify()只是唤醒一个线½E‹ï¼Œä½†æˆ‘们由不能¼‹®å®šå…·ä½“唤醒的是哪一个线½E‹ï¼Œä¹Ÿè®¸æˆ‘们需要唤醒的¾U¿ç¨‹ä¸èƒ½å¤Ÿè¢«å”¤é†’åQŒå› æ­¤åœ¨å®žé™…使用æ—Óž¼Œä¸€èˆ¬éƒ½ç”¨notifyAll()æ–ÒŽ³•åQŒå”¤é†’有所¾U¿ç¨‹åQ‰ï¼Œ¾U¿ç¨‹è¢«å”¤é†’后会进入锁池,½{‰å¾…获取锁标记ã€?br />
æ€È®—全部回忆了一遍JDK1.5在APIçš„ä‹É用上有了较好的改˜q›ï¼Œæ•ˆçŽ‡å¾—åˆ°å¾ˆå¤§çš„æé«˜ï¼Œä¸è¿‡å‡ ä¸ªçŠ¶æ€è{换的原理˜q˜æ˜¯ä¸€æ —÷€?br />
é¢?#8230;…不过那一ŒDµå‡„惨而美丽的爱情故事˜q˜æ²¡å®Œå…¨æƒŒ™“v来,那天全部回忆èµäh¥äº†åœ¨å†™å§ã€?

]]>
Tomcat下配¾|®JNDI数据库连接池òq¶ä‹Éç”?/title><link>http://www.aygfsteel.com/liver/archive/2009/05/31/279309.html</link><dc:creator>Liver</dc:creator><author>Liver</author><pubDate>Sun, 31 May 2009 14:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/liver/archive/2009/05/31/279309.html</guid><wfw:comment>http://www.aygfsteel.com/liver/comments/279309.html</wfw:comment><comments>http://www.aygfsteel.com/liver/archive/2009/05/31/279309.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/liver/comments/commentRss/279309.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/liver/services/trackbacks/279309.html</trackback:ping><description><![CDATA[<span style="color: #0000ff">一、配¾|®JNDI数据æº?/span><br /> ˜q™ä¸€æ­¥æœ‰å‡ ç§é…ç½®æ–¹å¼åQŒæ¯”如直接修改Tomcat/conf/server.xmlæ–‡äšgåQŒä½†˜q™æ ·ä¿®æ”¹æ˜¯å…¨å±€çš„,个äh不太喜欢˜q™æ ·çš„æ–¹å¼ï¼Œæœ¬ç€çš„原则是能不全局ž®×ƒ¸å…¨å±€åQŒä»¥ä¿è¯™å¹ç›®èƒ½å¤Ÿž®½é‡ž®‘的影响到其他项目,ž®½é‡ž®‘çš„˜q›è¡Œä¿®æ”¹ã€‚因此这里才用局部配¾|®çš„æ–¹å¼ã€?br /> 把下边的代码保存为context.xmlæ–‡äšgåQŒåƈ攑ֈ°WebRoot/META-INF目录下ã€?br /> <font style="background-color: #cce8cf"> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #008000"><!--</span><span style="color: #008000"> æ ÒŽ®å®žé™…情况修改 </span><span style="color: #008000">--></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"><</span><span style="color: #800000">Context</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">Resource<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #ff0000">name</span><span style="color: #0000ff">="jdbc/test"</span><span style="color: #ff0000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        type</span><span style="color: #0000ff">="javax.sql.DataSource"</span><span style="color: #ff0000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        driverClassName</span><span style="color: #0000ff">="com.mysql.jdbc.Driver"</span><span style="color: #ff0000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        url</span><span style="color: #0000ff">="jdbc:mysql://localhost:3306/test"</span><span style="color: #ff0000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        username</span><span style="color: #0000ff">="root"</span><span style="color: #ff0000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        password</span><span style="color: #0000ff">="root"</span><span style="color: #0000ff">/></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff"></</span><span style="color: #800000">Context</span><span style="color: #0000ff">></span></div> </font><br /> <span style="color: #0000ff">二、编辑web.xmlæ–‡äšgåQŒåœ¨é‡Œè¾¹æ·ÕdР如䏋内容</span><br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">    </span><span style="color: #0000ff"><</span><span style="color: #800000">servlet</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">></span><span style="color: #000000">Test</span><span style="color: #0000ff"></</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">></span><span style="color: #000000">com.nantian.jndi.Test</span><span style="color: #0000ff"></</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">init-param</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span><span style="color: #0000ff"><</span><span style="color: #800000">param-name</span><span style="color: #0000ff">></span><span style="color: #000000">jndi</span><span style="color: #0000ff"></</span><span style="color: #800000">param-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />            </span><span style="color: #0000ff"><</span><span style="color: #800000">param-value</span><span style="color: #0000ff">></span><span style="color: #000000">java:comp/env/jdbc/test</span><span style="color: #0000ff"></</span><span style="color: #800000">param-value</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"></</span><span style="color: #800000">init-param</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">></span><span style="color: #000000">0</span><span style="color: #0000ff"></</span><span style="color: #800000">load-on-startup</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">servlet</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"><</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">></span><span style="color: #000000">Test</span><span style="color: #0000ff"></</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />        </span><span style="color: #0000ff"><</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000">/Test</span><span style="color: #0000ff"></</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" />    </span><span style="color: #0000ff"></</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">></span></div> <br /> <br /> <span style="color: #0000ff">三、最后就是测试配¾|®æ˜¯å¦æˆåŠŸäº†</span><br /> 新徏一个Servletæ–‡äšgTest.javaåQŒå†™ä¸‹å¦‚下内å®?br /> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">package</span><span style="color: #000000"> com.nantian.jndi;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.sql.Connection;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> java.sql.SQLException;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.naming.Context;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.naming.InitialContext;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.naming.NamingException;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.ServletConfig;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.ServletException;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServlet;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.sql.DataSource;<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align="top" /><br /> <img id="Codehighlighter1_370_780_Open_Image" onclick="this.style.display='none'; Codehighlighter1_370_780_Open_Text.style.display='none'; Codehighlighter1_370_780_Closed_Image.style.display='inline'; Codehighlighter1_370_780_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_370_780_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_370_780_Closed_Text.style.display='none'; Codehighlighter1_370_780_Open_Image.style.display='inline'; Codehighlighter1_370_780_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Test </span><span style="color: #0000ff">extends</span><span style="color: #000000"> HttpServlet </span><span id="Codehighlighter1_370_780_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_370_780_Open_Text"><span style="color: #000000">{<br /> <img id="Codehighlighter1_436_778_Open_Image" onclick="this.style.display='none'; Codehighlighter1_436_778_Open_Text.style.display='none'; Codehighlighter1_436_778_Closed_Image.style.display='inline'; Codehighlighter1_436_778_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_436_778_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_436_778_Closed_Text.style.display='none'; Codehighlighter1_436_778_Open_Image.style.display='inline'; Codehighlighter1_436_778_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> init(ServletConfig config) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> ServletException </span><span id="Codehighlighter1_436_778_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_436_778_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />        String jndi </span><span style="color: #000000">=</span><span style="color: #000000"> config.getInitParameter(</span><span style="color: #000000">"</span><span style="color: #000000">jndi</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> <img id="Codehighlighter1_493_666_Open_Image" onclick="this.style.display='none'; Codehighlighter1_493_666_Open_Text.style.display='none'; Codehighlighter1_493_666_Closed_Image.style.display='inline'; Codehighlighter1_493_666_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_493_666_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_493_666_Closed_Text.style.display='none'; Codehighlighter1_493_666_Open_Image.style.display='inline'; Codehighlighter1_493_666_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span style="color: #0000ff">try</span><span style="color: #000000"> </span><span id="Codehighlighter1_493_666_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_493_666_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            Context ctx </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> InitialContext();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            DataSource ds </span><span style="color: #000000">=</span><span style="color: #000000"> (DataSource) ctx.lookup(jndi);<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            Connection conn </span><span style="color: #000000">=</span><span style="color: #000000"> ds.getConnection();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">˜qžæŽ¥èŽ·å–æˆåŠŸåQ?/span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">conn);<br /> <img id="Codehighlighter1_694_722_Open_Image" onclick="this.style.display='none'; Codehighlighter1_694_722_Open_Text.style.display='none'; Codehighlighter1_694_722_Closed_Image.style.display='inline'; Codehighlighter1_694_722_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_694_722_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_694_722_Closed_Text.style.display='none'; Codehighlighter1_694_722_Open_Image.style.display='inline'; Codehighlighter1_694_722_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (NamingException e) </span><span id="Codehighlighter1_694_722_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_694_722_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            e.printStackTrace();<br /> <img id="Codehighlighter1_747_775_Open_Image" onclick="this.style.display='none'; Codehighlighter1_747_775_Open_Text.style.display='none'; Codehighlighter1_747_775_Closed_Image.style.display='inline'; Codehighlighter1_747_775_Closed_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_747_775_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_747_775_Closed_Text.style.display='none'; Codehighlighter1_747_775_Open_Image.style.display='inline'; Codehighlighter1_747_775_Open_Text.style.display='inline';" alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (SQLException e) </span><span id="Codehighlighter1_747_775_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_747_775_Open_Text"><span style="color: #000000">{<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align="top" />            e.printStackTrace();<br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="color: #000000"><br /> <img alt="" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div> <br /> ˜q™æ ·ž®±å¯ä»¥äº†‹¹‹è¯•了,˜q™ä¸ªä¾‹å­˜qžæŽ¥çš„æ˜¯mysql数据库,别忘记添加mysql驱动的jar包。部¾|²å·¥½E‹ï¼Œ˜qè¡ŒTomcatåQŒåœ¨æœåŠ¡å™¨å¯åŠ¨çš„æ—¶å€™å°±å¯ä»¥çœ‹åˆ°System.out.println(<span style="color: #000000">"</span><span style="color: #000000">˜qžæŽ¥èŽ·å–æˆåŠŸåQ?/span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">conn);</span>˜q™æ¡è¯­å¥è¾“出的信息了ã€? <img src ="http://www.aygfsteel.com/liver/aggbug/279309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/liver/" target="_blank">Liver</a> 2009-05-31 22:59 <a href="http://www.aygfsteel.com/liver/archive/2009/05/31/279309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">ºÏ½­ÏØ</a>| <a href="http://" target="_blank">½çÊ×ÊÐ</a>| <a href="http://" target="_blank">ÔÆÃÎÏØ</a>| <a href="http://" target="_blank">Áú¿ÚÊÐ</a>| <a href="http://" target="_blank">ͳ·¬ÊÐ</a>| <a href="http://" target="_blank">ºìÔ­ÏØ</a>| <a href="http://" target="_blank">ÇàÍ­Ï¿ÊÐ</a>| <a href="http://" target="_blank">¸»ÑôÊÐ</a>| <a href="http://" target="_blank">×ÊÔ´ÏØ</a>| <a href="http://" target="_blank">°ÍÖÐÊÐ</a>| <a href="http://" target="_blank">Çø¡£</a>| <a href="http://" target="_blank">Îå´óÁ¬³ØÊÐ</a>| <a href="http://" target="_blank">Àö½­ÊÐ</a>| <a href="http://" target="_blank">ÎäÍþÊÐ</a>| <a href="http://" target="_blank">ÀíÌÁÏØ</a>| <a href="http://" target="_blank">»¨Ô«ÏØ</a>| <a href="http://" target="_blank">»³Ô¶ÏØ</a>| <a href="http://" target="_blank">°ÍÀï</a>| <a href="http://" target="_blank">Î÷ÇàÇø</a>| <a href="http://" target="_blank">Ë«°ØÏØ</a>| <a href="http://" target="_blank">ÐÂÃÜÊÐ</a>| <a href="http://" target="_blank">ÚüÖÝÊÐ</a>| <a href="http://" target="_blank">¹±¸ÂÏØ</a>| <a href="http://" target="_blank">Í©°ØÏØ</a>| <a href="http://" target="_blank">ÑγØÏØ</a>| <a href="http://" target="_blank">¾¸°²ÏØ</a>| <a href="http://" target="_blank">±ö´¨ÏØ</a>| <a href="http://" target="_blank">Õã½­Ê¡</a>| <a href="http://" target="_blank">Õò¿µÏØ</a>| <a href="http://" target="_blank">°åÇÅÊÐ</a>| <a href="http://" target="_blank">Û°³ÇÏØ</a>| <a href="http://" target="_blank">äØÌ¶ÏØ</a>| <a href="http://" target="_blank">ÓÀÊÙÏØ</a>| <a href="http://" target="_blank">´óÃûÏØ</a>| <a href="http://" target="_blank">ÒÁ½ð»ôÂåÆì</a>| <a href="http://" target="_blank">ÇúË®ÏØ</a>| <a href="http://" target="_blank">ÎâÆìÏØ</a>| <a href="http://" target="_blank">ÎÂËÞÏØ</a>| <a href="http://" target="_blank">Âí¹ØÏØ</a>| <a href="http://" target="_blank">ÃáÄþÏØ</a>| <a href="http://" target="_blank">ºâÉ½ÏØ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>