Java

±¾ÀàÔĶÁTOP10

¡¤Ê¹ÓÃMyEclipse¿ª·¢Struts¿ò¼ÜµÄHello World!(¼Ïñ1)
¡¤hibernateÅäÖñʼÇ
¡¤AOP±à³ÌÈëÃÅ--Javaƪ
¡¤linuxÏÂTomcat 5.0.20 Óë Apache 2 °²×°/¼¯³É/ÅäÖÃ
¡¤ÔÚwin2003ÏÂÕûºÏÁËÕûºÏTomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
¡¤¹¹½¨LinuxÏÂIDE»·¾³--Eclipseƪ
¡¤Jsp Á¬½Ó mySQL¡¢Oracle Êý¾Ý¿â±¸Íü(Windowsƽ̨)
¡¤ASP¡¢JSP¡¢PHP ÈýÖÖ¼¼Êõ±È½Ï
¡¤Tomcat5.5.9µÄ°²×°ÅäÖÃ
¡¤AWT GUI Éè¼Æ±Ê¼Ç(¶þ)

¡ú ·ÖÀർº½
VCÓïÑÔDelphi
VBÓïÑÔASP
PerlJava
ScriptÊý¾Ý¿â
ÆäËûÓïÑÔÓÎÏ·¿ª·¢
Îļþ¸ñÊ½ÍøÕ¾ÖÆ×÷
Èí¼þ¹¤³Ì.NET¿ª·¢
J2EE¼Ü¹¹µÄ6¸ö×î¼Ñʵ¼ù

×÷ÕߣºÎ´Öª À´Ô´£ºÔ¹âÈí¼þÕ¾ ¼ÓÈëʱ¼ä£º2005-6-5¡¡Ô¹âÈí¼þÕ¾

--ÀûÓø߼¶J2EE×î¼Ñʵ¼ùÀ´¸ÄÉÆÏÖÓкͽ«À´µÄJ2EEÓ¦ÓóÌÐòµÄ¼Ü¹¹ºÍÉè¼Æ   
 
×÷ÕߣºTarak Modi 
 
 
¡¡¡¡ËäÈ»Ðí¶àÎÄÕÂÔø¾­ÌÖÂÛ¹ýJ2EE×î¼Ñʵ¼ù¡£ÄÇô£¬ÎªÊ²Ã´ÎÒ»¹ÒªÔÙдһƪÎÄÕÂÄØ£¿±¾Îľ¿¾¹ÓëÒÔǰµÄÎÄÕÂÓкβ»Í¬»òÕß˵±ÈÆäËûÎÄÕºÃÔÚÄÄÄØ£¿
¡¡¡¡Ê×ÏÈ£¬±¾ÎĵÄÄ¿±ê¶ÁÕßÊÇÕýÔÚ´Óʼ¼Êõ¹¤×÷µÄ¼Ü¹¹Ê¦¡£ÎªÁ˱ÜÃâÀË·Ñ´ó¼ÒµÄ²ÅÖÇ£¬ÎÒ»á±ÜÃâ½²ÊöһЩ³Â¸¯µÄ×î¼Ñʵ¼ù£¬ÀýÈç“ÈÕ³£¹¹½¨£¨build daily£©”¡¢“²âÊÔÒ»ÇУ¨test everything£©”ºÍ“¾­³£¼¯³É£¨ integrate often£©¡£ ÈκξßÓгÆÖ°¼Ü¹¹Ê¦µÄÏîÄ¿¶¼Óзֹ¤Ã÷È·µÄ¡¢¶¨ÒåÁ¼ºÃµÄÍŶӽṹ¡£ËûÃÇ»¹Îª½øÐбàÂë¼ì²é¡¢¹¹½¨´úÂ루ÿÈÕ»òÔÚÐèҪʱ£©¡¢½øÐвâÊÔ£¨µ¥Ôª¡¢¼¯³ÉºÍϵͳµÄ£©¡¢²¿ÊðºÍÅäÖÃ/ÊͷŹÜÀí¶ø¾ß±¸ÒѼǼµÄ¹ý³Ì¡£
¡¡¡¡Æä´Î£¬ÎÒ½«Ìø¹ýͨ³£´µÅõµÄ×î¼Ñʵ¼ù£¬ÀýÈç“»ùÓÚ½Ó¿ÚµÄÉè¼Æ”¡¢“ʹÓÃÖøÃûµÄÉè¼ÆÄ£ÐÍ”ÒÔ¼°“ʹÓÃÃæÏò·þÎñµÄ¼Ü¹¹”µÈ¡£Ïà·´£¬ÎÒ½«¼¯Öн²ÊöÎÒÔøÑ§¹ý²¢ÇÒʹÓÃÁËÈô¸ÉÄêµÄ6£¨²»ÊǺࣩܶ¸ö·½ÃæµÄin-the-trench¿Î³Ì¡£×îºó£¬±¾ÎĵÄÄ¿µÄÊÇÈÃÄú˼¿¼Ò»ÏÂ×Ô¼ºµÄ¼Ü¹¹£¬Ìṩ¹¤×÷´úÂëʾÀý»òÕß½â¾ö·½°¸³¬³öÁ˱¾Îĵķ¶Î§¡£ÏÂÃæ¾ÍÈÃÎÒ½éÉÜÒ»ÏÂÕâ6¿Î£º

