´çÐÄÖª
来源: BlogBus 原始链接: http://www.blogbus.com:80/blogbus/blog/archive.php?id=3181 存档链接: https://web.archive.org/web/20040904171029id_/http://www.blogbus.com:80/blogbus/blog/archive.php?id=3181
´çÐÄÖª 2004/02/01 µ½ 2004/02/29 ÎÄÕÂǧ¹ÅÊ£¬µÃʧ´çÐÄÖª ¹¤×÷Á÷¹ÜÀíϵͳÐèÇó
2004-02-27 15:27 ÕâÊÇÎÒÃÇÔÀ´ÕûÀíµÄ¹¤×÷Á÷¹ÜÀíϵͳµÄÐèÇóÁÐ±í£¬ÏëÒª×öÒ»¸öºÃ¶«Î÷ÕæµÄºÜÄÑ¡£ ¹¤×÷Á÷¶¨Òå 1.1 ¹¤×÷Á÷¶¨ÒåÓï·¨¼ì²é 1.2 ¹¤×÷Á÷¶¨ÒåÓÐЧÐÔ¼ì²é 1.3 Á÷³Ì¿ÉÊÓ»¯½¨Ä£ 1.4 ×éÖ¯»ú¹¹Êý¾ÝµÄÒýÓà 1.5 Ö§³ÖÀëÏß¹ý³Ì¶¨Òå 1.6 ¹¤×÷Á÷Êý¾Ý¶¨Òå 1.7 ͼÐδòÓ¡¹¤×÷Á÷¹ý³Ì¶¨ÒåͼÐÎ 1.8 ÒÔxml¸ñʽ±£´æ¹ý³Ì¶¨ÒåÎļþ 1.9 Ö±½Ó¶ÔÄ£°å¿â·ÃÎʲÙ×÷ 1.10 xml¹ý³Ì¶¨ÒåÎļþ´ò¿ª±à¼ ¹¤×÷Á÷Ä£°å¿â 2.1 ¹¤×÷Á÷Ä£°åµÄµ¼ÈëºÍµ¼³ö 2.2 ¹¤×÷Á÷Ä£°å°æ±¾¿ØÖÆ 2.3 ¹¤×÷Á÷Ä£°å¸´ÖÆ 2.4 ¹¤×÷Á÷Ä£°åËùÓÐÕß¶¨Òå 2.5 ¹¤×÷Á÷Ä£°å״̬£¨²Ý¸å¡¢·¢²¼¡¢¹ýʱ£© 2.6 ¹¤×÷Á÷Ä£°åÓÐЧʱ¼ä ʵÀý³õʼ»¯ 3.1 ͨ¹ýEmailÆô¶¯ 3.2 ͨ¹ýÎı¾Îļþ£¨Text Files£©Æô¶¯ 3.3 ͨ¹ýXMLÏûÏ¢Æô¶¯ 3.4 ʱ¼äʼþÆô¶¯ 3.5 ÊÖ¹¤Æô¶¯ 3.6 ¹ý³Ìµ÷ÓÃÆô¶¯ ¹¤×÷Á÷ģʽ 4.1 ˳Ðò£¨Sequence£© 4.2 ²¢ÐзÖÖ§£¨AND-split£© 4.3 ²¢Ðлã¾Û£¨AND-join£© 4.4 Ìõ¼þ·ÖÖ§£¨Conditional routing£©¡¢»¥³âÑ¡Ôñ£¨Exclusive Choice¡¢XOR 4.5 ¼òµ¥»ã¾Û£¨XOR-join£© 4.6 ¶àÖØÑ¡Ôñ£¨OR-split¡¢Conditional routing£© 4.7 ¶àÖØ»ã¾Û£¨£¿£© 4.8 ²¿·Ö»ã¾Û£¨Partial join£©MI 4.9 È¡Ïû»î¶¯ 4.10 È¡ÏûʵÀý 4.11 ͬ²½/Òì²½×Ó¹ý³Ì ¹¤×÷Á÷ÈÎÎñ·ÖÅä 5.1 ÈÎÎñ·ÖÅäµÄÁ½ÖÖģʽ£¨ÀºÍÍÆ£© 5.2 ÈÎÎñ¶ÓÁУ¨Àģʽ£© 5.3 °´¹¤×÷Á¿·ÖÅäÈÎÎñ£¨ÍÆÄ£Ê½£© 5.4 ·ÖÅäÈÎÎñ¸øËùÓÐÈËÔ±£¨²¿ÃÅ¡¢½ÇÉ«¡¢¹¤×÷×飩 5.5 °´ÈËÔ±ÓÅÏÈÊý·ÖÅäÈÎÎñ£¨ÊʺϻùÓÚ½ÇÉ«ÈÎÎñ·ÖÅ䣩 5.6 ÏÈÀ´ÏÈ×ö£¨FCFA£©£¬½«ÈÎÎñ¶ÓÁÐÖÐ×îÔç´´½¨µÄÈÎÎñ·ÖÅ䏸×îÏÈÌá³öÖ´ÐÐÈÎÎñÇëÇóµÄÈËÔ± 5.7 ·ÖÅäÈÎÎñ¸øÖ¸¶¨ÈËÔ± 5.8 ÍÆÄ£Ê½ÏµÄÈÎÎñ·ÖÅäÒì³£´¦Àí£¨ÈÎÎñ·ÖÅäÒ쳣ʱ£¬Í¨ÖªÄ£°åËùÓÐÕß»ò¹¤×÷Á÷¹ÜÀíÔ±£© 5.9 ÈÎÎñÖØ·ÖÅ䣨½«ÈÎÎñ·ÖÅ䏸ÆäËûÓû§¡¢Ö¸¶¨½ÇÉ«ÖеÄÓû§¡¢½ÇÉ«£© 5.10 ÈÎÎñÌæ´úÕߣ¬ÓÉÈËÔ±Ö¸¶¨£¨½»°ì¡¢´ú°ì£© ¹¤×÷Á÷¶¯×÷ 5.11 ½ÓÊÕÈÎÎñ£¨×´Ì¬×ª»»£©accept 5.12 Í˼þ£¨»ØÍ˵½ÉÏÒ»½Úµã£¿£©decline 5.13 Ö´ÐÐÈÎÎñ 5.14 Íê³ÉÈÎÎñ£¨×´Ì¬×ª»»£© 5.15 ·´Ïò»Ø´«/³éµ¥/Õٻأ¨Process Rollback£© 5.16 ·ÖÅäÈÎÎñ¸øÖ¸¶¨½ÇÉ« 5.17 ·ÖÅäÈÎÎñ¸øÖ¸¶¨ÈËÔ± 5.18 ʹÓ÷Óɱí·ÖÅäÈÎÎñ 5.19 È¡ÏûÈÎÎñ·ÖÅä 5.20 ´´½¨×Ó¹ý³Ì£¨½«ÈÎÎñ½ÚµãÓÃ×Ó¹ý³Ì´úÌæ£¿£© 5.21 ÉèÖÃÈÎÎñÓÅÏȼ¶£¨¶¯Ì¬Ð޸Ť×÷Á÷»î¶¯ÓÅÏȼ¶£© 5.22 ÉèÖÃÈÎÎñ˵Ã÷ 5.23 ÉèÖÃÈÎÎñÆÚÏÞ£¨ÉèÖÃ֮ʱÆðʱ¼ä¶Î¡¢Ö¸¶¨Ê±¼äµã£© 5.24 È¡ÏûÈÎÎñ 5.25 ¹ÒÆð£¨ÔÝÍ££©ÈÎÎñ 5.26 ÖÕÖ¹ÈÎÎñ 5.27 Æô¶¯¹¤×÷Á÷ʵÀý 5.28 ¹ÒÆð£¨ÔÝÍ££©¹¤×÷Á÷ʵÀý 5.29 È¡Ïû¹¤×÷Á÷ʵÀý 5.30 ÖÕÖ¹¹¤×÷Á÷ʵÀý 5.31 ÉèÖù¤×÷Á÷ʵÀý˵Ã÷ 5.32 ÉèÖù¤×÷Á÷ʵÀý±äÁ¿£¨¹¤×÷Á÷ʵÀý±äÁ¿¸³Öµ£©£¬¿ÉÒÔ×÷Ϊ¹¤×÷Á÷Òì³£´¦ÀíµÄÒ»ÖÖ·½·¨ ¹¤×÷Á÷»î¶¯Â·ÓÉ 6.1 »ùÓÚ½Çɫ·ÓÉ£¨ÈÎÎñ·ÖÅ䏸½ÇÉ«£¬Ö°Îñ·¢Éú±ä»¯£¬Á÷³ÌÉè¼Æ²»Ðè±ä»¯£© 6.2 »ùÓÚ¹ØÏµÂ·ÓÉ£¨¸ù¾ÝÏà¶ÔÖ°Îñ¹ØÏµÂ·ÓÉ£© 6.3 É趨ÐÍ£¨Ad hoc£©Â·ÓÉ£¨ÓɰìÀíÈËÔ±Ö¸¶¨ÏÂÒ»½Úµã°ìÀíÈË£©¸ù¾ÝÁ÷³Ì´¦ÀíÄÚÈÝ£¬ÓɰìÀíÈË´ÓÖ¸¶¨ÈËÔ±ÖÐÑ¡ÔñºÏÊʵÄÏÂÒ»²½Ö´ÐÐÈËÔ± ¹¤×÷Á÷×éÖ¯»ú¹¹ 7.1 Ö§³ÖLDAPĿ¼·þÎñ 7.2 Ö§³Ö×飨Group£© 7.3 Ñ»·×é 7.4 È¨ÖØ×é 7.5 ¹¤×÷Ö°Îñ×飨ÏàְͬÎñµÄÈË×é³ÉÒ»¸ö×飩 7.6 Ö§³Ö¶¯Ì¬¶¨Òå×飨Á÷³ÌÖ´Ðйý³ÌÖж¨ÒåµÄ×飩 7.7 ¶àÖØ½ÇÉ«¹ÜÀí£¨Ò»ÈËÊýÖ°£© 7.8 Ïà¶ÔÖ°Îñ¹ØÏµ 7.9 ×é֯ͼӵÓÐÈË£¨×éÖ¯½á¹¹µÄ·Ö¼¶Î¬»¤£© ¹¤×÷Á÷ʱ¼ä¹ÜÀí 8.1 ·Ç¹¤×÷ÈÕÉ趨 8.2 ʱ¼äÊÂÇéÆô¶¯¹¤×÷Á÷ʵÀý£¨Ö¸¶¨Ê±¼äµã¡¢Ê±¼ä¼ä¸ô¡¢ÖÜÆÚʱ¼ä£© 8.3 ÈÎÎñ¹ÒÆð»Ö¸´£¨Ö¸¶¨Ê±¼äµã¡¢Ê±¼ä¼ä¸ô£© 8.4 ¹ý³ÌʵÀý¹ÒÆð»Ö¸´£¨Ö¸¶¨Ê±¼äµã¡¢Ê±¼ä¼ä¸ô£© 8.5 ÈÎÎñ³¬Ê±Í¨Öª 8.6 ¹¤×÷Á÷³¬Ê±Í¨Öª 8.7 ϵͳʱÖÓ ¹¤×÷Á÷ϵͳ֪ͨ 9.1 ÒÔÓʼþ·½Ê½Í¨Öª¹¤×÷³¬Ê± 9.2 ¿É×Ô¶©Í¨ÖªÓʼþ£¨ÐÂÈÎÎñ֪ͨ£© 9.3 Ö÷¶¯Ê½Óʼþ֪ͨ£¨Ïà¶ÔWeb-based±»¶¯·½Ê½£© 9.4 ¹¤×÷Á÷Ò쳣֪ͨ 9.4 ÈÎÎñÈ¡Ïû֪ͨ 9.5 ¹¤×÷Á÷È¡Ïû֪ͨ ¹¤×÷Á÷Òì³£´¦Àí 10.1 Òì³£µÄ·ÖÀà 10.2 ²»Í¬µÄÒì³£´¦Àí·½·¨ 10.3 Òì³£µÄ±¨¸æ¡¢Í¨Öª»úÖÆ 10.4 Òì³£»Ö¸´³ÌÐòµÄÔ¤¶¨Òå ¹¤×÷Á÷½Ó¿ÚÐèÇó 11.1 ÓëEmail·þÎñÆ÷½Ó¿Ú£¨JMS£© 11.2 ÓëÎļþϵͳ½Ó¿Ú£¨ÈçNTFS¡¢unix-FS£© 11.3 ÓëERP¡¢CRM¡¢HR¡¢SCMµÈϵͳ½Ó¿Ú 11.4 ÓëÎĵµ¹ÜÀíϵͳϵͳ½Ó¿Ú 11.5 ÓëÆäËü¹¤×÷Á÷ϵͳ½Ó¿Ú 11.6 ÓëÆäËüÓ¦ÓÃϵͳ½Ó¿Ú ¹¤×÷Á÷ϵͳÐèÇó 12.1 Ö§³Ö¶à¸ö²Ù×÷ϵͳ£¬°üÀ¨windows¡¢AIX¡¢Solaris¡¢HP-Unix¡¢LinuxµÈ 12.2 Ö§³Ö¶àÖÖÊý¾Ý¿â£¬°üÀ¨MS SQL server¡¢Oracle¡¢DB2¡¢MySQLµÈ 12.3 Ö§³Ö¶àÖÖÓ¦Ó÷þÎñÆ÷£¬°üÀ¨weblogic¡¢websphere¡¢Jboss¡¢Apusic¡¢TomcatµÈ 12.4 Í걸µÄϵͳÈÕÖ¾ 12.5 ¿É´¦Àí´óÁ¿Á÷³Ì 12.6 ´Óʧ°Ü£¨»ò´íÎó£©Öлָ´ÏµÍ³£¨×Ô¶¯¡¢ÊÖ¶¯£©¡¢ÏµÍ³£¨Ó¦Óã©Êý¾Ý±¸·Ý 12.7 Ö§³Ö²¢·¢´¦Àí ¹¤×÷Á÷ϵͳ¹ÜÀí 13.1 ͼÐλ¯Á÷³Ì¼à¿Ø 13.2 Á÷³ÌʵÀý¶¯Ì¬Ð޸ģ¨ÐÞ¸ÄδִÐеĹý³Ì²½Ö裩 13.3 ¹¤×÷¸ººÉÁ¿ÏÔʾ 13.4 ¹¤×÷Á÷ͳ¼Æ£¨Á÷³ÌÄ£°å¡¢Á÷³ÌʵÀý¡¢ÈÎÎñͳ¼Æ£© 13.5 ×Ô¶¨Òåͳ¼Æ±¨±í 13.6 ͳ¼ÆÊý¾ÝͼÐλ¯ÏÔʾ 13.7 ÁÙʱ¸ü¸ÄÊÕ¼þÈË 13.8 ¹¤×÷ÖØËÍ 13.9 Á÷³ÌʵÀý¹ÒÆð/»Ö¸´ 13.10 »î¶¯ÊµÀý¹ÒÆð/»Ö¸´ 13.11 ´úÀíδÀ´¹¤×÷ 13.12 ¿ÉÖ¸¶¨´úÀíÆÚÏÞ 13.13 ¹¤×÷Á÷ʵÀý³¬Ê±Í³¼Æ 13.14 µ¥Ò»²½Ö賬ʱͳ¼Æ 13.15 ¿É´«»Ø×ÓÁ÷³Ìͳ¼ÆÊý¾Ý 13.16 ·þÎñÆ÷¶¨Ê±ÇåÀí ¹¤×÷Á÷¿Í»§¶Ë 14.1 B/S½á¹¹¿Í»§¶Ë½çÃæ 14.2 ä¯ÀÀÆ÷¶ËµÄÊý×ÖÈÏÖ¤¹¦ÄÜ 14.3 µ¥µãµÇ¼ 14.4 °´ÖØÒª³Ì¶ÈÅÅÁÐÈÎÎñÇåµ¥ 14.5 Óû§²é¿´Á÷³ÌÖ´ÐÐ״̬ 14.6 ÎÒµÄÈÎÎñºÍ¹²ÏíÈÎÎñ¶ÓÁУ¨°´½ÇÉ«·ÖÀࣩ 14.7 ´Ó¹²ÏíÈÎÎñ¶ÓÁÐÖÐѡȡÈÎÎñ 14.8 Óû§Ö¸¶¨/È¡Ïû´úÀíÈË 14.9 ÏÔʾÒѱ»´úÀíµÄ¹¤×÷ ¹¤×÷Á÷Êý¾Ý 15.1 »ù±¾Êý¾ÝÀàÐÍ£¨ÕûÐÍ¡¢·ûµãÐÍ¡¢×Ö·ûÐÍ¡¢ÈÕÆÚÐÍ¡¢²¼¶ûÐÍ£© 15.2 ¸´ºÏÊý¾ÝÀàÐÍ£¨Êý×飩 15.3 XMLÊý¾Ý¶¨Òå 15.4 ʱ¼äÊý¾Ý£¨ÈýÖÖÀàÐÍ£ºÊ±¼äµã¡¢Ê±¼ä¼ä¸ô¡¢ÖÜÆÚʱ¼ä£© 15.5 ¸½¼þ£¨word¡¢excelµÈ£©Îļþ¼ÐµÄ¸ÅÄFolder£© 15.6 ¸½¼þµÄ¼ìÈë/¼ì³ö 3 15.7 ±äÁ¿×÷ÓÃÓò£¨È«¾Ö±äÁ¿¡¢¹ý³Ì±äÁ¿£© 15.8 Êý¾ÝµÄ·ÃÎÊ¿ØÖÆ£¨¶Áд¡¢¶Á¡¢²»¿É¼û£© 15.9 Êý¾Ý¼¯ºÏ£¨Data Set£©£¨Óɶà¸ö²»Í¬ÀàÐÍÊý¾Ý»òÊý¾Ý×Ó¼¯ºÏËù¹¹³É£© 15.10 Êý¾ÝµÄ±íÏÖ£¨±íµ¥£© 15.11 ×Ó±íµ¥£¨sub-form£© Post by befresh @ 15:27 thinking in java 3
2004-02-26 10:02 ½ñÌìÓÖ¿ªÊ¼¿´¿´<>£¬²»¹ýÕâ´ÎÊÇedition 3ÁË£¬Õâ±¾¾µä£¬¸Ð¾õÔ½¿´Ô½ÓÐ×Ì棬±ÈÔÀ´ÓÐÁ˸üÉîµÄÌå»á¡£ ²»¹ýÕâ´Î²»»áÖð×ÖÖð¾äµÄ¿´ÁË£¬Ìô¼¸¸öÖØÒªµÄÕ½ÚÖØµãÑо¿Ò»Ï£¬°ÑÔÀ´±È½ÏÄ£ºýµÄ¸ÅÄî¼ÓÇ¿£¬½«ÃæÏò¶ÔÏóµÄ˼Ïë½øÐÐÏÂÈ¥¡£ AOP,OOP,IOCҪѧµÄ¶«Î÷Ì«¶àÁË£¬Ã¿Ìì²»¿´Ò»Ð©Ð¶«Î÷£¬ºÜ¿ì»áÂäÎéµÄ¡£Ï£Íû²»ÒªÕâôÔç¾Í¸Ï²»ÉÏÐÎÊÆÁË¡£ ÇмÇÇмǣ¡ Post by befresh @ 10:02 RenderBlock
2004-02-25 17:59 Tapestry's component << RenderBlock
ÔÚһЩ³¡ºÏ£¨±ÈÈçtabpanel£©·Ç³£µÄÓÐÓã¬Ëü¿ÉÒÔÈÃtemplateÖеÄblock²¿·Ö½øÐÐÖØ»£¨rerender£©¡£ RenderBlockÓëRenderBodyÀàËÆ£¬Î¨Ò»µÄ²»Í¬¿ÉÒÔ´Ó×ÖÃæÉϾͿÉÒÔ¿´³öÀ´£¬ÄǾÍÊÇblockÓëbodyµÄ²»Í¬¡£ Ò»¸ö¼òµ¥µÄʾÀý£º template: window content goes here jwc: //²ÎÊý
java: public abstract String getBlockName(); public abstract void setBlockName(String blockName); public Block getBlock() { return (Block) getPage().getComponent(getBlockName()); } ÉÏÃæµÄ¾ÍÊÇÒ»¸öcomponent£¬È»ºóÄã¿ÉÒÔÔÚtapestry web projectÖнøÐе÷Óà page: html: ×îºóµÄÏÔʾ½á¹û¾ÍÊǰÑͼƬҲÏÔʾ³öÀ´ÁË£¬ÕâÑù¾Í¿ÉÒÔÖ»¶¨ÒåÒ»¸öcomponent£¬ÊµÏÖÁËÒ³ÃæµÄ¶àÖÖÏÔʾ½á¹û£¬Ï൱ÓÚOOÖм̳еÄÓ¦ÓᣠPost by befresh @ 17:59 Í·Í´µÄÎÊÌâ
2004-02-24 18:20 ÕâÁ½ÌìÒ»Ö±±»Ò»¸öÎÊÌâÀ§ÈÅ×Å£¬ÄǾÍÊÇÔÚcomponentÖУ¬´æÔÚ×ÅÒ»¸ö*.jsÎļþ£¬ÆäÖÐÔÚjsÎļþÖÐͨ¹ýdhtmlÀ´ÏÔʾһÕÅͼƬ*.gif¡£ÔÚcomponentÖУ¬ÎÒ°ÑËùÓеÄͼƬÎļþ¶¼·ÅÔÚÁËpackage/assets/images/°üÖС£Õâ¸ö°ÑÎÒº¦¿àÁË£¬Ê¼ÖÕÎÞ·¨ÔÚjsÖе÷ÓÃÕâЩͼƬÎļþ¡£ÕâÀïÃæÎÒµÄËùÓÐcomponents¶¼±»´ò³ÉÒ»¸öjarÎļþ¡£ ÈçÎÒ±àдµÄcomponets.jarÎļþÖУ¬ÔÚcom.hello.components.menu°üÖУ¬ÓÐmenu.js,menu.jwc,menu.html,menu.javaÒÔ¼°Ôڴ˰üÖеÄassets.images°üϵÄmenu.gif£¬ÈçºÎͨ¹ýjsÎļþÀ´µ÷ÓÃmenu.gifÄØ£¿ ¼ûʾÒâͼ£º components.jar com.hello.components.menu -------------------------menu.js,menu.html,menu.jwc,menu.java com.hello.components.menu.assets.images ---------------------------------------menu.gif ×¢£ºÈç¹ûÊÇÔÚweb tapestry projectÖÐÖ±½Ó±àдcomponent£¬Ö»ÒªÂ·¾¶ÕýÈ·£¬ÄÇjsÓ¦¸ÃÊÇ¿ÉÒÔµ÷Óõġ£ ÏëÏëÒ²ÊÇ£¬jsÏÔÈ»Êǿͻ§¶Ë´úÂ룬ËüÄܵ÷ÓõÄÒ²¾ÍÊÇÔÚweb projectÖж¨ÒåµÄ·¾¶ÏµÄÎļþ¡£Èç¹û°Ñcomponent´ò³ÉÒ»¸öjarÎļþ£¬ÔÚweb projectÖе÷ÓÃÕâ¸öcomponet,ËùÓеÄͼƬÎļþ±ØÐ붨Òå³Éprivate assets£¬ÕâЩͼƬ¶ÔÓÚweb serverÀ´ËµÏÔÈ»ÊÇ͸Ã÷µÄ¡£Òò´Ë£¬ºÜ¿ÉÄÜÊÇÎ޼ƿÉÊ©ÁË¡£ ÕâÑù¿´À´£¬Í¨¹ýjsÀ´µ÷ÓÃͼƬÎļþÊDz»¿ÉÐÐÁË£¬Ö»ÄÜ»»±ðµÄ·½·¨À´ÊµÏÖÁË¡£Ò²²»ÖªµÀÄܲ»Äܸ㶨¡£ Post by befresh @ 18:20 web UI
2004-02-23 17:58 ÔÚtapestryÖбàдweb UI componentÊDZȽÏÂé·³µÄ£¬Èç¹ûÖ»ÊÇÒ»¸ö¼òµ¥µÄcomponent»¹ºÃ˵£¬Èç¹ûÊǸ´ÔÓµÄcomponent£¬²»È磺tree,menuµÈ¾ÍºÜÁîÈËÍ·Í´ÁË¡£ ÔÚ±àд×é¼þʱӦ¸Ã×¢ÒâÏÂÃæ¼¸¸öÎÊÌ⣺ 1¡¢°ÑcomponentÖÐÓõ½µÄ×ÊÔ´£¨assets£©×éÖ¯ºÃ£¬ÕâÀïµÄ×ÊÔ´Ö÷ÒªÊÇcss,js,imageµÈ£¬Ò»°ã×îºÃ·Åµ½Óë*.jwcÏàͬµÄλÖá£ÕâÑù£¬¾ÍʡȥºÜ¶àÒòΪ·¾¶ÒýÆðµÄÎÊÌâ¡£ 2¡¢¶ÔcomponentµÄÀí½âÒª°ÑÎÕ£¬²»ÊÇËùÓеÄweb UI¶¼°ÑËü±àд³É×é¼þÐÎʽ£¬ËäÈ»ÕâÑùÒÔºóÓÃÆðÀ´·½±ã£¬µ«Êǹ¤×÷Á¿Ò²ÊǺܾ޴óµÄ¡£Ò»°ãµÄÏñÖ»Óм¸ÐÐjs¿ÉÒԸ㶨µÄÎÊÌ⣬¾Í²»ÒªÍϵ½componentÖÐÀ´½â¾öÁË¡£ 3¡¢°ÑËùÓеÄcomponentµ¥¶À³öÀ´´ò³ÉÒ»¸öjarÎļþµÄÐÎʽ£¬ÓëÖ±½ÓÔÚweb projectÖбàд×é¼þÊDz»Ì«Ò»ÑùµÄ£¬ÕâÆäÖÐÖ÷ÒªÇ£Éæµ½Â·¾¶ÎÊÌâ¡£¶ÔassetsµÄÈýÖÖÓ¦Ó÷½Ê½Ò»¶¨Òª×¢Òâ¡£ 4¡¢ÓÉdzÈëÉîÊDZȽϺõÄ×ö·¨£¬Èç¹ûÒ»ÉÏÊÖ¾ÍÊǷdz£¸´ÔÓµÄcomponent£¬ºÜ¿ÉÄÜÄãÒª°ë;¶ø·ÏÁË¡£×îºÃÊÇÓɼòµ¥µÄÀý×ÓÈëÊÖ£¬Öð½¥Íù¸ß´¦×ß¡£ Post by befresh @ 17:58 G_Roller
2004-02-20 17:53 Õ⼸Ìì¿´ÁË¿´gigixµÄG_Roller¿ò¼Ü£¬¸Ð¾õ·Ç³£²»´í£¬ÆäÖÐËü¾ÍÓ¦ÓÃÁËspringµÄBeanFactory£¬Í¨¹ýapplication.bean.xmlÀ´×é×°×é¼þ¡£Õû¸ö¿ò¼Ü·Ç³£ÇåÎú¡¢Ð¡ÇɺÍÁé»î£¨½¨Òé´ó¼Ò¸Ï¿ìÈ¥¿´¿´£©¡£ ÓÈÆä¶ÔÓÚservice»¹Í¨¹ýreflection¼ÓÈëÁËtransaction manager£¬¸ù¾Ý²ÎÊýmanagedÀ´ÅжÏÊÇ·ñÐèÒªtransaction¡£ÈçÏ£º ServiceLocator.java protected IService getService(String beanName, Class type , boolean managed) { BaseService service = (BaseService) BeanFactoryWrapper.getBean(_configName, beanName); if(!managed) { return service; } return (IService) ServiceProxy.newInstance(type, service); } ÔÚ¾ßÌåµÄÓ¦ÓÃÖУ¬Í¨¹ý¼Ì³ÐServiceLocatorÀ´µÃµ½¾ßÌåµÄservice¡£ GrollerServiceLocator.java public UserService getUserService(boolean managed) { return (UserService) getService("userService", UserService.class, managed); } ʵ¼ÊÓ¦ÓÃÖУ¬Ö»ÒªÍ¨¹ýgetUserService·½·¨¼´¿É¡£ ÎÒÔÚÕâ¶ù²¹³äÒ»µã£¬ÊÇ·ñ¿ÉÒ԰ѲÎÊýtype(Class)£¬Ò²¾ÍÊÇUserService.classÕâ¸ö²ÎÊýÔÚxmlÖнøÐж¨Ò壬ÕâÑù¾Í²»ÐèÒªGrollerServiceLocator.javaÎļþÁË¡£ ÉÏÃæµÄ˵·¨ÓÐÎÊÌ⣬ÔÚspringÖÐÒ»°ãµÄ²ÎÊý¶¼ÊÇͨ¹ýjava.lang.String·½Ê½À´»ñÈ¡µÄ£¬Òò´ËÏëҪʵÏÖÕâÖÖ´«Ê䷽ʽ±È½ÏÄÑ£¬Ä¿Ç°»¹Ã»ÓÐÏëµ½°ì·¨(2004-2-23 ÐÞ¸Ä)¡£ Post by befresh @ 17:53 tapestry & javascript
2004-02-19 18:58 ½ñÌ죬´óÖ¿´ÁËÒ»ÏÂtapestryÒ³ÃæÖÐÈçºÎʹÓÃjavascript£¬¿ÉÄÜÊÇÔÚbody componentÖнøÐÐÓ¦Óᣳõ²½ÊÔÑéÁËһϣ¬ÓëÒ»°ãµÄjsÓ¦ÓÃÊÇÏàͬµÄ£¬Ã»ÓÐÊ²Ã´ÌØ±ðµÄ¡£ Post by befresh @ 18:58 tapestry's component
2004-02-17 09:34 tapestry's components ¿ÉÒÔµ¥¶À³é³öÀ´´ò³ÉÒ»¸öjarÎļþ£¬ÕâÑù¾Í¿ÉÒÔÔÚ¶à¸öweb projectÖнøÐÐʹÓÃÁË¡£ tapestry±¾Éí×Ô´øºÜ¶àcomponent library£¬È磺framework library,contrib library,WML library£¬µ±È»»¹Óà ognl libraryÁË¡£ µ±´´½¨ÁË×Ô¼ºµÄN¸öcomponentºó£¬¿ÉÒÔ°ÑËü±àÖÆ³É×Ô¼ºµÄlibrary£¬ÆäʵÕâ¸ö²½Öè·Ç³£¼òµ¥£º 1¡¢ÏÈ´´½¨Ò»¸ö*.libraryÎļþ£¬Õâ¸ö¾ÍÊǿⶨÒåÎļþ¡£ËüÊǶ¨ÒåÄã´´½¨ÁËÄÇЩcomponent,ÐèÒª°ÑËüÒ»Ò»ÂÞÁгöÀ´¡£ 2¡¢½Ó×Å£¬¾ÍÊDZàдÄãµÄcomponentÁË£¬Ò»°ãcomponent°üº¬Èý¸öÎļþ£º*.html,.jwc,.java£¬ÆäÖÐÃû³Æ¶¼ÐèÒª±£³ÖÒ»Ö¡£componentÓëpageÀàËÆ£¬Ö÷ÒªÓÐÏÂÃæµÄ²»Í¬µã£º a¡¢ÔÚpageÖУ¬¶¨ÒåÎļþ½Ð*.page£¬¶øÔÚcomponentÖÐËüΪ*.jwc b¡¢ÔÚ*.pageÖж¨ÒåΪpage-specification£¬¶øÔÚcomponentÖÐÔòΪcomponent-specification c¡¢ÔÚ*.javaÖÐpageÒ»°ãÊǼ̳ÐBasePage£¬¶øcomponentÊǼ̳ÐBaseComponent дÍê×Ô¼ºµÄcomponentºó£¬½ÓÏÂÀ´¾ÍÊÇÔÚapplicationÎļþÖнøÐÐÒýÓᣠ3¡¢ÔÚ*.applicationÖÐÒýÓøÃcomponents library¡£ÈçÏ£º 4¡¢Íê³ÉÒÔÉÏÈý¸ö²½ÖèÒÔºó£¬Äã¿ÉÒÔ·ÅÐÄÔÚÄãµÄweb projectÖнøÐÐÓ¦ÓÃÁË¡£ ÐèҪעÒâµÄÊÇÈç¹ûÔÚcomponentÖаüº¬ÓÐimage,videoµÈ¶àýÌåÐÅÏ¢£¬ÐèҪͨ¹ýassetÀ´½øÐÐÓ¦Óá£ÀýÈ磺 ÎÒ±àÖÆÁËÒ»¸öshowError component,ÎÒҪʹÓÃÒ»¸öͼ±êÎļþ¡£ Ê×ÏÈÔÚshowError.jwcÖУ¬¶¨Òåasset: È»ºóÔÚshowError.htmlÖУ¬½øÐÐÒýÓ㺠ÕâÑù£¬´ò°ü³ÉjarÎļþºó£¬ÔÚweb projectÖÐÒ²¿ÉÒÔÕý³£Ó¦ÓᣠPost by befresh @ 09:34 tapestry 's global¶ÔÏóµÄÓ÷¨
2004-02-18 09:15 Õ⼸ÌìÖÕÓÚ°´Îĵµ°Ñtapestry & springµÄÅäÖø㶨£¬ÔÀ´ÎÒ°ÑengineÖ¸¶¨Åª´íÁË¡£ÐèÒªÔÚ*.applicationÖÐÖ¸¶¨¸Ãengine£º ÔÚengineÖаÑwebappcontext´æÔÚtapestry's Global¶ÔÏóÖУ¬global¶ÔÏó¾ÍÏ൱ÓÚjspÖеÄapplication¶ÔÏó°É£¬Ëü¿ÉÒÔÓÃglobalÖ±½ÓÀ´ÒýÓã¬ÕâÑù¾Í¿ÉÒÔÔÚpageºÍcomponentÖнøÐе÷Ó᣿ÉÒÔ˵°ÑspringµÄ×é¼þ×é×°·¢»ÓµÄÁÜÀ쾡Ö¡£ ¼ûengineµÄ´úÂëÆ¬¶Ï£º Map global = (Map) getGlobal(); ApplicationContext ac = (ApplicationContext) global.get(APPLICATION_CONTEXT_KEY); if (ac == null) { ac = WebApplicationContextUtils.getWebApplicationContext(context.getServlet().getServletContext()); global.put(APPLICATION_CONTEXT_KEY, ac); } ÒÔºó¾Í¿ÉÒÔÔÚpageÖнøÐÐÖ±½ÓʹÓ㺠global.appContext.getBean("userService") ×îºóÐèÒªÔÚjavaÎļþÖмÓÈ룺 public UserService getUserService(); ×îÖÕ£¬Ëü¾ÍÄܵõ½spring definition xmlÖж¨ÒåµÄ¸÷ÖÖbeanÁË¡£ Post by befresh @ 09:15 spring bean definition xml
2004-02-16 18:17 ¿´Á˲¿·ÖspringµÄ×ÊÁÏ£¬Ìرð¹Ø×¢ÁËbean¶¨ÒåÎļþ£¬·¢ÏÖ»¹ÊÇÓÐÒ»¶¨µÄ¸´ÔÓÐÔ¡£ÏÂÃæÊÇÒ»²¿·Ö×ÊÁÏ£º Bean definitionsÊÇÄãµÄbeanµÄÏêϸÃèÊö¡£Bean¾ÍÊÇһЩÌá¹©Ä³Ð©ÌØ¶¨¹¦ÄܵįÕͨÀ࣬BeanFactory ½Ó¿ÚÈçºÎ¹ÜÀíÄãµÄbeanÒÔ¼°ËüÃÇÊÇÔõÑùÅäÖõÄ,¶¼ÊÇÔÚÒ»¸öbean definitionÖй涨µÄ¡£ ÒÔϾÍÊÇbean definitionʵ¼ÊÄ£ÐÍ£¬Õâ¸öÄ£ÐÍʹµÃbean definitionÄܹ»ÊµÀý»¯bean¡£ beanclass¨D¨Dbean definitionËùÃèÊöµÄbeanµÄÕæÕýʵÏÖÕß beanÐÐΪÅäÖÃÔªËØ¨D¨DbeanÔÚÈÝÆ÷ÖÐÓ¦±íÏÖ³öµÄ״̬£¨È磺prototypeģʽ»¹ÊÇsingletonģʽ£¬×Ô¶¯×°Åäģʽ£¬ÒÀÀµ¼ì²âģʽ£¬³õʼ»¯¼°Îö¹¹·½·¨£© properties¨D¨DbeanµÄÅäÖÃÊý¾Ý¡£Äã¿ÉÒÔ°ÑËüÏëÏó³ÉÒ»¸öÀàËÆÁ¬½Ó³Øbean»º´æµÄÁ¬½ÓÊýÕâÑùµÄ²ÎÊý£¨Í¨¹ýÊôÐÔ»òÕß¹¹Ô캯ÊýµÄ²ÎÊýÖ¸¶¨£© ÆäËûµÄbean¨D¨DÄãµÄbean¹¤×÷ËùÐèÒªµÄÆäËûbean(ͬÑùÒ²ÊÇͨ¹ýÊôÐÔ»òÕß¹¹Ô캯ÊýµÄ²ÎÊýÖ¸¶¨) Ò»¸ö¼òµ¥µÄÀý×Ó(»ùÓÚIoC Type 2)£º ¶¨ÒåÎļþ---------------------------------------------------------- 1 ´úÂë--------------------------------------------------------------- public class ExampleBean { private AnotherBean beanOne; private YetAnotherBean beanTwo; private int i; public void setBeanOne(AnotherBean beanOne) { this.beanOne = beanOne; } public void setBeanTwo(YetAnotherBean beanTwo) { this.beanTwo = beanTwo; } public void setIntegerProperty(int i) { this.i = i; } } Post by befresh @ 18:17 tapestry & spring & hibernate
2004-02-16 18:01 ·ÑÁËÒ»¸öÖÜÄ©µÄʱ¼ä£¬³õ²½½â¾öÁËÈýÕß¼¯³ÉµÄÎÊÌâ¡£ÁîÈËÓôÃÆµÄÊÇspringÌṩµÄ¹ØÓÚspring & tapestryµÄ¼¯³ÉÔõôÅäÖö¼²»³É¹¦£¬Ö÷ÒªÊÇÏÂÃæ¶ÔpageµÄproperty-specificationµÄ¶¨ÒåÓÐÎÊÌ⣨¼û´úÂ룩£º global.appContext.getBean("userService") Ö÷ÒªÊÇglobal.appContext.getBean("userService")ͨ¹ý²»ÁË,²éÁ˲¿·Ö×ÊÁÏ£¬µ«Ê¼ÖÕûÓÐÕÒµ½£¨×ÊÁÏÌ«ÉÙÁË£©¡£ µ±È»£¬×îÓôÃÆµÄÊÇÖÜÄ©ÍíÉÏACÃ×À¼±»À³ÇÐ±ÆÆ½£¨^_^£©¡£ »ù±¾¿ò¼Ü´îÍêÒԺ󣬾ÍÍùÀïÃæÌí¼Ó¸÷ÖÖ¹¦ÄÜ£¨services£©¡£ÎªÁËÈòã´ÎµÄñîºÏ¶È½µµ½×îµÍ£¬ÎÒ°Ñspring & hibernateµÄ×ö³ÉÒ»¸ö¿ò¼Ü£¬ÒԺ󣬿ÉÒÔµ¥¶À¶ÔÕⲿ·Ö½øÐÐÉý¼¶¡£Õⲿ·Ö½è¼øÁËgigixµÄG-RollerÏîÄ¿£¬¿ÉÒÔ°ÑÓëframeworkÓйصÄbean definition¶¼¼¯Öе½context.xml£¬ÕâÑù£¬¿ÉÄܸüºÃÒ»µã¡£ Post by befresh @ 18:01 ÖÐÎÄÂÒÂëÎÊÌâ
2004-02-13 18:02 Ö»ÒªÉæ¼°µ½±íµ¥Ìá½»£¬Ò»°ã¾Í»á³öÏÖÖÐÎĵÄÂÒÂëÎÊÌâ¡£½ñÌ죬¿´ÁËjspTWÉÏij¸ö´óÏÀµÄÌù×Ó£¬ÇáËɸ㶨ÁË¡£ ÔÚ*.applicationÖмÓÈëÏÂÃæÓï¾ä£º µ±È»£¬ÉÏÃæµÄpropertyÒ²Ö§³Öcomponent,pageµÈ¡£ ½ñÌ컹ÓÐһЩÊÕ»ñ£º 1¡¢Foreach²»ÄܳöÏÖÔÚFormÖУ¬ÒªÔÚFromÖÐÏÔʾlist£¬¿ÉÒÔÓÃListEdit¡£ 2¡¢RolloverÐèÒªÓëBodyÅäºÏ£¬·ñÔò²»ÄÜÔËÐУ¬×îºÃÊÇÕâÑù£ºRollover¼òµ¥Ã÷ÁË¡£ Post by befresh @ 18:02 Óû°Õ²»ÄÜ
2004-02-12 18:29 Àý×ÓÊÇÒýµ¼È˽ø²½·Ç³£ºÃµÄÀÏʦ¡£×òÌìµÄhello worldÀý×Ó£¬ÈÃÎÒÈÏʶµ½ÁËTapestry£¬½ñÌì¼ÌÐø½øÐÐÀ©Õ¹£¬Ëæ½ÐÎÒ¶ÔËüÔ½À´Ô½ÓÐÐËȤ¡£ FormÊÇweb appµÄÖØÍ·Ï·£¬ÊdzÌÐòÓëÓû§×îÖ±½Ó½»Á÷µÄ½Ó¿Ú£¬Óû§Ö»ÓÐÔÚFrom±íµ¥ÓòÖÐÊäÈëÐÅÏ¢ºó£¬¼ÆËã»ú²ÅÄܶԴ˽øÐд¦Àí£¬²¢×îÖÕ·´À¡¸øÄã¡£ ¾¹ý½ñÌìµÄ²âÊÔ£¬·¢ÏÖTapestry ComponentÎÞ´¦²»ÔÚ£¬±ÈtagÓйýÖ®¶øÎÞ²»¼°¡£ÓëÒÔǰµÄScript Web Ïà±È£¬TapestryµÄ×é¼þʽ¿ª·¢£¬»ù±¾Éϲ»ÐèÒªÔÚÒ³ÃæÖÐдÉ϶¯Ì¬´úÂ루java£©£¬ÄѹÖËüµÄ±íÏÖ²ãµÄÒ³Ãæ¶¼ÊÇhtml£¨ÊµÏÖ¶¯Ì¬ÄÚÈÝ£©¡£ ½ñÌ죬±¾À´»¹ÏëÊÔÒ»ÊÔVisit¶ÔÏ󣬵«×îÖÕûÓгɹ¦£¬Ö»ÄÜÁôµ½ÒÔºóÁË¡£ Post by befresh @ 18:29 ÔËÐÐÁËÁ½¸öÀý×Ó
2004-02-12 11:00 ΪÁ˸øOA´î½¨±È½ÏÎȹ̡¢À©Õ¹ÐÔºÜÇ¿µÄ¼Ü¹¹£¬ÎÒ´ÓWEB¿ª·¢¿ò¼ÜÖУ¬ÅÜÁËÁ½¸öÀý×Ó£º 1¡¢µÚÒ»¸öÊÇSpringµÄSpringapp,·Ç³£¼òµ¥µÄhello world³ÌÐò¡£ ³õ²½¸Ð¾õËýͨ¹ý DispatcherServlet°Ñ*.htmÓ³ÊÓµ½ÁËÓ¦Óã¨ÕâÓëÒ»°ãµÄWEB³ÌÐòÏàͬ£©£¬ ²»Í¬µÄÊDZØÐ뽨Á¢×ÔÉíµÄcontroller£¬¼ûÏ£º È磺 springappController public class SpringappController implements Controller { /** Logger for this class and subclasses / protected final Log logger = LogFactory.getLog(getClass()); public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.info("SpringappController - returning hello view"); return new ModelAndView("hello.jsp"); } } ͨ¹ýÔÚapp_servlet.xmlÖÐÉùÃ÷£¬ ÔÚ¸ÃxmlÖл¹Ð趨ÒåurlMapping£¬°ÑhtmÒ³ÃæÓ³ÊÓµ½¸ÃcontrollerÉÏ£¬¼ûÏ£º springappController ÔÚä¯ÀÀÆ÷ÖÐֻҪͨ¹ý.htm·½Ê½¾ÍÄÜ·ÃÎÊÁË£¬²»ÐèҪͨ¹ý*.jsp·ÃÎÊ¡£ 2¡¢µÚ¶þ¸öÊÇtest Tapestry³ÌÐò£¬tapestryÊÇÒÔweb×é¼þ¿ª·¢×Ծӵġ£ Ê×ÏÈÈ¥ÏÂÔØÁËÒ»¸öeclipseµÄ²å¼þspindle£¬²»ÐèÒª¶îÍâµÄÅäÖ㬠Ȼºó½¨Á¢tapestry project£ºÔÚrootĿ¼ÖÐн¨ÁË2¸öhtmlÒ³Ãæ£¬ ÔÚÆäÖÐÒ»¸öÒ³ÃæÖÐÓÐÕâÒ»¶Î´úÂ룺 Current Date È»ºó¶ÔÓ¦µÄÐèÒª½¨Á¢2¸ö*.pageÒ³Ãæ¡£ÆäÖжÔÓ¦µÄpageÖÐÓУº ºǫ́µ±È»»¹ÓÐÒ»¸öShowDate.java£¬ ÀïÃæÓÐgetCurrentDate·½·¨£º public class ShowDate extends BasePage { public Date getCurrentDate() { return new Date(); } } ÐèÒªÔÚweb.xmlÖÐÅäÖã¬ÈçÏ£º hello org.apache.tapestry.ApplicationServlet 0 hello /h ×îºó£¬·Ã»ØhtmlÒ³Ãæ£¬µÃµ½Á˶¯Ì¬ÄÚÈÝ£ºµ±ÌìÈÕÆÚ¡£ Post by befresh @ 11:00 WEB¿ª·¢¿ò¼Ü³õ̽
2004-02-12 10:51 ×¼±¸¿ª·¢Ò»¸öOAϵͳ£¬¶øOAµÄWEB£¨Rich Client£©ÊÇÆäÖØÖÐÖ®ÖØ£¬ÏÔȻҪѡÔñijһ¸ö¿ª·¢¿ò¼Ü¡£ÕâÊǸöÈ˽üÆÚÕûÀí³öÀ´µÄÏà¹ØWEB¿ò¼ÜµÄ×ÊÁÏ£º Web¿ª·¢¿ò¼Ü -------------------------------------------------------------------- Structs Struts µÄÓŵ㣺 ¡ñ JSP ±ê¼Ç»úÖÆµÄʹÓñê¼ÇÌØÐÔ´Ó JSP Îļþ»ñµÃ¿ÉÖØÓôúÂëºÍ³éÏó Java ´úÂë¡£Õâ¸öÌØÐÔÄܺܺõؼ¯³Éµ½»ùÓÚ JSP µÄ¿ª·¢¹¤¾ßÖУ¬ÕâЩ¹¤¾ßÔÊÐíÓñê¼Ç±àд´úÂë¡£ ¡ñ ±ê¼Ç¿âΪʲôҪÁí·¢Ã÷Ò»ÖÖÂÖ×Ó£¬»ò±ê¼Ç¿âÄØ£¿Èç¹ûÄúÔÚ¿âÖÐÕÒ²»µ½ÄúËùÒªµÄ±ê¼Ç£¬ÄǾÍ×Ô¼º¶¨Òå°É¡£´ËÍ⣬Èç¹ûÄúÕýÔÚѧϰ JSP ±ê¼Ç¼¼Êõ£¬Ôò Struts ΪÄúÌṩÁËÒ»¸öÆðµã¡£ ¡ñ ¿ª·ÅÔ´ÂëÄú¿ÉÒÔ»ñµÃ¿ª·ÅÔ´ÂëµÄÈ«²¿Óŵ㣬±ÈÈç¿ÉÒԲ鿴´úÂë²¢ÈÃʹÓÿâµÄÿ¸öÈ˼ì²é´úÂë¡£Ðí¶àÈ˶¼¿ÉÒÔ½øÐкܺõĴúÂë¼ì²é¡£ ¡ñ MVC ʵÏÖÑùÀýÈç¹ûÄúÏ£Íû´´½¨Äú×Ô¼ºµÄ MVC ʵÏÖ£¬Ôò Struts ¿ÉÔö¼ÓÄúµÄ¼ûʶ¡£ ¡ñ ¹ÜÀíÎÊÌâ¿Õ¼ä·ÖÖÎÊǽâ¾öÎÊÌⲢʹÎÊÌâ¿É¹ÜÀíµÄ¼«ºÃ·½·¨¡£µ±È»£¬ÕâÊÇÒ»°ÑË«Èн£¡£ÎÊÌâÔ½À´Ô½¸´ÔÓ£¬²¢ÇÒÐèÒªÔ½À´Ô½¶àµÄ¹ÜÀí¡£ Struts µÄȱµã£º ¡ñ ÓÐÏÞµÄÊÊÓ÷¶Î§ Struts ÊÇÒ»ÖÖ»ùÓÚ Web µÄ MVC ½â¾ö·½°¸£¬ËùÒÔ±ØÐëÓà HTML¡¢JSP ÎļþºÍ servlet À´ÊµÏÖËü¡£ ¡ñ ¸´ÔÓÐÔÔÚ½«ÎÊÌâ·ÖΪ¼¸¸ö²¿·ÖµÄͬʱҲÒýÈëÁ˸´ÔÓÐÔ¡£ºÁÎÞÒÉÎÊ£¬ÒªÀí½â Struts ±ØÐë½ÓÊÜÒ»¶¨µÄÅàѵ¡£Ëæ×ű仯µÄ²»¶Ï¼ÓÈ룬ÕâÓÐʱ»áÁîÈ˺ܾÚÉ¥¡£ Turbine TurbineÊÇÒ»¸ö»ùÓÚServletµÄWeb Application Frameworks£¬Ê¹µÃjava¿ª·¢Õß¿ÉÒÔ¿ìËÙ¡¢°²È«µÄ¹¹½¨×Ô¼ºµÄÍøÂçÓ¦ÓᣠTurbineÊÇÒ»¸öÍêÈ«µÄMVCÓ¦Óÿò¼Ü£¬Ö÷ÒªÓÉÒÔϼ¸¸ö²¿·Ö×é³É£º l ±íÊö²ã£ºVelocity(ÓÖÊÇJakartaС×éµÄ½Ü×÷£¬Ò»¸ö»ùÓÚJavaµÄÄ£°æÒýÇæ)»òJSP l Êý¾Ý²ã£ºTorqueºÍPeers l ¿ØÖƲ㣺Turbine l HTML Form Validation£ºIntake l ÈÕÖ¾£ºLog4jºÍTurbine2ÖеÄLogging Service l Service Frameworks£ºTurbine (ÔÚTurbine3ÖУ¬´Ë²¿·Ö±»³ÆÎªFulcrum) ²Î¿¼Á´½Ó£º http://www.csdn.net/Develop/article/19/19993.shtm -------------------------------------------------------------------- Spring ¼òµ¥µØËµ£¬Spring ÊÇÒ»¸öÒÔ¿ØÖƵ¹ÖÃ(Inversion of Control)ÔÔòΪ»ù´¡µÄÇáÁ¿¼¶¿ò¼Ü¡£¿ØÖƵ¹ÖÃÊÇÒ»¸öÓÃÓÚ¡°»ùÓÚ×é¼þµÄÌåϵ½á¹¹¡±µÄÉè¼ÆÄ£Ê½£¬Ëü½«¡°ÅжÏÒÀÀµ¹ØÏµ¡±µÄÖ°ÔðÒÆ½»¸øÈÝÆ÷£¬¶ø²»ÊÇÓÉ×é¼þ±¾ÉíÀ´Åжϱ˴ËÖ®¼äµÄÒÀÀµ¹ØÏµ¡£µ±ÔÚSpring ÄÚʵÏÖ×é¼þʱ, ÈÝÆ÷¡°ÇáÁ¿¼¶¡±µÄ·½Ãæ¾ÍÕ¹ÏÖ³öÀ´ÁË£ºÕë¶ÔSpring ¿ª·¢µÄ×é¼þ²»ÐèÒªÈκÎÍⲿ¿â£»¶øÇÒ, ÈÝÆ÷ÊÇÇáÁ¿¼¶µÄ£¬Ëü±ÜÃâÁËÏñEJBÈÝÆ÷ÄÇÑùµÄÖØÁ¿¼¶·½°¸µÄÖ÷Ҫȱµã£¬ÀýÈçÆô¶¯Ê±¼ä³¤¡¢²âÊÔ¸´ÔÓ¡¢²¿ÊðºÍÅäÖÃÀ§ÄÑ£¬µÈµÈ¡£Ê×ÏȽéÉÜÁËÇáÁ¿¼¶ÈÝÆ÷µÄ×ÜÌåÉè¼Æ£¬Ëæºó½«¼òµ¥½éÉÜSpring ³ýIoC ʵÏÖÖ®ÍâµÄÌØÐÔ¡£¼òµ¥Ëµ£¬ÕâÐ©ÌØÐÔ°üÀ¨£º l ÄÚÖÃAOP Ö§³Ö£¬ÀýÈçÔÚEJB ÈÝÆ÷Ö®ÍâÌṩÉùÃ÷ʽÊÂÎñ¹ÜÀí l Êý¾Ý·ÃÎÊ¿ò¼Ü,Ö§³ÖJDBC ºÍO/R mapping ²úÆ·£¨ÀýÈçHibernate£© l ÓëSpring framework ÆäËû¹¦ÄÜÍêÈ«¼¯³ÉµÄMVC web ¿ò¼Ü£¬ÌṩһÖÖÇåÎú¡¢ÎÞÇÖÂÔÐÔµÄMVC ʵÏÖ·½Ê½,ʹÄãÎÞÐë°ó¶¨ÈκÎÒ»ÖÖÌØ¶¨µÄÊÓͼ¼¼Êõ l ÓÃJavaMail »òÆäËûÓʼþϵͳ·¢ËÍÓʼþµÄÖ§³Ö l Ô´´úÂë¼¶±ðµÄÔªÊý¾ÝÖ§³Ö£¬Ê¹¿ª·¢Õß¿ÉÒÔ½èÖúAOP Ö®ÀàµÄ¼¼Êõ½øÐÐÆóÒµ·þÎñ½¨Ä£ l JNDI ³éÏó²ã£¬±ãÓڸıäʵÏÖϸ½Ú£¬ÀýÈç͸Ã÷µØÔÚÔ¶³Ì·þÎñºÍ±¾µØ·þÎñÖ®¼äÇл» Spring ÊÇÒ»¸öÃæÏòËùÓвãµÄÓ¦ÓóÌÐò¿ò¼Ü£ºËüÌṩÁËbean ʽÅäÖûù´¡, AOP Ö§³Ö£¬JDBC µÄ¸ÅÒª¿ò¼Ü£¬³éÏóÊÂÎñÖ§³ÖµÈ¡£ËûʵÏÖÁËÒ»¸öÕæÕýÎÞ¸ÉÈÅ(non-intrusive))µÄЧ¹û:·Ç±ØÒªÇé¿öÏ£¬ÄãµÄ³ÌÐòÀïµÄÀ಻ÐèÒªÒÀÀµÓÚÈκεÄSpring À࣬²¢ÇÒÈç¹ûÄãϲ»¶£¬Äã¿ÉÒÔµ¥¶ÀÖØÓÃËüµÄÿһ¸ö²¿·Ö¡£ÓÉÓÚÆäÌØ±ðµÄÉè¼Æ£¬Õâ¸ö¿ò¼Ü¹ÄÀø½«¸÷²ãÇå³þµÄ·ÖÀ룬ÆäÖÐ×îÖØÒª¾ÍÊǽ«ÍøÂç²ãºÍÒµÎñÂß¼·ÖÀ룺ÀýÈçÑéÖ¤¿ò¼Ü²»ÐèÒªÒÀÀµÓÚÍøÂç¿ØÖÆÆ÷(web controller)¡£ÕâÑù×öµÄ×îÖ÷ÒªµÄÄ¿±ê¾ÍÊÇΪÁËÌá¸ßÖØÓÃÐԺͿɲâÊÔÐÔ¡£²»ÐèÒªÒÀÀµÈÝÆ÷»òÕß¿ò¼Ü¿ÉÒÔ±ÜÃ⼫´óµÄÂé·³¡£ Spring ¿ÉÒÔËãÊÇÒ»¸öһվʽÉ̵꣨one-stop shop£¬¼ûÒëÎIJο¼1£©¡£Ëü¹Ø×¢µäÐÍÓ¦ÓóÌÐòµÄ´ó²¿·Ö»ù´¡ÉèÊ©¡£È»¶ø£¬Ëü²¢²»ÊÇÒª´úÌæÆäËüµÄ¿ò¼Ü£¬Èç¹ûÄãÏ£ÍûÔÚÄãµÄ³ÌÐòÖеÄijһ²ãʹÓÃÆäËûµÄ¼¼Êõ£¨±ÈÈçÔÚÍøÂç²ã»ò³Ö¾Ã²ã£©Spring ÔÊÐíÄ㽫ËüÎªÌØ¶¨²ãËùÌṩµÄĬÈϽâ¾ö·½°¸Ì滻ΪÈÎÒâµÄÆäËû½â¾ö·½°¸¡£Spring ÌṩÁ˼¸¸öÒѾ±»Ô¤Ïȼ¯³ÉÁ˵ļ¼Êõ¡£ -------------------------------------------------------------------- Velocity Velocity ÊÇÒ»¸ö»ùÓÚJavaµÄÄ£°æÒýÇæ¡£ËüÔÊÐíweb Ò³ÃæÉè¼ÆÕßÒýÓÃJAVA´úÂëÔ¤¶¨ÒåµÄ·½·¨¡£Web Éè¼ÆÕß¿ÉÒÔ¸ù¾ÝMVCģʽºÍJAVA³ÌÐòÔ±²¢Ðй¤×÷£¬ÕâÒâζ×ÅWebÉè¼ÆÕß¿ÉÒÔµ¥¶ÀרעÓÚÉè¼ÆÁ¼ºÃµÄÕ¾µã£¬¶ø³ÌÐòÔ±Ôò¿Éµ¥¶ÀרעÓÚ±àдµ×²ã´úÂë¡£Velocity ½«Java ´úÂë´ÓwebÒ³ÃæÖзÖÀë³öÀ´£¬Ê¹Õ¾µãÔÚ³¤Ê±¼äÔËÐкóÈÔÈ»¾ßÓкܺõĿÉά»¤ÐÔ£¬²¢ÌṩÁËÒ»¸ö³ýJSPºÍPHPÖ®ÍâµÄ¿ÉÐеı»Ñ¡·½°¸¡£ Velocity¿ÉÓÃÀ´´ÓÄ£°å²úÉúweb Ò³Ãæ£¬SQL, PostScriptÒÔ¼°ÆäËûÊä³ö¡£ËûÒ²¿ÉÓÃÓÚÒ»¸ö¶ÀÁ¢µÄ³ÌÐòÒÔ²úÉúÔ´´úÂëºÍ±¨¸æ£¬»òÕß×÷ΪÆäËüϵͳµÄÒ»¸ö¼¯³É×é¼þ¡£Õâ¸öÏîÄ¿Íê³Éºó£¬Velocity½«ÎªTurbine web Ó¦ÓóÌÐò¿ò¼ÜÌṩģ°å·þÎñ¡£Velocity+Turbine ·½°¸ÌṩµÄÄ£°å·þÎñ½«ÔÊÐíweb Ó¦Óð´ÕæÕýµÄmvcģʽ½øÐпª·¢¡£ VelocityÄ£°åÓïÑÔ(VTL)Ö¼ÔÚΪWebÒ³Ãæ½áºÏ¶¯Ì¬ÄÚÈÝÌṩ×îÈÝÒס¢¼òµ¥ºÍ¼ò½àµÄ·½·¨¡£¼´Ê¹ÓÐÒ»µã»òÕßûÓбà³Ì¾ÑéµÄÒ³ÃæÉè¼ÆÕßÒ²¿ÉÒԺܿìÄÜÎªÒ³ÃæÌṩ¶¯Ì¬ÄÚÈÝ¡£ -------------------------------------------------------------------- Tapestry TapestryÊÇÒ»¸ö¿ªÔ´µÄ»ùÓÚservletµÄÓ¦ÓóÌÐò¿ò¼Ü£¬ËüʹÓÃ×é¼þ¶ÔÏóÄ£ÐÍÀ´´´½¨¶¯Ì¬µÄ£¬½»»¥µÄwebÓ¦Óá£Ò»¸ö×é¼þ¾ÍÊÇÈÎÒâÒ»¸ö´øÓÐjwcidÊôÐÔµÄhtml±ê¼Ç¡£ÆäÖÐjwcµÄÒâ˼ÊÇJava Web Component¡£TapestryʹµÃjava´úÂëÓëhtmlÍêÈ«·ÖÀ룬ÀûÓÃÕâ¸ö¿ò¼Ü¿ª·¢´óÐÍÓ¦ÓñäµÃÇá¶øÒ×¾Ù¡£²¢ÇÒ¿ª·¢µÄÓ¦ÓúÜÈÝÒ×ά»¤ºÍÉý¼¶¡£TapestryÖ§³Ö±¾µØ»¯£¬Æä´íÎ󱨸æÒ²ºÜÏêϸ¡£TapestryÖ÷ÒªÀûÓÃjavabeanºÍxml¼¼Êõ½øÐпª·¢¡£ ²Î¿¼Á´½Ó£º http://www.csdn.net/develop/Read_Article.asp?Id=20103 http://www.cwdn.net/article/appserver/Tapestry.html -------------------------------------------------------------------- Webwork ±È½ÏÄÚÈÝ Struts WebWork2 Action Àà ÔÚStrutsÀïÃæ£¬Ã¿Ò»¸öAction Class¶¼ÐèÒªÀ©Õ¹org.apache.struts.action.Action;Õâ¸öÔÚJava±à³ÌÖлáÒýÀ´Ò»Ð©ÎÊÌ⣬¾ÍÊǹØÓÚ¶àÖּ̳еÄÎÊÌâ Webwork½ö½öÐèÒªimplement com.opensymphony.xwork.Action Interface,ÄúÒ²¿ÉÒÔimplementÆäËüµÄinterfaceÀ´ÊµÏÖ¸ü¶àµÄ¹¦ÄÜ£¬Æ©È磺validate£¨ÑéÖ¤£©£¬localware(¹ú¼Ê»¯)µÈ£¬µ±È» webwork2Ò²ÌṩÁËÒ»¸öÀàActionSupport ¼¯³ÉÁËÒÔÉϹ¦ÄÜ¡£Developer¿ÉÒÔ¸ù¾ÝÐèҪʵÏÖ²»Í¬µÄ¹¦ÄÜ¡£Ïß³ÌÄ£ÐÍ Struts Actions±ØÐëÊÇthread£safe·½Ê½£¬Ëü½ö½öÔÊÐíÒ»¸öʵÀýÈ¥´¦ÀíËùÓеÄÇëÇó¡£ËùÒÔactionÓõ½µÄËùÓеÄ×ÊÔ´¶¼±ØÐëͳһͬ²½£¬Õâ¸ö¾ÍÒýÆðÁËḬ̈߳²È«µÄÎÊÌâ¡£ Webwork 2 actionsÿһ¸öÇëÇó¶ÔÓ¦Ò»¸öaction£¬Òò´ËûÓÐÏ̵߳ݲȫÎÊÌ⡣ʵ¼ÊÉÏServlet ÈÝÆ÷¶ÔӦÿһ¸öÇëÇó»á²úÉúÐí¶àObject£¬ÕâÖÖÒ»¸öÇëÇó²úÉúÐí¶àobjectµÄÀý×ÓûÓÐÖ¤Ã÷¶ÔÐÔÄܲúÉúÌ«¶àµÄÓ°Ïì¡£ÏÖÔÚWebÈÝÆ÷¶¼ÊÇÕâô´¦ÀíServletµÄ¡£ ServletµÄÒÀÀµ Struts´¦ÀíÒ»¸öActionʱºò±ØÐëÒªÒÀÀµServletRequest and ServletResponse¡£ËùÒÔÕâÒ»²ã°ÚÍѲ»ÁËServerÈÝÆ÷¡£¶øserveltRequest¿ÉÄܻᱻweb²ãµÄContextʹÓᣠWebwork2 ÿһ¸öaction²»ÒÀÀµÈκβãºÍÈκÎÈÝÆ÷¡£ËûÃÇʹÓÃRequestºÍresponseÊÇͨ¹ýActionContext£¬ËùÒÔÕâ¸ö¶ÔÓÚÂß¼²ãµÄ·ÖÀëÊǺÜÖØÒªµÄ¡£²âÊÔ ÒòΪStrutsµÄÿһ¸öaction¶¼±ØÐëÓõ½requestºÍresponseËùÒÔ¶¼±ØÐëͨ¹ýweb²ãÀ´½øÐвâÊÔ¡£Õâ¾Íµ¼ÖÂÁËÐí¶à²âÊÔstruts¶¼ÒªÍ¨¹ýwebÈÝÆ÷£¨¾¡¹ÜÏÖÔÚÓÐÐí¶à²âÊÔ·½·¨cactus mock µÈ£©¡£ WebworkµÄactionÄܹ»Í¨¹ý¸³ÓèÒ»¶¨µÄÊôÐÔ¡£¾Í¿ÉÒÔÖ´ÐС£Í¬Ê±Äú¿ÉÒÔʹÓÃÒ»¸ömockµÄʵÀýÈ¥²âÊÔ£¬¶ø²»ÊÇͨ¹ýÆô¶¯webÈÝÆ÷À´½øÐвâÊÔ¡£ FormBean Struts ÐèÒªÒ»¸öFormBeansÕë¶Ôÿһ¸öForm¡£¶øÊ¹ÓÃDynaBeansʵ¼ÊÉÏûÓÐÌ«´óµÄÒâÒå¡£²»Äܹ»ºÜºÃµÄ´¦ÀíÏÖÓеÄÄ£ÐÍ¡£ Webwork Äܹ»¶¯Ì¬µÄÊÕ¼¯webµÄÊý¾ÝÈ»ºóÔÚ¸³Öµ¸øbean¡£Í¬Ê±Ëü»¹Äܹ»Ê¹ÓÃFormBeanģʽ¡£Webwork2»¹ÔÊÐíÏÖÓеÄModelDrvien½øÐе¼Èë´¦Àí¡£Äܹ»´¦ÀíËü¾ÍÏñ´¦Àíaction×Ô¼ºµÄÊôÐÔÒ»Ñù¡£Ç°¶Ë±í´ïÓïÑÔ Struts´ó²¿·ÖʹÓõÄÊÇJSTL EL£¨JSP2¡£0£©È¥»ñµÃÊý¾ÝµÄ¡£ÔÚCollectionÉÏÃæ´¦ÀíÏԵúÜÈõ¡£ Webworkǰ¶Ë¿ÉÒÔʹÓÃJSTLͬʱҲ¿ÉÒÔʹÓöàÖÖ±íÏÖÐÎʽ¡£Æ©È磺velocity freemaker jspparer xmlµÈµÈ¡£Webwork2 ÀûÓÃongl½¨Á¢Ò»¸övaluestackÀ´ËѼ¯Êý¾ÝÀàÐ͵Äת»» Struts FormBeans°ÑËùÓеÄÊý¾Ý¶¼×÷ΪstringÀàÐÍ¡£µÃµ½Ò»¸ö×Ô¼ºÐèÒªµÄÀàÐÍÈ»ºóչʾ¸øÓû§ÊǺÜÀ§Äѵġ£ Webwork2 Êý¾Ý¶¼ÊÇת»»³ÉJavaÖеÄÀàÐÍ¡£Õâ¸ö¸ù¾ÝFormµÄÀàÐÍ×Ô¶¯×ª»»¡£È»ºó²Ù×÷ÕâЩbeanÊ®·Ö·½±ã¡£¶ÔAction Ö´ÐÐǰºÍºóµÄ´¦Àí Struts´¦ÀíactionµÄʱºòÊÇ»ùÓÚclassµÄhierarchies£¬ºÜÄÑÔÚaction´¦ÀíǰºÍºó½øÐвÙ×÷¡£ Webwork2 ÔÊÐíÄú´¦Àíaction¿ÉÒÔͨ¹ýinterceptor£¬¾ÍÊÇÔÚÿһ¸öaction´¦Àíǰ»òÕߺó½øÐÐÆäËü²Ù×÷¡£ÑéÖ¤´¦Àí ÒòΪstrutsµÄFormBeanµÄÊôÐÔ¶¼±»ÈÏΪÊÇstringÀàÐÍ¡£Ðí¶àÀàÐ͵ÄÑéÖ¤¶¼Òª½øÐÐÀàÐÍת»»µÄ´¦Àí¡£FormBean¶ÔÒ»¸öÑéÖ¤Á´µÄ´¦ÀíÏÔÈ»²»ÐС£ ¶øwebwork2µÄÑéÖ¤²ÉÓõÄÊÇinterceptorÉè¼ÆÄ£Ê½¡£ËüµÄÕâÖÖÑéÖ¤·½Ê½¾ö¶¨ÁËËüÊ®·ÖÁé»î¡£¶øÇÒÒ»¸öÑéÖ¤¿ÉÒÔÖØ¸´²»¶ÏµÄʹÓýö½öÐèÒªÒ»¸öXMLÎļþµÄ¶¨Ò塣ʵ¼ÊÉÏwebwork2µÄÑéÖ¤ÊDzÉÓÃÁËxworkµÄÑéÖ¤¿ò¼Ü¡£ ActionµÄÁ´µÄ¿ØÖÆ StrutsÀïÃæÃ¿Ò»¸öaction¶ÔÓ¦Ò»¸ö´¦Àí£¬Èç¹ûÒ»¸öactionתÏòÁíÍâÒ»¸öaction¾ÍºÜÀ§ÄÑÁË¡£ WebworkʹÓÃÒ»¸öÇ¿´óµÄDispatcherChainÈ¥´¦ÀíÕâ¸öactionÁ´¡£ºÜ·½±ãµÄ´ÓÒ»¸ö´¦Àíµ½ÁíÍâÒ»¸ö´¦Àí¡£ ²Î¿¼Á´½Ó£º http://wiki.opensymphony.com/space/WebWork2 -------------------------------------------------------------------- Maverick MaverickÐû³Æ¼¯³ÉÁËStruts¡¢Webword¡¢Cooco ÖÐ×îºÃµÄÌØÐÔ£¬ÊÇÒ»¸ö¼ò½àÁé»î¡¢³¹µ×ʵÏÖmvcģʽµÄ³éÏó¿ò¼Ü£¬ÔÊÐíÄã²ÉÓò»Í¬µÄÄ£°åºÍת»»¼¼ÊõʵÏÖ±íʾ²ãÂß¼¡£¾ßÌåÌØÐÔÈçÏ£º l ¼ò½àʵÓá¢Ò×ÓÚÀí½â¡£×ñѼò½àµÄÉè¼ÆÊÇ×îºÃʵÏÖµÄÔÔò£¬Ìṩ¸øÄã×îÐèÒªµÄ¶«Î÷¡£ÆäºËÐIJãÉè¼Æ¼ò½à¡¢¹¦ÄÜÇ¿´ó¡¢À©Õ¹ÐÔÇ¿¡£ l ²ÉÓòåÈëʽÀ©Õ¹¼¯³ÉµÄÉè¼ÆË¼Ï룬ºËÐŤ×÷Á÷³Ì¼ò½àÃ÷ÁË£¬ÄÜÔÚ×î¶ÌµÄʱ¼äÄÚÒÔ×îСµÄѧϰ³É±¾Àí½â¿ò¼ÜµÄ¾«Ëè¡£À©Õ¹Ä£¿é·¶Î§¹ã¡¢¹¦ÄÜÇ¿¡¢ÄÜÁé»îÔËÓᣠl ÍêÈ«¶ÀÁ¢µÄ±íʾ²ãÉè¼Æ¡£¸ù¾ÝϲºÃ¿ÉÑ¡ÔñJSP£¨»ùÓÚJSTL±ê×¼£© Velocity Domify/XSLTµÈ¡£ l ¿ÉÅäÖõÄת»»¹ÜµÀ¡£ÄÜʵÏÖJavabeanÊý¾Ýµ½XMLµÄ͸Ã÷ת»»£¬°üÀ¨Ö§³ÖXSLT, DVSL, FOP, Perl.µÈµÄת»»¡£ l »ùÓÚ±ê×¼XMLµÄÅäÖᣠl ͬʱ֧³ÖStrutsÀàÐ͵ĶÀÁ¢¿ØÖÆÆ÷ºÍWebworkÀàÐ굀 "throwaway" ¿ØÖÆÆ÷¡£ l ¶àƽ̨µÄʵÏÖ¡£¿ÉÀ©Õ¹µ½.NETºÍPHP. ²Î¿¼Á´½Ó£º http://www-900.ibm.com/developerWorks/cn/java/l-Maverick/ Post by befresh @ 10:51