Java¿ª·¢WebServiceʵÀý ¼ÆÊýÆ÷
Ò»¡¢Ç°ÑÔ
±¾Îļٶ¨ÄãÓÐÒ»¶¨µÄJ2EE¿ª·¢¾Ñ飬Õâ¸ö½Ì³ÌûÓйý¶àµÄÉæ¼°»ù´¡ÖªÊ¶ºÍ¿ª·¢Ï¸½Ú¡£Èç¹ûÔÚÔĶÁ¹ý³Ì³öÓÐʲôÎÊÌ⣬»¹ÇëÓëÎÒÁªÏµ½»Á÷¡£
Èç¹ûʹÓÃGOOGLE¡¢BAIDUµÈËÑË÷¹¤¾ß£¬ËÑË÷WebServiceµÄÏà¹ØÖªÊ¶£¬¿ÉÒԲ鵽N¶àµÄÍøÒ³£¬ÎÒ¾ÍÊÇͨ¹ýÕâÐ©ÍøÒ³µÄѧϰ£¬Öð½¥ÕÆÎÕÁËЩWebServiceµÄÏà¹ØÖªÊ¶¡£ÕâÀï¶ÔÄÇЩÎÞ˽·îÏ×֪ʶµÄÈËÒ»²¢±íʾ¸Ðл¡£ ¡¡
¡¡ ÍøÉϹØÓÚWebServiceµÄÀý×Ó£¬¶àÊÇһЩ¼òµ¥µÃ²»ÄÜÔÙ¼òµ¥µÄhello worldµÄÀý×Ó£¬¼òµ¥µÃÒÔÖÁÓÚÄã¶ÔWebServiceûÓÐʲô¸Ð¾õ¡£ÓÐÁËWebServiceµÄ»ù±¾ÖªÊ¶ºó£¬ÎÒÒ»Ö±ÔÙÏ룬¿ÉÒÔ°ÑʲôÑùµÄ¼´¼òµ¥ÓÖʵÓõĶ«¶«×ö³ÉWebService£¬¿ªÕ¹Ê¾Ò»ÏÂÆä¹¦ÄÜÌØµã¡£½ñÌìÖÕÓÚÏëµ½Ò»¸ö£º¼ÆÊýÆ÷£¬¼ÆÊýÆ÷ÓõñȽ϶࣬¹¦ÄܱȽ϶ÀÁ¢£¬×ö³ÉWebService¿ÉÒÔÒ»ÀÍÓÀÒÝΪ²»Í¬ÏµÍ³£¨²»¹ÜÊÇJSP»¹ASP£¬ÕâÊÇWebServiceµÄÍ»³öÓŵ㣩¡¢²»Í¬Ó¦ÓýÚÊ¡´ËÀà±àÂ빤×÷£¬¿ÉÒÔ˵ÒÔºóÔÙÒ²²»ÓÃд¼ÆÊýÆ÷ÁË¡£Ö»ÒªÓþÍÐÐÁË¡£
˵ÁËÕâô¶à·Ï»°£¬ÏÂÃæÎÒÃÇ¿ªÊ¼¡£±¾½Ì³Ì½éÉÜÒ»ÏÂWebService»·¾³´î½¨¡¢·þÎñ²¿ÊðµÄÏà¹ØÖªÊ¶£¬È»ºó½éÉÜÒ»¸ö¼ÆÊýÆ÷µÄ¿ª·¢¡£
ÔËÐÐͼ£º
¶þ¡¢»ù´¡¹¤×÷
1.¿ª·¢»·¾³
¡¡¡¡ ÎÒʹÓÃaxis×öΪWeb ServiceÒýÇæ£¬ËüÊÇApacheµÄÒ»¸ö¿ªÔ´web serviceÒýÇæ¡£ËüĿǰ×îΪ³ÉÊìµÄ¿ªÔ´web serviceÒýÇæÖ®Ò»¡£ÏÂÃæÎÒÖ÷Òª½éÉÜÒ»ÏÂÈçºÎʹÓÃAxis´î½¨web service ·þÎñµÄ»·¾³¡£
¡¡¡¡ ¢Ù°²×°tomcat5.0Ó¦Ó÷þÎñÆ÷£¨Ò²¿ÉÒÔ×°5.5£¬²»¹ýÎÒÒ»Ö±ÔÚÓÃ5.0£©;
¡¡¡¡ ¢Ú½âѹÏÂÔØ£¨ http://ws.apache.org/Axis£©ºóµÄaxis°ü£¬½«°üÖÐaxisĿ¼¸´ÖƵ½tomcatĿ¼ÏµÄwebappsĿ¼Ï£»¡¡¡¡
¡¡¡¡ ¢Û½«axis/WEB-INF/libĿ¼ÏÂÀàÎļþ¸´ÖƵ½tomcatĿ¼ÏµÄcommon/libĿ¼Ï£»
¡¡¡¡ ¢ÜÖØÐÂÆô¶¯tomcat,·ÃÎÊhttp://localhost:8080/axis/happyaxis.jsp,Èç¹ûÄÜ·ÃÎÊ£¬±íʾ°²×°³É¹¦£»
¡¡¡¡×¢Ò⣬axisÓм¸¸ö¿ÉÑ¡µÄ°ü£¬Èçemail.jar....£¬Äã¿ÉÒÔÕÒÀ´·Åµ½tomcatĿ¼ÏµÄcommon/libĿ¼Ï£¬Èç¹û²»Ê¹ÓÃÏà¹ØµÄ¹¦ÄÜÒ²¿ÉÒÔ²»Óá£
¡¡¡¡ÕâÑù£¬¿ª·¢»·¾³¾Í´î½¨ºÃÁË¡£
2.ÈçºÎ²¿ÊðWeb Service
¡¡¡¡²¿ÊðÓÐÈýÖÖ·½Ê½£ºDynamic Invocation Interface(DII)¡¢Stubs·½Ê½¡¢Dynamic Proxy·½Ê½£»ÕâÀï¾Í½éÉÜһϼòµ¥£¬Ò²ÊÇÎÒʹÓõķ½Ê½£ºDII¡£
¡¡¡¡ DII·½Ê½ÖУ¬ÏÈдºÃ·þÎñµÄJAVAÎļþ£¨¼ÙÉèÃû×ÖΪhelloworld.java£©£¬È»ºó°ÑËü£¨×¢ÒâÊÇÔ´Îļþ£©¿½±´µ½webapps/axisĿ¼ÖУ¬ºó׺¸Ä³Éjws(´ËʱÎļþÃûΪ£ºhelloworld.jws)£¬È»ºó·ÃÎÊÁ¬½Óhttp://localhost:8080/Ax
Ïà¹ØÎĵµ£º
JavaÖеĴúÀí¼¼Êõ
ÒÔǰ·¢¹ýÒ»±éblog½²µ½ÁË´úÀí¼¼Êõ£¬·¢ÏÖÀí½âÓÐЩ´íÎó£¬×î½üÓÐÓÖÁËЩеÄÀí½â£¬×ܽáÒ»ÏÂ
´úÀí¼¼Êõ¿ÉÒÔ·ÖΪstatic proxyºÍdynamic proxy£¬Á½ÖÖ´úÀí¼¼ÊõÓÃ;Ҳ²»Í¬
static proxy ÓõĽÏÉÙ£¬ÒòΪÿ´úÀíÒ»¸ö¶ÔÏ󣬶¼ÐèÒª´´½¨Ò»¸ö´úÀíÀ࣬ÏÔÈ»²»ÊÇÎÒÃÇËùÆÚÍûµÄ
dynamic proxyÔòÓõıȽϹ㷺£¬ÒòΪ²»ÐèÒªÉú³É´ ......
1 ¾ÛºÏ
Ö»ÒªÀàÖнáºÏÁ˶ÔÏóµÄʵÀý£¬ÎÞÂÛ¸öÊý¶àÉÙ¶¼´æÔÚ ¾ÛºÏµÄ¹ØÏµ£¬
¾ÛºÏÊǹØÁªµÄÒ»ÖÖÌØÊâÐÎʽ£¬ËüÒâζ×ÅÒ»ÖÖÕûÌå / ²¿·Ö£¨ whole/part £©µÄ¹ØÏµ¡£
°×É«ÁâÐÎÖ±Ïß´ú±í¾ÛºÏµÄ¹ØÏµ ±íʾWhole ʹÓÃÁËPart
ÀàÖзÃÎÊ¿ØÖÆ
+´ú±í publicµÄÊôÐÔ ......
1.ÄãÐèÒª¾«Í¨ÃæÏò¶ÔÏó·ÖÎöÓëÉè¼Æ(OOA/OOD)¡¢É漰ģʽ(GOF£¬J2EEDP)ÒÔ¼°×ÛºÏģʽ¡£ÄãÓ¦¸ÃÊ®·ÖÁ˽âUML£¬ÓÈÆäÊÇclass£¬object£¬interactionÒÔ¼°statediagrams¡£
¡¡¡¡2.ÄãÐèҪѧϰJAVAÓïÑԵĻù´¡ÖªÊ¶ÒÔ¼°ËüµÄºËÐÄÀà¿â(collections£¬serialization£¬streams£¬networking£¬ multithreading ......
±àÕß°´£º¶ÔJavaÉçÇøÀ´Ëµ,2009ÄêÊÇÒ»¸ö¶àÊÂÖ®Ä꣺OracleµÄÊÕ¹º´øÀ´Ï£Íûµ«¸ü¶àµÄÊǵ£ÓÇ£»¶ÔJava7µÄ½¹¼±µÈ´ý£»¶ÔÊÇ·ñÐèÒª±Õ°üµÄ³Ö
ÐøÕùÒ飻ÆäËûÊÕ¹º¶Ô¿ªÔ´ÉçÇøµÄÓ°Ïì±¾ÎÄÔ×÷ÕßJames SugrueÁªºÏJavaÉçÇøµÄÆäËûÈýλºËÐÄ¿ª·¢Õß¶Ô2009ÄêµÄJava½øÐÐÁËÅ̵㡣
James SugrueÊÇJavaLobbyºÍEclipseZoneµÄ±à¼£¬Ò»Î»Eclipse¿ª·¢Õߣ¬Jav ......
ÔÚÆÊÎö¸ÃÎÊÌâǰÇë¿´ÈçÏ´úÂë
public static String bytes2HexString(byte[] b) {
String ret = "";
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[ i ] & 0xFF);
if (hex.length() == 1) {
hex = '0' ......