µÚ1¿Î£ºÇÐÎðÈÆ¹ý·þÎñÆ÷¶ËÑéÖ¤
¡¡¡¡×÷ΪһλÈí¼þ¹ËÎÊ£¬ÎÒÔøÓлú»á²»µ«Éè¼Æ²¢ÊµÏÖÁËWebÓ¦ÓóÌÐò£¬¶øÇÒ»¹ÆÀ¹À/ÉóºËÁËÐí¶àWebÓ¦ÓóÌÐò¡£ÔÚ¸´Ôӵġ¢²¢ÇÒÓÃJavaScript¿Í»§¶Ë·â×°µÄÓ¦ÓóÌÐòÄÚ£¬ÎÒ¾­³£Óöµ½¶ÔÓû§ÊäÈëÐÅÏ¢Ö´ÐдóÁ¿¼ì²éµÄWebÒ³Ãæ¡£¼´Ê¹HTMLÔªËØ¾ßÓÐÊý¾ÝÓÐЧÐÔµÄÊôÐÔÒ²Èç´Ë£¬ÀýÈçMAXLENGTH¡£Ö»ÓÐÔڳɹ¦ÑéÖ¤ËùÓÐÊäÈëÐÅÏ¢ºó£¬²ÅÄÜÌá½»HTML±íµ¥¡£½á¹û£¬Ò»µ©·þÎñÆ÷¶ËÊÕµ½Í¨Öª±íµ¥£¨ÇëÇ󣩣¬±ãÇ¡µ±µØÖ´ÐÐÒµÎñÂß¼­¡£
¡¡¡¡ÔÚ´Ë£¬Äú·¢ÏÖÎÊÌâÁËô£¿¿ª·¢ÈËÔ±ÒѾ­×öÁËÐí¶àÖØÒªµÄ¼ÙÉè¡£ÀýÈ磬ËûÃǼÙÉèËùÓеÄWebÓ¦ÓóÌÐòÓû§¶¼Í¬Ñù³Ïʵ¡£¿ª·¢ÈËÔ±»¹¼ÙÉèËùÓÐÓû§½«×ÜÊÇʹÓÃËûÃDzâÊÔ¹ýµÄä¯ÀÀÆ÷·ÃÎÊWebÓ¦ÓóÌÐò¡£»¹ÓкܶàÆäËûµÄ¼ÙÉè¡£ÕâЩ¿ª·¢ÈËÔ±Íü¼ÇÁËÀûÓÿÉÒÔÃâ·ÑµÃµ½µÄ¹¤¾ß£¬Í¨¹ýÃüÁîÐкÜÈÝÒ×µØÄ£ÄâÀàËÆä¯ÀÀÆ÷µÄÐÐΪ¡£ÊÂʵÉÏ£¬Í¨¹ýÔÚä¯ÀÀÆ÷´°¿ÚÖмüÈëÊʵ±µÄURL£¬Äú¿ÉÒÔ·¢ËÍÈκΓposted”±íµ¥£¬¾¡¹ÜÈç´Ë£¬Í¨¹ý½ûÓÃÕâÐ©Ò³ÃæµÄGETÇëÇó£¬ÄúºÜÈÝÒ×µØ×èÖ¹ÕâÑùµÄ“±íµ¥·¢ËÍ”¡£µ«ÊÇ£¬Äú²»ÄÜ×èÖ¹ÈËÃÇÄ£ÄâÉõÖÁ´´½¨ËûÃÇ×Ô¼ºµÄä¯ÀÀÆ÷À´ÈëÇÖÄúµÄϵͳ¡£
¸ù±¾µÄÎÊÌâÔÚÓÚ¿ª·¢ÈËÔ±²»ÄÜÈ·¶¨¿Í»§¶ËÑéÖ¤Óë·þÎñÆ÷¶ËÑéÖ¤µÄÖ÷Òª²î±ð¡£Á½ÕßµÄÖ÷Òª²î±ð²»ÔÚÓÚÑéÖ¤¾¿¾¹·¢ÉúÔÚÄÄÀÀýÈçÔÚ¿Í»§¶Ë»òÕßÔÚ·þÎñÆ÷¶Ë¡£Ö÷ÒªµÄ²î±ðÔÚÓÚÑéÖ¤±³ºóµÄÄ¿µÄ²»Í¬¡£
¡¡¡¡¿Í»§¶ËÑéÖ¤½ö½öÊÇ·½±ã¡£Ö´ÐÐËü¿ÉΪÓû§Ìṩ¿ìËÙ·´À¡??ʹӦÓóÌÐòËÆºõ×ö³öÏìÓ¦£¬¸øÈËÒ»ÖÖÔËÐÐ×ÀÃæÓ¦ÓóÌÐòµÄ´í¾õ¡£
¡¡¡¡ÁíÒ»·½Ã棬·þÎñÆ÷¶ËÑéÖ¤Êǹ¹½¨°²È«WebÓ¦ÓóÌÐò±ØÐèµÄ¡£²»¹ÜÔÚ¿Í»§¶ËÒ»²àÊäÈëµÄÊÇʲô£¬Ëü¿ÉÒÔÈ·±£¿Í»§¶ËËÍÍù·þÎñÆ÷µÄËùÓÐÊý¾Ý¶¼ÊÇÓÐЧµÄ¡£
¡¡¡¡Òò¶ø£¬Ö»ÓзþÎñÆ÷¶ËÑéÖ¤²Å¿ÉÒÔÌá¹©ÕæÕýÓ¦ÓóÌÐò¼¶µÄ°²È«¡£Ðí¶à¿ª·¢ÈËÔ±ÏÝÈëÁË´íÎó¸Ð¾õµÄȦÌ×£ºÖ»ÓÐÔÚ¿Í»§¶Ë½øÐÐËùÓÐÊý¾ÝµÄÑéÖ¤²ÅÄÜÈ·±£°²È«¡£ÏÂÃæÊÇ˵Ã÷´Ë¹ÛµãµÄÒ»¸ö³£¼ûµÄʾÀý£º
¡¡¡¡Ò»¸öµäÐ͵ĵÇÂ¼Ò³ÃæÓµÓÐÒ»¸öÓÃÀ´ÊäÈëÓû§ÃûµÄÎı¾¿òºÍÒ»¸öÊäÈëÃÜÂëµÄÎı¾¿ò¡£ÔÚ·þÎñÆ÷¶Ë£¬Ä³ÈËÔÚ½ÓÊÕservletÖпÉÄÜÓöµ½Ò»Ð©´úÂ룬ÕâЩ´úÂë¹¹³ÉÁËÏÂÃæÐÎʽµÄSQL²éѯ£º
"SELECT * FROM SecurityTable WHERE username = '" + form.getParameter("username") + "' AND password = '" + form.getParameter("password") + "';"£¬²¢Ö´ÐÐÕâЩ´úÂë¡£Èç¹û²éѯÔÚ½á¹û¼¯µÄijһÐзµ»Ø£¬ÔòÓû§µÇ¼³É¹¦£¬·ñÔòÓû§µÇ¼ʧ°Ü¡£
¡¡¡¡µÚÒ»¸öÎÊÌâÊǹ¹ÔìSQLµÄ·½Ê½£¬µ«ÏÖÔÚÈÃÎÒÃÇÔÝʱºöÂÔËü¡£Èç¹ûÓû§ÔÚÓû§ÃûÖÐÊäÈë“Alice'--”»áÔõÑùÄØ£¿¼ÙÉèÃûΪ“Alice”µÄÓû§ÒѾ­ÔÚSecurityTableÖУ¬Õâʱ´ËÓû§£¨¸üÇ¡µ±µÄ˵·¨ÊǺڿͣ©³É¹¦µØµÇ¼¡£ÎÒ½«°ÑÕÒ³öΪʲô»á³öÏÖÕâÖÖÇé¿öµÄÔ­Òò×öΪÁô¸øÄúµÄÒ»µÀϰÌâ¡£
¡¡¡¡Ðí¶à´´ÔìÐԵĿͻ§¶ËÑéÖ¤¿ÉÒÔ×èÖ¹Ò»°ãµÄÓû§´Óä¯ÀÀÆ÷ÖÐÕâÑùµÇ¼¡£µ«¶ÔÓÚÒѾ­½ûÓÃÁËJavaScriptµÄ¿Í»§¶Ë£¬»òÕßÄÇЩÄܹ»Ê¹ÓÃÆäËûÀàËÆä¯ÀÀÆ÷³ÌÐòÖ±½Ó·¢ËÍÃüÁHTTP POSTºÍGETÃüÁµÄ¸ß¼¶Óû§£¨»òÕß˵ºÚ¿Í£©À´Ëµ£¬ÎÒÃÇÓÖÓÐʲô°ì·¨ÄØ£¿·þÎñÆ÷¶ËÑéÖ¤ÊÇ·ÀÖ¹ÕâÖÖ©¶´ÀàÐÍËù±ØÐëµÄ¡£Õâʱ£¬SSL¡¢·À»ðǽµÈ¶¼Åɲ»ÉÏÓó¡ÁË¡£

