Java Web·þÎñÖ®¡°´ÓWSDLÎĵµÖÐÉú³É¿Í»§¶ËÖ§³Ö´úÂ롱
±¾ÎĽÚÑ¡×Ô¡¶Java Web·þÎñ£º¹¹½¨ÓëÔËÐС·2.1.1½Ú
´ÓWSDLÎĵµÖÐÉú³É¿Í»§¶ËÖ§³Ö´úÂ루Generating Client-Support Code from a WSDL£©
ͨ¹ýJavaÌṩµÄ“wsimport”¹¤¾ß¿ÉÒÔºÜÈÝÒ×Íê³É»ùÓÚSOAPÐÒéµÄWeb·þÎñ¿Í»§¶ËÉú³É¹¤×÷¡£Õâ¸ö¹¤¾ß¿ÉÒÔ´Ó¶ÔÓ¦µÄWSDLÎĵµµÄ·þÎñÃèÊöÖÐÉú³É¿Í»§¶ËÖ§³Ö´úÂë»òÆäËûÏà¹Ø×ÊÔ´¡£ÊäÈë²¢Ö´ÐÐÈçÏÂÃüÁ
% wsimport
Ö´Ðк󣬽«»á´òÓ¡³ö¸ÃÃüÁî³ÌÐòµÄʹÓðïÖú¡£ÏÂÃæÎÒÃǽ«Í¨¹ý´ËÃüÁ¾ßΪTimeServer·þÎñ²úÉú¿Í»§¶Ë¿ª·¢µÄÏà¹ØÖ§³Ö´úÂë¡£
Æô¶¯ch01.ts.TimeServerPublisher³ÌÐòºó£¬Ö´ÐÐÈçÏÂÃüÁ
% wsimport -keep -p client http://localhost:9876/ts?wsdl
Ö´Ðк󽫻áÔÚ“client”×ÓĿ¼ÏÂÃæ²úÉúÁ½¸öÔ´´úÂëÎļþºÍÁ½¸öÓëÖ®¶ÔÓ¦µÄÒѾ±àÒëºÃµÄClassÎļþ¡£ÃüÁîÐÐ×îºóÃæµÄURLµØÖ·£¬ºÍÇ°Ãæ×î³õÓÉPerl¡¢RubyºÍJavaÓïÑÔ±àдµÄ¿Í»§¶ËÇëÇóWeb·þÎñ¶ÔÓ¦µÄWSDLÎĵµÊ±Ëù¸ø³öµÄ·þÎñÆõÔ¼µØÖ·Ò»Ñù¡£“-p”Ñ¡ÏîÓÃÀ´Ö¸¶¨Éú³ÉµÄJava°üÃû³Æ£¬´Ë´¦Ê¹ÓÓclient”×÷Ϊ°üÃû³Æ¡£°üÃû³Æ¿ÉÒÔÊÇ·ûºÏJava°üÃüÃû¹æÔòµÄÈκÎÃû³Æ£¬wsimport¹¤¾ßͨ¹ýÖ¸¶¨µÄ°üÃû³Æ´´½¨°ü¶ÔÓ¦×ÓĿ¼¡£“-keep”Ñ¡ÏîÓÃÀ´Ö¸Ê¾ÊÇ·ñ±£Áô±àÒëºóµÄÔ´Îļþ£¬Õâ¸öÀý×ÓÖУ¬ÎÒÃDZ£ÁôÔ´ÎļþÁô×÷ÑéÖ¤¡£“-p”Ñ¡ÏîÊDZȽÏÖØÒªµÄ£¬ÕâÊÇÓÉÓÚwsimportÃüÁî²úÉúµÄTimeServer.classÎļþÃû³ÆÍ¬ÏÈǰ±àÒëµÄ·þÎñ¶Ëµã½Ó¿Ú£¨SEI£¬Service Endpoint Interface£©ÓµÓÐͬÑùµÄÃû×Ö¡£Èç¹ûûÓÐÖ¸¶¨°üÃû³Æ£¬wsimportĬÈÏʹÓ÷þÎñʵÏֵİüÃû³Æ×÷Ϊ¿Í»§¶Ë´úÂë°üÃû³Æ£¬´Ë´¦½«»áĬÈÏʹÓÓch01.ts”×÷Ϊ°üÃû³Æ¡£¼òµ¥À´Ëµ£¬Ê¹ÓÓ-p”Ñ¡Ïî¿ÉÒÔ·ÀÖ¹±àÒëºÃµÄSEIÎļþ²»±»wsimport¹¤¾ß²úÉúµÄÎļþ¸²¸Ç¡£Èç¹ûÒѾ½«WSDLÎĵµ±£´æÔÚ±¾µØ£¨±ÈÈ磬Îļþ±»ÃüÃûΪts.wsdl£©£¬ÄÇô£¬wsimport¿ÉÒÔд³É£º
% wsimport -keep -p client ts.wsdl
ʾÀý2-2ºÍʾÀý2-3ÊÇÓÉwsimportËùÉú³ÉµÄÁ½¸öJavaÔ´Îļþ£¬²»¹ýÕâÀïɾ³ýÁËwsimport¹¤¾ßÉú³ÉµÄ×¢ÊÍÄÚÈÝ¡£
ʾÀý2-2£ºÓÉwsimportÉú³ÉµÄTimeServer·þÎñ½Ó¿Ú
package client;
import javax.jws.WebMethod;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService(name = "TimeServer", targetNamespace = "http://ts.ch01/")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface TimeServer {
@WebMetho
Ïà¹ØÎĵµ£º
Person p=new Person();
ÕâÊÇʲô?µ±È»ÊÇʵÀý»¯Ò»¸ö¶ÔÏóÁË.¿ÉÊÇÕâÖÖʵÀý»¯¶ÔÏóµÄ·½·¨´æÔÚÒ»¸öÎÊÌâ,ÄǾÍÊDZØÐëÒªÖªµÀÀàÃû²Å¿ÉÒÔʵÀý»¯ËüµÄ¶ÔÏó,ÕâÑùÎÒÃÇÔÚÓ¦Ó÷½Ãæ¾Í»áÊܵ½ÏÞÖÆ.ÄÇôÓÐûÓÐÕâÑùÒ»ÖÖ·½Ê½,ÈÃÎÒÃDz»ÖªµÀÕâ¸öÀàµÄÀàÃû¾Í¿ÉÒÔʵÀý»¯ËüµÄ¶ÔÏóÄØ?Thank Goodness!ÐÒ¿÷ÎÒÃÇÓõÄÊÇjava, java¾ÍÌṩÁËÕâÑùµÄ»úÖÆ.
1).ja ......
(1) transient:
Èç¹ûÓÃtransientÉùÃ÷Ò»¸öʵÀý±äÁ¿£¬µ±¶ÔÏó´æ´¢Ê±£¬ËüµÄÖµ²»ÐèҪά³Ö¡£ÀýÈ磺
class T
{
transient int a; //²»ÐèҪά³Ö
int b; //ÐèҪά³Ö
} //ÕâÀÈç¹ûTÀàµÄÒ»¸ö¶ÔÏóдÈëÒ»¸ö³Ö¾ÃµÄ´æ´¢ÇøÓò£¬aµ ......
MonoRailÊǾµäµÄMVCģʽ,ËùÒÔÆäÖÐÒ²¾ßÓÐÈý¸öÔªËØModel,Controller,View,ÆäÖÐMonoRailÊÇͨ¹ýUrlµØÖ·À´½âÎö
ÏàÓ¦µÄ²Ù×÷µÄ,Èçµ±Äã·ÃÎÊ:/home/index.rail,¶ÔÓ¦»áÖ´ÐÐHomeControllerÀàÖеÄIndex·½·¨,¶øÇÒ¿ÉÒÔ×Ô¶¯°ó¶¨²ÎÊýºÍ
RequestµÄÊý¾Ý,Èç·ÃÎÊ:/home/index.rail?id=1,Äã¿ÉÒÔÔÚHomeControllerÀàÖеÄIndex·½·¨Öж¨ÒåÒ»¸ö²ÎÊý ......
JavaºÍÆäËûÓïÑÔ²»Í¬µÄÊÇ£¬JavaÊÇÔËÐÐÓÚJavaÐéÄâ»ú(JVM)¡£Õâ¾ÍÒâζ×űàÒëºóµÄ´úÂëÊÇÒÔ
Ò»ÖÖºÍÆ½Ì¨Î޹صĸñʽ±£´æµÄ£¬¶ø²»ÊÇijÖÖÌØ¶¨µÄ»úÆ÷ÉÏÔËÐеĸñʽ¡£ÕâÖÖ¸ñʽºÍ´«Í³µÄ¿É
Ö´ÐдúÂë¸ñʽÓкܶàÖØÒªµÄÇø±ð¡£¾ßÌåÀ´Ëµ£¬²»Í¬ÓÚC»òÕߣÃ++³ÌÐò£¬Java³ÌÐò²»ÊÇÒ»¸ö¶À
Á¢µÄ¿ÉÖ´ÐÐÎļ ......
ÎÒÃǾ³£ÏÂÔØ¿ªÔ´ÏîÄ¿µÄÔ´ÂëÔÚ±¾µØ±àÒë,ÊDz»ÊǾ³£±»Ò»¾ä"assert expression"¸ø¸ãµÃ±àÒë²»¹ýÈ¥£¬¾³£ÊÇÔÚÀϰ汾µÄjdk±àÒëÆ÷ÏÂû°ì·¨£¬ÏÂÃæ¾ÍÏò´ó¼ÒÍÆ¼öһƪÉîÈë·ÖÎöjava assertionµÄÎÄÕ¡£
Ò»¡¢assertionµÄÓï·¨ºÍÓïÒå
J2SE 1.4ÔÚÓïÑÔÉÏÌṩÁËÒ»¸öÐÂÌØÐÔ£¬¾ÍÊÇassertion(¶ÏÑÔ)¹¦ÄÜ£¬ËüÊǸð汾ÔÚJavaÓïÑÔ·½Ãæ×î´ ......