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¼ÓÃܺÍÊý×ÖÇ©ÃûµÄÏà¹ØÄÚÈÝ£¬ÎÒѧϰµÄ¹ý³Ì´ó¸Å·ÖÎå²½£º
1£©ÏûÏ¢ÕªÒª
2£©Ë½Ô¿¼ÓÃÜ
3£©¹«Ô¿¼ÓÃÜ
4£©Êý×ÖÇ©Ãû
5£©Êý×ÖÖ¤Êé
ÏÂÃæµÄ´úÂëÊǵÚËIJ¿·Ö£ºÊý×ÖÇ©Ãû
Ï£ÍûÄÜΪ¸Õ¸Õ½Ó´¥Õâ¸öµÄÅóÓÑÃÇÊ¡µãÊ package security;
import java.security.Signature;
import java.security.KeyPairGenerator ......
import java.util.concurrent.Semaphore;
/**
* ³éÏóÈÎÎñ£¬¾ßÌåµÄÖ´ÐÐÈÎÎñ£¬¹éʵÏÖÀฺÔð
*
* @author Administrator
*
*/
public abstract class Task {
public abstract void run();
private Semaphore s;
private boolean hasExisted = false;
public void P(final Semaphore s) throws Interrupt ......
JavaÖеĴúÀí¼¼Êõ
ÒÔǰ·¢¹ýÒ»±éblog½²µ½ÁË´úÀí¼¼Êõ£¬·¢ÏÖÀí½âÓÐЩ´íÎó£¬×î½üÓÐÓÖÁËЩеÄÀí½â£¬×ܽáÒ»ÏÂ
´úÀí¼¼Êõ¿ÉÒÔ·ÖΪstatic proxyºÍdynamic proxy£¬Á½ÖÖ´úÀí¼¼ÊõÓÃ;Ҳ²»Í¬
static proxy ÓõĽÏÉÙ£¬ÒòΪÿ´úÀíÒ»¸ö¶ÔÏ󣬶¼ÐèÒª´´½¨Ò»¸ö´úÀíÀ࣬ÏÔÈ»²»ÊÇÎÒÃÇËùÆÚÍûµÄ
dynamic proxyÔòÓõıȽϹ㷺£¬ÒòΪ²»ÐèÒªÉú³É´ ......
Õâ¸öÔÔòºÜ¼òµ¥£¬¾ÍÊÇʹÓÃ˽Óй¹Ô캯Êý·ÀÖ¹À౻ʵÀý»¯¡£ ÓÐʱ£¬ÎÒÃÇ»áдһЩ¹¤¾ßÀ࣬Èçjava.lang.Math »òÊÇ java.util.Arrays, ÕâЩÀàÖж¼ÊǾ²Ì¬º¯Êý£¬ÔÚÉè¼ÆµÄʱºò£¬ÕâЩÀಢ²»ÊÇÓÃÀ´±»ÊµÀý»¯µÄ¡£Õâ¸öʱºò£¬¾ÍºÜÓбØÒª°Ñ¹¹Ô캯Êý˽Óл¯¡£ public class UtilityClass {
private UtilityClass() {
throw ne ......
±àÕß°´£º¶ÔJavaÉçÇøÀ´Ëµ,2009ÄêÊÇÒ»¸ö¶àÊÂÖ®Ä꣺OracleµÄÊÕ¹º´øÀ´Ï£Íûµ«¸ü¶àµÄÊǵ£ÓÇ£»¶ÔJava7µÄ½¹¼±µÈ´ý£»¶ÔÊÇ·ñÐèÒª±Õ°üµÄ³Ö
ÐøÕùÒ飻ÆäËûÊÕ¹º¶Ô¿ªÔ´ÉçÇøµÄÓ°Ïì±¾ÎÄÔ×÷ÕßJames SugrueÁªºÏJavaÉçÇøµÄÆäËûÈýλºËÐÄ¿ª·¢Õß¶Ô2009ÄêµÄJava½øÐÐÁËÅ̵㡣
James SugrueÊÇJavaLobbyºÍEclipseZoneµÄ±à¼£¬Ò»Î»Eclipse¿ª·¢Õߣ¬Jav ......