µÚ2¿Î£º°²È«²¢·ÇÊǸ½¼ÓÎï
¡¡¡¡ÈçµÚ1¿ÎËùÊö£¬ÎÒÔøÓÐÐÒÑо¿¹ýÐí¶àWebÓ¦ÓóÌÐò¡£ÎÒ·¢ÏÖËùÓеÄJavaServer Page£¨JSP£©¶¼ÓÐÒ»¸ö¹²Í¬µÄÖ÷Ì⣬ÄǾÍÊǾßÓÐÀàËÆÏÂÃæÎ±´úÂëµÄ²¼¾Ö£º

<%
User user = 
session.getAttribute("User");
if(user == null)
{
// redirect to 
// the logon page…

if(!user.role.equals("manager"))
{
// redirect to the
// "unauthorized" page…
}
%>

<!-
HTML, JavaScript, and JSP
code to display data and
allow user interaction -->

¡¡¡¡Èç¹ûÏîĿʹÓÃÖîÈçStrutsÕâÑùµÄMVC¿ò¼Ü£¬ËùÓеÄAction Bean¶¼»á¾ßÓÐÀàËÆµÄ´úÂë¡£¾¡¹Ü×îºóÕâЩ´úÂë¿ÉÄÜÔËÐеúܺ㬵«Èç¹ûÄú·¢ÏÖÒ»¸öbug£¬»òÕßÄú±ØÐëÌí¼ÓÒ»¸öеĽÇÉ«£¨ÀýÈ磬“guest”»òÕß“admin”£©£¬Õâ¾Í»á´ú±íÒ»³¡Î¬»¤¶ñÃΡ£
¡¡¡¡´ËÍ⣬ËùÓеĿª·¢ÈËÔ±£¬²»¹ÜÄú¶àÄêÇᣬ¶¼ÐèÒªÊìϤÕâÖÖ±àÂëģʽ¡£µ±È»£¬Äú¿ÉÒÔÓÃһЩJSP±êÇ©À´ÕûÀíJSP´úÂ룬¿ÉÒÔ´´½¨Ò»¸öÇå³ýÅÉÉúAction BeanµÄ»ù±¾Action Bean¡£¾¡¹ÜÈç´Ë£¬ÓÉÓÚÓ밲ȫÏà¹ØµÄ´úÂë»á·Ö²¼µ½¶à¸öµØ·½£¬ËùÒÔά»¤Ê±µÄ¶ñÃÎÈԾɴæÔÚ¡£ÓÉÓÚWebÓ¦ÓóÌÐòµÄ°²È«ÊÇÇ¿ÆÈ½¨Á¢ÔÚÓ¦ÓóÌÐò´úÂëµÄ¼¶±ðÉÏ£¨Óɶà¸ö¿ª·¢ÈËÔ±£©£¬¶ø²»Êǽ¨Á¢Ôڼܹ¹¼¶±ðÉÏ£¬ËùÒÔWebÓ¦ÓóÌÐò»¹ÊǺܿÉÄÜ´æÔÚÈõµã¡£
¡¡¡¡ºÜ¿ÉÄÜ£¬¸ù±¾µÄÎÊÌâÊÇÔÚÏîÄ¿½Ó½üÍê³Éʱ²Å´¦Àí°²È«ÐÔÎÊÌâ¡£×î½ü×÷ΪһÃû¼Ü¹¹Ê¦£¬ÎÒÔøÔÚÒ»Äê¶àµÄʱ¼äÀïÇ×ÀúÁËijһҪʵÏÖÏîÄ¿µÄ6¸ö°æ±¾£¬¶øÖ±µ½µÚËİæÊ±ÎÒÃDzÅÌáµ½Á˰²È«ÐÔ??¼´Ê¹¸ÃÏîÄ¿»á½«¸ß¶ÈÃô¸ÐµÄ¸öÈËÊý¾Ý±©Â¶ÓÚWebÉÏ£¬ÎÒÃÇҲûÓÐ×¢Òâµ½°²È«ÐÔ¡£ÎªÁ˸ü¸Ä·¢²¼¼Æ»®£¬ÎÒÃǾíÈëÁËÓëÏîÄ¿×ÊÖúÈ˼°Æä¹ÜÀíÈËÔ±µÄÕù¶·ÖУ¬ÒÔ±ãÔÚµÚÒ»°æÖаüº¬ËùÓÐÓ밲ȫÏà¹ØµÄ¹¦ÄÜ£¬²¢½«Ò»Ð©“ÒµÎñ”¹¦ÄÜ·ÅÔÚºóÐøµÄ°æ±¾ÖС£×îÖÕ£¬ÎÒÃÇÓ®µÃÁËʤÀû¡£¶øÇÒÓÉÓÚÓ¦ÓóÌÐòµÄ°²È«ÐÔÏ൱¸ß£¬Äܹ»±£»¤¿Í»§µÄ˽ÓÐÊý¾Ý£¬ÕâÒ»µãÎÒÃÇÒýÒÔΪÈÙ£¬ÎÒÃǵĿͻ§Ò²·Ç³£¸ßÐË¡£
¡¡¡¡Òź¶µÄÊÇ£¬ÔÚ´ó¶àÊýÓ¦ÓóÌÐòÖУ¬°²È«ÐÔ¿´ÆðÀ´²¢Î´Ôö¼ÓÈκÎʵ¼ÊµÄÉÌÒµ¼ÛÖµ£¬ËùÒÔÖ±µ½×îºó²Å½â¾ö¡£·¢ÉúÕâÖÖÇé¿öʱ£¬ÈËÃDzŴÒæ¿ª·¢Ó밲ȫÏà¹ØµÄ´úÂ룬¶øË¿ºÁûÓп¼Âǽâ¾ö·½°¸µÄ³¤ÆÚ¿Éά»¤ÐÔ»òÕß½¡×³ÐÔ¡£ºöÊӸð²È«ÐÔµÄÁíÒ»¸öÕ÷Õ×ÊÇȱ·¦È«ÃæµÄ·þÎñÆ÷¶ËÑéÖ¤£¬ÈçÎÒÔÚµÚ1¿ÎÖÐËùÊö£¬ÕâÒ»µãÊǰ²È«WebÓ¦ÓóÌÐòµÄÒ»¸öÖØÒª×é³É²¿·Ö¡£
¡¡¡¡¼Çס£ºJ2EE WebÓ¦ÓóÌÐòµÄ°²È«ÐÔ²¢·Ç½ö½öÊÇÔÚWeb.xml ºÍejb-jar.xmlÎļþÖÐʹÓúÏÊʵÄÉùÃ÷£¬Ò²²»ÊÇʹÓÃJ2EE¼¼Êõ£¬ÈçJava ÈÏÖ¤ºÍÊÚȨ·þÎñ£¨Java Authentication and Authorization Service£¬JAAS£©¡£¶øÊǾ­¹ýÉî˼ÊìÂǺóµÄÉè¼Æ£¬ÇÒʵÏÖÒ»¸öÖ§³ÖËüµÄ¼Ü¹¹¡£

µÚ3¿Î£º¹ú¼Ê»¯£¨I18N£©²»ÔÙÊÇÖ½ÉÏ̸±ø 
¡¡¡¡µ±½ñÊÀ½çµÄÊÂʵÊÇÐí¶àÓ¢Óï·ÇĸÓïµÄÈËÃǽ«·ÃÎÊÄúµÄ¹«¹²WebÓ¦ÓóÌÐò¡£Ëæ×ŵç×ÓÕþÎñµÄʵÐУ¬ÓÉÓÚËüÔÊÐíÈËÃÇ£¨Ä³¸ö¹ú¼ÒµÄ¾ÓÃñ£©ÔÚÏßÓëÕþ¸®»ú¹¹½»»¥£¬ËùÒÔÕâÒ»µãÌØ±ðÕæÊµ¡£ÕâÑùµÄÀý×Ó°üÀ¨»»·¢¼ÝÕÕ»òÕß³µÁ¾µÇ¼ÇÖ¤¡£Ðí¶àµÚÒ»ÓïÑÔ²»ÊÇÓ¢ÓïµÄÈËÃǺܿÉÄܽ«·ÃÎÊÕâÑùµÄÓ¦ÓóÌÐò¡£¹ú¼Ê»¯£¨¼´£º“i18n”£¬ÒòΪÔÚ“internationalization”Õâ¸öµ¥´ÊÖУ¬×ÖĸiºÍ×ÖĸnÖ®¼äÒ»¹²ÓÐ18¸ö×Öĸ£©Ê¹µÃÄúµÄÓ¦ÓóÌÐòÄܹ»Ö§³Ö¶àÖÖÓïÑÔ¡£
¡¡¡¡ÏÔÈ»£¬Èç¹ûÄúµÄJSP Ò³ÃæÖÐÓÐÓ²±àÂëµÄÎı¾£¬»òÕßÄúµÄJava´úÂë·µ»ØÓ²±àÂëµÄ´íÎóÏûÏ¢£¬ÄÇôÄúÒª»¨·ÑºÜ¶àʱ¼ä¿ª·¢´ËWebÓ¦ÓóÌÐòµÄÎ÷°àÑÀÓï°æ±¾¡£È»¶ø£¬ÔÚWebÓ¦ÓóÌÐòÖУ¬ÎªÁËÖ§³Ö¶àÖÖÓïÑÔ£¬Îı¾²»ÊÇΩһ±ØÐ듾ßÌ廯”µÄ²¿·Ö¡£ÒòΪÐí¶àͼÏñÖÐǶÓÐÎÄ×Ö£¬ËùÒÔͼÐκÍͼÏñÒ²Ó¦¸ÃÊÇ¿ÉÅäÖõġ£ÔÚ¼«¶ËµÄÇé¿öÏ£¬Í¼Ïñ£¨»òÕßÑÕÉ«£©ÔÚ²»Í¬µÄÎÄ»¯±³¾°ÖпÉÄÜÓÐÍêÈ«²»Í¬µÄÒâ˼¡£ÀàËÆµØ£¬Èκθñʽ»¯Êý×ÖºÍÈÕÆÚµÄJava´úÂëÒ²±ØÐë±¾µØ»¯¡£µ«ÎÊÌâÊÇ£ºÄúµÄÒ³Ãæ²¼¾Ö¿ÉÄÜÒ²ÐèÒª¸ü¸Ä¡£
¡¡¡¡ÀýÈ磬Èç¹ûÄúʹÓ**TML±í¸ñÀ´¸ñʽ»¯ºÍÏÔʾ²Ëµ¥Ñ¡Ïî¡¢Ó¦ÓóÌÐòÌâÍ·»ò×¢½Å£¬ÔòÄú¿ÉÄܱØÐëΪÿһÖÖÖ§³ÖµÄÓïÑÔ¸ü¸ÄÿһÀ¸µÄ×îС¿í¶ÈºÍ±í¸ñÆäËû¿ÉÄܵķ½Ã档ΪÁËÊÊÓ¦²»Í¬µÄ×ÖÌåºÍÑÕÉ«£¬Äú¿ÉÄܱØÐëΪÿһÖÖÓïÑÔʹÓõ¥¶ÀµÄÑùʽ±í¡£
¡¡¡¡ÏÔÈ»£¬ÏÖÔÚ´´½¨Ò»¸ö¹ú¼Ê»¯µÄWebÓ¦ÓóÌÐòÃæÁÙµÄÊǼܹ¹ÌôÕ½¶ø²»ÊÇÓ¦ÓóÌÐò·½ÃæµÄÌôÕ½¡£Ò»¸ö¼Ü¹¹Á¼ºÃµÄWebÓ¦ÓóÌÐòÒâζ×ÅÄúµÄJSPÒ³ÃæºÍËùÓÐÓëÒµÎñÏà¹ØµÄ£¨Ó¦ÓóÌÐòÌØÓеģ©Java´úÂë¶¼²»Öª²»¾õµØÑ¡ÔñÁ˱¾µØ»¯¡£Òª¼ÇסµÄ½ÌѵÊÇ£º²»ÒªÒòΪJava¡¢J2EEÖ§³Ö¹ú¼Ê»¯¶ø²»¿¼Âǹú¼Ê»¯¡£Äú±ØÐë´ÓµÚÒ»ÌìÆð¾Í¼ÇסÉè¼Æ¾ßÓйú¼Ê»¯µÄ½â¾ö·½°¸¡£

µÚ4¿Î£ºÔÚMVC±íʾÖбÜÃ⹲ͬµÄ´íÎó 
¡¡¡¡J2EE¿ª·¢ÒѾ­×ã¹»³ÉÊ죬ÔÚ±íʾ²ã£¬´ó¶àÊýÏîĿʹÓÃMVC¼Ü¹¹µÄijЩÐÎʽ£¬ÀýÈçStruts¡£ÔÚÕâÑùµÄÏîÄ¿ÖУ¬ÎÒ³£¼ûµ½µÄÏÖÏóÊǶÔMVCģʽµÄÎóÓá£ÏÂÃæÊǼ¸¸öʾÀý¡£
¡¡¡¡³£¼ûµÄÎóÓÃÊÇÔÚÄ£ÐͲ㣨ÀýÈ磬ÔÚStrutsµÄAction BeanÖУ©ÊµÏÖÁËËùÓеÄÒµÎñÂß¼­¡£²»ÒªÍüÁË£¬±íʾ²ãµÄÄ£ÐͲãÈÔÈ»ÊDZíʾ²ãµÄÒ»²¿·Ö¡£Ê¹ÓøÃÄ£ÐͲãµÄÕýÈ··½·¨Êǵ÷ÓÃÊʵ±µÄÒµÎñ²ã·þÎñ£¨»ò¶ÔÏ󣩲¢½«½á¹û·¢Ë͵½ÊÓͼ²ã£¨view layer£©¡£ÓÃÉè¼ÆÄ£Ê½ÊõÓïÀ´Ëµ£¬MVC±íʾ²ãµÄÄ£ÐÍÓ¦¸Ã×÷ΪҵÎñ²ãµÄÍâ¹Û£¨Fa?ade£©À´ÊµÏÖ¡£¸üºÃµÄ·½·¨ÊÇ£¬Ê¹ÓúËÐÄJ2EEģʽ£¨Core J2EE Patterns£©ÖÐÂÛÊöµ½µÄBusiness Delegateģʽ¡£Õâ¶Î×ÔÊéÖÐժ¼µÄÄÚÈݾ«²ÊµØ¸ÅÊöÁ˽«ÄúµÄÄ£ÐÍ×÷ΪBusiness DelegateÀ´ÊµÏÖµÄÒªµãºÍÓŵ㣺
¡¡¡¡Business DelegateÆðµ½¿Í»§¶ËÒµÎñ³éÏ󻯵Ä×÷Óá£Ëü³éÏ󻯣¬½ø¶øÒþ²ØÒµÎñ·þÎñµÄʵÏÖ¡£Ê¹ÓÃBusiness Delegate£¬¿ÉÒÔ½µµÍ±íʾ²ã¿Í»§¶ËºÍϵͳµÄÒµÎñ·þÎñ.Ö®¼äµÄñîºÏ³Ì¶È¡£¸ù¾ÝʵÏÖ²ßÂÔ²»Í¬£¬Business Delegate¿ÉÒÔÔÚÒµÎñ·þÎñAPIµÄʵÏÖÖУ¬±£»¤¿Í»§¶Ë²»ÊÜ¿ÉÄܵı䶯ÐÔÓ°Ïì¡£ÕâÑù£¬ÔÚÒµÎñ·þÎñAPI»òÆäµ×²ãʵÏֱ仯ʱ£¬¿ÉÒÔDZÔڵؼõÉÙ±ØÐëÐ޸ıíʾ²ã¿Í»§¶Ë´úÂëµÄ´ÎÊý¡£
¡¡¡¡ÁíÒ»¸ö³£¼ûµÄ´íÎóÊÇÔÚÄ£ÐͲãÖзÅÖÃÐí¶à±íʾÀàÐ͵ÄÂß¼­¡£ÀýÈ磬Èç¹ûJSPÒ³ÃæÐèÒªÒÔÖ¸¶¨·½Ê½¸ñʽ»¯µÄÈÕÆÚ»òÕßÒÔÖ¸¶¨·½Ê½ÅÅÐòµÄÊý¾Ý£¬Ä³Ð©ÈË¿ÉÄܽ«¸ÃÂß¼­·ÅÖÃÔÚÄ£ÐͲ㣬¶Ô¸ÃÂß¼­À´Ëµ£¬ÕâÊÇ´íÎóµÄµØ·½¡£Êµ¼ÊÉÏ£¬ËüÓ¦¸ÃÔÚJSPÒ³ÃæÊ¹ÓõÄÒ»×éhelperÀàÖС£µ±ÒµÎñ²ã·µ»ØÊý¾Ýʱ£¬Action BeanÓ¦¸Ã½«Êý¾Ýת·¢¸øÊÓͼ²ã¡£ÕâÑù£¬ÎÞÐè´´½¨Ä£ÐͺÍÊÓͼ֮¼ä¶àÓàµÄñîºÏ£¬¾ÍÄܹ»Áé»îÖ§³Ö¶à¸öÊÓͼ²ã£¨JSP¡¢Velocity¡¢XMLµÈ£©¡£Ò²Ê¹ÊÓͼÄܹ»È·¶¨ÏòÓû§ÏÔʾÊý¾ÝµÄ×î¼Ñ·½Ê½¡£
¡¡¡¡×îºó£¬ÎÒ¼û¹ýµÄ´ó¶àÊýMVCÓ¦ÓóÌÐò¶¼ÓÐδ³ä·ÖÓ¦ÓõĿØÖÆÆ÷¡£ÀýÈ磬¾ø´ó¶àÊýµÄStrutsÓ¦ÓóÌÐò½«´´½¨Ò»¸ö»ù±¾µÄActionÀ࣬²¢Íê³ÉËùÓÐÓ밲ȫÏà¹ØµÄ¹¦ÄÜ¡£ÆäËûËùÓеÄAction Bean¶¼ÊÇ´Ë»ùÀàµÄÅÉÉúÀà¡£ÕâÖÖ¹¦ÄÜÓ¦¸ÃÊÇ¿ØÖÆÆ÷µÄÒ»²¿·Ö£¬ÒòΪÈç¹ûûÓÐÂú×㰲ȫÌõ¼þ£¬ÔòÊ×Ïȵ÷Óò»Ó¦¸Ãµ½´ïAction Bean£¨¼´£ºÄ£ÐÍ£©¡£¼Çס£¬Ò»¸öÉè¼ÆÁ¼ºÃµÄMVC¼Ü¹¹µÄ×îÇ¿´ó¹¦ÄÜÖ®Ò»ÊÇ´æÔÚÒ»¸ö½¡×³µÄ¡¢¿ÉÀ©Õ¹µÄ¿ØÖÆÆ÷¡£ÄúÓ¦¸ÃÀûÓøÃÄÜÁ¦ÒÔ¼ÓÇ¿×Ô¼ºµÄÓÅÊÆ¡£

µÚ5¿Î£º²»Òª±»JOPOÊø¸¿×¡ÊÖ½Å
¡¡¡¡ÎÒÔøÄ¿¶ÃÐí¶àÏîĿΪÁËʹÓÃEnterprise JavaBean¶øÊ¹ÓÃEnterprise JavaBean¡£ÒòΪEJBËÆºõ¸øÏîÄ¿´øÀ´ÓÅÔ½¸ÐºÍÍý×Ô×ð´óµÄ±íÏÖ£¬ËùÒÔÓÐʱËüÊÇÏÔ¿áµÄÒªËØ£¨coolness factor£©¡£¶øÆäËûʱºò£¬Ëü»áʹJ2EEºÍEJBÒýÆð»ìÏý¡£¼Çס£¬J2EEºÍEJB²»ÊÇͬÒâ´Ê¡£EJBÖ»ÊÇJ2EE µÄÒ»²¿·Ö£¬J2EE Êǰüº¬JSP¡¢servlet¡¢Java ÏûÏ¢·þÎñ£¨JMS£©¡¢JavaÊý¾Ý¿âÁ¬½Ó£¨JDBC£©¡¢JAAS¡¢ Java¹ÜÀíÀ©Õ¹£¨JMX£©ºÍEJBÔÚÄÚµÄһϵÁм¼Êõ£¬Í¬ÑùÒ²ÊÇÓйØÈçºÎ¹²Í¬Ê¹ÓÃÕâЩ¼¼Êõ½¨Á¢½â¾ö·½°¸µÄÒ»×éÖ¸µ¼Ô­ÔòºÍģʽ¡£
¡¡¡¡Èç¹ûÔÚ²»ÐèҪʹÓÃEJBµÄÇé¿öÏÂʹÓÃEJB£¬ËüÃÇ¿ÉÄÜ»áÓ°Ïì³ÌÐòµÄÐÔÄÜ¡£ÓëÀϵÄWeb·þÎñÆ÷Ïà±È£¬EJBÒ»°ã¶ÔÓ¦Ó÷þÎñÆ÷Óиü¶àµÄÐèÇó¡£EJBÌṩµÄËùÓÐÔöÖµ·þÎñÒ»°ãÐèÒªÏûºÄ¸ü´óµÄÄÚ´æºÍ¸ü¶àµÄCPUʱ¼ä¡£Ðí¶àÓ¦ÓóÌÐò²»ÐèÒªÕâЩ·þÎñ£¬Òò´ËÓ¦Ó÷þÎñÆ÷ÒªÓëÓ¦ÓóÌÐòÕù¶á×ÊÔ´¡£
¡¡¡¡ÔÚijЩÇé¿öÏ£¬²»±ØÒªµØÊ¹ÓÃEJB¿ÉÄÜʹӦÓóÌÐò±ÀÀ£¡£ÀýÈ磬×î½üÎÒÓöµ½ÁËÒ»¸öÔÚ¿ªÔ´Ó¦Ó÷þÎñÆ÷ÉÏ¿ª·¢µÄÓ¦ÓóÌÐò¡£ÒµÎñÂß¼­·â×°ÔÚһϵÁÐÓÐ״̬»á»°bean£¨EJB£©ÖС£¿ª·¢ÈËԱΪÁËÔÚÓ¦Ó÷þÎñÆ÷ÖÐÍêÈ«½ûÓÃÕâЩbeanµÄ“¶Û»¯”·ÑÁ˺ܴóµÄ¾¢¡£¿Í»§¶ËÒªÇóÓ¦ÓóÌÐò²¿ÊðÔÚijһÉÌÓÃÓ¦Ó÷þÎñÆ÷ÉÏ£¬¶ø¸Ã·þÎñÆ÷Êǿͻ§¶Ë¼¼ÊõÕ»µÄÒ»²¿·Ö¡£¸ÃÓ¦Ó÷þÎñÆ÷È´²»ÔÊÐí¹Ø±Õ“¶Û»¯”¹¦ÄÜ¡£ÊÂʵÉÏ£¬¿Í»§¶Ë²»Ïë¸Ä±äÓëÆäºÏ×÷µÄÓ¦Ó÷þÎñÆ÷µÄÉèÈκÎÖ᣽á¹û£¬¿ª·¢ÉÌÅöµ½Á˺ܴóµÄÂé·³¡££¨Ëƺõ£©ÓÐȤµÄÊÂÇéÊÇ¿ª·¢ÉÌ×Ô¼º¶¼²»Äܸø³öΪʲô½«´úÂëÓÃEJB£¨¶øÇÒ»¹ÊÇÓÐ״̬»á»°bean£©ÊµÏֵĺÃÀíÓÉ¡£²»½ö½öÊÇ¿ª·¢ÉÌ»áÓöµ½ÐÔÄÜÎÊÌ⣬ËûÃǵijÌÐòÔÚ¿Í»§ÄÇÀïÒ²ÎÞ·¨¹¤×÷¡£
¡¡¡¡ÔÚWebÓ¦ÓóÌÐòÖУ¬ÎÞ¸ñʽÆÕͨJava ¶ÔÏó£¨POJO£©ÊÇEJBÇ¿ÓÐÁ¦µÄ¾ºÕùÕß¡£POJOÊÇÇáÁ¿¼¶µÄ£¬²»ÏñEJBÄÇÑù¸ºµ£¶îÍâµÄ¸ºµ£¡£ÔÚÎÒ¿´À´£¬¶ÔÐí¶àEJBµÄÓŵ㣬ÀýÈç¶ÔÏóÈë³Ø£¬¹À¼Æ¹ý¸ß¡£POJOÊÇÄúµÄÅóÓÑ£¬²»Òª±»ËüÊø¸¿×¡Êֽš£

µÚ6¿Î£ºÊý¾Ý·ÃÎʲ¢²»ÄÜÍйÜO/RÓ³Éä 
¡¡¡¡ÎÒÔø²ÎÓë¹ýµÄËùÓÐWebÓ¦ÓóÌÐò¶¼ÏòÓû§Ìṩ´ÓÆäËûµØ·½´æÈ¡µÄÊý¾Ý£¬²¢ÇÒÒò´ËÐèÒªÒ»¸öÊý¾Ý·ÃÎʲ㡣Õâ²¢²»ÊÇ˵ËùÓеÄÏîÄ¿¶¼ÐèÒª±êʶ²¢½¨Á¢ÕâÑùÒ»¸ö²ã£¬Õâ½ö½ö˵Ã÷ÕâÑù²ãµÄ´æÔÚ²»ÊÇÒþº¬µÄ¾ÍÊÇÃ÷È·µÄ¡£Èç¹ûÊÇÒþº¬µÄÊý¾Ý²ã£¬Êý¾Ý²ãÊÇÒµÎñ¶ÔÏ󣨼´£ºÒµÎñ·þÎñ£©²ãµÄÒ»²¿·Ö¡£ÕâÊÊÓÃÓÚСÐÍÓ¦ÓóÌÐò£¬µ«Í¨³£Óë´óһЩÏîÄ¿Ëù½ÓÊܵļܹ¹Ö¸µ¼Ô­ÔòÏàµÖ´¥¡£
¡¡¡¡×ÜÖ®£¬Êý¾Ý·ÃÎÊ²ã±ØÐëÂú×ã»ò³¬³öÒÔÏÂËĸö±ê×¼£º
¡¡¡¡¾ßÓÐ͸Ã÷ÐÔ 
¡¡¡¡ÒµÎñ¶ÔÏóÔÚ²»ÖªµÀÊý¾ÝԴʵÏֵľßÌåϸ½ÚÇé¿öÏ£¬¿ÉÒÔʹÓÃÊý¾ÝÔ´¡£ÓÉÓÚʵÏÖϸ½ÚÒþ²ØÔÚÊý¾Ý·ÃÎʲãµÄÄÚ²¿£¬ËùÒÔ·ÃÎÊÊÇ͸Ã÷µÄ¡£
¡¡¡¡Ò×ÓÚÇ¨ÒÆ
¡¡¡¡Êý¾Ý·ÃÎʲãʹӦÓóÌÐòºÜÈÝÒ×Ç¨ÒÆµ½ÆäËûÊý¾Ý¿âʵÏÖ¡£ÒµÎñ¶ÔÏó²»Á˽âµ×²ãµÄÊý¾ÝʵÏÖ£¬ËùÒÔÇ¨ÒÆ½ö½öÉæ¼°µ½ÐÞ¸ÄÊý¾Ý·ÃÎʲ㡣½øÒ»²½µØËµ£¬Èç¹ûÄúÕýÔÚ²¿ÊðijÖÖ¹¤³§²ßÂÔ£¬Äú¿ÉÒÔΪÿ¸öµ×²ãµÄ´æ´¢ÊµÏÖÌṩ¾ßÌåµÄ¹¤³§ÊµÏÖ¡£Èç¹ûÊÇÄÇÑùµÄ»°£¬Ç¨ÒƵ½²»Í¬µÄ´æ´¢ÊµÏÖÒâζ×ÅΪӦÓóÌÐòÌṩһ¸öÐµĹ¤³§ÊµÏÖ¡£
¡¡¡¡¾¡Á¿¼õÉÙÒµÎñ¶ÔÏóÖдúÂ븴ÔÓÐÔ 
¡¡¡¡ÒòΪÊý¾Ý·ÃÎʲã¹ÜÀí×ÅËùÓеÄÊý¾Ý·ÃÎʸ´ÔÓÐÔ£¬ËùÒÔËü¿ÉÒÔ¼ò»¯ÒµÎñ¶ÔÏóºÍʹÓÃÊý¾Ý·ÃÎʲãµÄÆäËûÊý¾Ý¿Í»§¶ËµÄ´úÂë¡£Êý¾Ý·ÃÎʲ㣬¶ø²»ÊÇÒµÎñ¶ÔÏ󣬺¬ÓÐÐí¶àÓëʵÏÖÏà¹ØµÄ´úÂ루ÀýÈçSQLÓï¾ä£©¡£ÕâÑù¸ø¿ª·¢ÈËÔ±´øÀ´Á˸ü¸ßµÄЧÂÊ¡¢¸üºÃµÄ¿Éά»¤ÐÔ¡¢Ìá¸ßÁË´úÂëµÄ¿É¶ÁÐÔµÈһϵÁкô¦¡£
¡¡¡¡°ÑËùÓеÄÊý¾Ý·ÃÎʼ¯ÖÐÔÚµ¥¶ÀµÄ²ãÉÏ
¡¡¡¡ÓÉÓÚËùÓеÄÊý¾Ý·ÃÎʲÙ×÷ÏÖÔÚ¶¼Î¯ÍиøÊý¾Ý·ÃÎʲ㣬ËùÒÔÄú¿ÉÒÔ½«Õâ¸öµ¥¶ÀµÄÊý¾Ý·ÃÎʲ㿴×öÄܹ»½«Ó¦ÓóÌÐòµÄÆäËû²¿·ÖÓëÊý¾Ý·ÃÎÊʵÏÖÏ໥¸ôÀëµÄ²ã¡£ÕâÖÖ¼¯Öл¯¿ÉÒÔʹӦÓóÌÐòÒ×ÓÚά»¤ºÍ¹ÜÀí¡£
¡¡¡¡×¢Ò⣺ÕâЩ±ê×¼¶¼²»ÄÜÃ÷È·µØµ÷³ö¶ÔO/R£¨¶ÔÏóµ½¹ØÏµ£©Ó³Éä²ãµÄÐèÇó¡£O/RÓ³Éä²ãÒ»°ãÓÃO/RÓ³É乤¾ß´´½¨£¬ËüÌṩ¶ÔÏó¶Ô¹ØÏµÊý¾Ý½á¹¹µÄ²é¿´ºÍ¸ÐÖª£¨look-and-feel£©¡£ÔÚÎÒ¿´À´£¬ÔÚÏîÄ¿ÖÐʹÓÃO/RÓ³ÉäÓëʹÓÃEJBÀàËÆ¡£ÔÚ´ó¶àÊýÇé¿öÏ£¬²¢²»ÒªÇóËü¡£¶ÔÓÚ°üº¬ÖеȹæÄ£µÄÁªºÏÒÔ¼°¶à¶Ô¶à¹ØÏµµÄ¹ØÏµÐÍÊý¾Ý¿âÀ´Ëµ£¬O/RÓ³Éä»á±äµÃÏ൱¸´ÔÓ¡£ÓÉÓÚÔö¼ÓO/R Ó³Éä½â¾ö·½°¸±¾ÉíµÄÄÚÔÚ¸´ÔÓÐÔ£¬ÀýÈçÑÓ³Ù¼ÓÔØ£¨lazy loading£©¡¢¸ßËÙ»º³åµÈ£¬Äú½«ÎªÄúµÄÏîÄ¿´øÀ´¸ü´óµÄ¸´ÔÓÐÔ£¨ºÍ·çÏÕ£©¡£
¡¡¡¡ÎªÁ˽øÒ»²½Ö§³ÖÎҵĹ۵㣬ÎÒ½«Ö¸³ö°´ÕÕSun MicrosystemËùÆÕ¼°µÄʵÌåBean£¨O/RÓ³ÉäµÄÒ»ÖÖʵÏÖ£©µÄÐí¶àʧ°ÜµÄ³¢ÊÔ£¬ÕâÊÇ×Ô1.0°æÒÔÀ´Ò»Ö±ÕÛÄ¥È˵ÄÄÑÌâ¡£ÔÚSUNµÄ·ÀÎÀ´ëÊ©ÖУ¬Ò»Ð©ÔçÆÚµÄÎÊÌâÊÇÓйØEJB¹æ·¶µÄ¿ª·¢ÉÌʵÏֵġ£ÕâÒÀ´ÎÖ¤Ã÷ÁËʵÌåBean¹æ·¶×ÔÉíµÄ¸´ÔÓÐÔ¡£½á¹û£¬´ó¶àÊýJ2EE¼Ü¹¹Ê¦Ò»°ãÈÏΪ´ÓʵÌåBeanÖÐÍÑÀë³öÀ´ÊÇÒ»¸öºÃÖ÷Òâ¡£
¡¡¡¡´ó¶àÊýÓ¦ÓóÌÐòÔÚ´¦ÀíËûÃǵÄÊý¾Ýʱ£¬Ö»ÄܽøÐÐÓÐÏÞ´ÎÊýµÄ²éѯ¡£ÔÚÕâÑùµÄÓ¦ÓóÌÐòÖУ¬·ÃÎÊÊý¾ÝµÄÒ»ÖÖÓÐЧ·½·¨ÊÇʵÏÖÒ»¸öÊý¾Ý·ÃÎʲ㣬¸Ã²ãʵÏÖÖ´ÐÐÕâЩ²éѯµÄһϵÁзþÎñ£¨»ò¶ÔÏó¡¢»òAPI£©¡£ÈçÉÏËùÊö£¬ÔÚÕâÖÖÇé¿öÏ£¬²»ÐèÒªO/RÓ³Éä¡£µ±ÄúÒªÇó²éѯÁé»îÐÔʱ£¬O/RÓ³ÉäÕýºÏÊÊ£¬µ«Òª¼Çס£ºÕâÖÖ¸½¼ÓµÄÁé»îÐÔ²¢²»ÊÇûÓдú¼ÛµÄ¡£
¡¡¡¡¾ÍÏñÎÒ³ÐŵµÄÄÇÑù£¬ÔÚ±¾ÎÄÖУ¬ÎÒ¾¡Á¿±ÜÃâ³Â¸¯µÄ×î¼Ñʵ¼ù¡£Ïà·´£¬¹ØÓÚJ2EEÏîÄ¿ÖÐÿһλ¼Ü¹¹Ê¦±ØÐë×ö³öµÄ×îÖØÒªµÄ¾ö¶¨£¬ÎÒ¼¯Öн²½âÁËÎҵĹ۵㡣×îºó£¬ÄúÓ¦¸Ã¼Çס£ºJ2EE²¢·ÇijÖÖ¾ßÌåµÄ¼¼Êõ£¬Ò²²»ÊÇÇ¿ÐмÓÈëµ½½â¾ö·½°¸ÖеÄһЩÊ××ÖĸËõд¡£Ïà·´£¬ÄúÓ¦¸ÃÔÚÊʵ±µÄʱ»ú£¬Ç¡µ±µÄµØ·½£¬Ê¹ÓúÏÊʵļ¼Êõ£¬²¢×ñÑ­J2EEµÄÖ¸µ¼Ô­ÔòºÍJ2EEÖÐËù°üº¬µÄ±È¼¼Êõ±¾ÉíÖØÒªµÃ¶àµÄʵ¼ù¡£

¹ØÓÚ×÷Õß
Tarak ModiÊÇNorth Highland£¨Ò»¼Ò¹ÜÀíºÍ¼¼Êõ×Éѯ¹«Ë¾£©µÄ¸ß¼¶×¨¼Ò¡£ËûÔÚCOM¡¢MTS¡¢COM+¡¢.NET¡¢J2EEÒÔ¼° CORBAµÈ·½ÃæÓзḻµÄרҵ¾­Ñé¡£2002ÄêÔøÓëÈ˺Ï×÷±àдProfessional Java Web Services £¨Wrox Press£©¡£×÷ÕߵĸöÈËÍøÕ¾ÊÇ£ºhttp://www.tekNirvana.com¡£

Ô­Îijö´¦
http://www.fawcette.com/special/J2EE/modi1/



Ïà¹ØÎÄÕ£º

Ïà¹ØÈí¼þ£º