´óÐÍJava WebϵͳѡÐÍÎÊÌâ̽ÌÖ
ת×ÔInfoq
http://www.infoq.com/cn/news/2007/09/java_web_architecture_turnning
һλIDÊÇjackson1225µÄÍøÓÑÔÚJavaEyeѯÎÊÁËÒ»¸ö´óÐÍWebϵͳµÄ¼Ü¹¹ºÍ²¿ÊðÑ¡ÐÍÎÊÌ⣬ϣÍûÄÜÌá¸ßÏÖÓеĻùÓÚJavaµÄWebÓ¦ÓõķþÎñÄÜÁ¦¡£ÓÉÓڼܹ¹Ä£Ê½ºÍ²¿Êðµ÷ÓÅÒ»Ö±ÊÇJavaÉçÇøµÄÈÈÃÅ»°Ì⣬Õâ¸öÎÊÌâÒý·¢Á˺ܶàÈÈÐÄÍøÓѵÄÌÖÂÛ£¬ÆäÖÐһЩÒâ¼û¶ÔÆäËü´óÐÍWebÏîĿҲÓкܺõÄÖ¸µ¼ÒâÒå¡£ÔÚÌÖÂÛÖ®³õjackson1225ÕâÑùÃèÊöÁ˵±Ç°µÄÓ¦Óõļܹ¹ºÍ²¿Êð·½°¸£º
Ŀǰϵͳ¼Ü¹¹ÈçÏÂ:
web²ã²ÉÓÃstruts+tomcatʵÏÖ£¬Õû¸öϵͳ²ÉÓÃ20¶ą̀web·þÎñÆ÷£¬Æä¸ºÔؾùºâ²ÉÓÃÓ²¼þF5À´ÊµÏÖ£»
Öмä²ã²ÉÓÃÎÞ״̬»á»°Bean+DAO+helperÀàÀ´ÊµÏÖ£¬¹²3̨weblogic·þÎñÆ÷£¬²¿ÊðÓжà¸öEJB£¬Æä¸ºÔؾùºâÒ²²ÉÓÃF5À´ÊµÏÖ£»
Êý¾Ý¿â²ãµÄ²Ù×÷ÊÇ×Ô¼ºÐ´µÄͨÓÃÀàʵÏֵģ¬Á½Ì¨ORACLEÊý¾Ý¿â·þÎñÆ÷£¬·Ö±ð´æ·ÅÓû§ÐÅÏ¢ºÍÒµÎñÊý¾Ý£»Ò»Ì¨SQL SERVERÊý¾Ý¿â£¬ÊǵÚÈý·½µÄÒµÎñÊý¾ÝÐÅÏ¢£»
web²ãµ÷ÓÃEJBÔ¶³Ì½Ó¿ÚÀ´·ÃÎÊÖмä¼þ²ã¡£web²ãÊ×ÏÈͨ¹ýÒ»¸öXMLÅäÖÃÎļþÖÐÅäÖõÄEJB½Ó¿ÚÐÅÏ¢À´µ÷ÓÃÏàÓ¦µÄEJBÔ¶³Ì½Ó¿Ú£»
¸ÃϵͳÖÐÒ»´Î²Ù×÷Éæ¼°µ½Á½¸öORACLE¿âÒÔ¼°Ò»¸öSQL SERVER¿âµÄ·ÃÎʺͲÙ×÷£¬¼´ÓÐÈý¸öÊý¾Ý¿âÁ¬½Ó£¬ÔÚÒ»¸öÊÂÎñÖÐÍê³É¡£
ÕâÑùµÄ¼Ü¹¹ÆäʵºÜ¶à¹«Ë¾¶¼ÔÚʹÓã¬ÒòΪStrutsºÍTomcat·Ö±ðÊÇ×îÁ÷ÐеÄJava Web MVC¿ò¼ÜºÍServletÈÝÆ÷£¬¶øF5¹«Ë¾µÄ¸ºÔؾùºâÊǺáÏòÀ©Õ¹³£¼ûµÄ½â¾ö·½°¸£¨ÀýÈçÅäÖÃsession sticky·½°¸£©¡£ÓÉÓÚÕâ¸öϵͳÖÐÓпçÊý¾ÝÔ´µÄÊÂÎñ£¬ËùÒÔʹÓÃWeblogic Server EJBÈÝÆ÷ºÍÖ§³ÖÁ½½×¶ÎÌá½»µÄÊý¾Ý¿âÇý¶¯¾Í¿ÉÒÔ±£Ö¤¿çÊý¾ÝÔ´µÄÊÂÎïÍêÕûÐÔ£¨µ±È»£¬ÈÝÆ÷¹ÜÀíµÄ·Ö²¼Ê½ÊÂÎñ²¢·ÇÊÇΨһºÍ×îÓŵĽâ¾ö·½°¸£©¡£
µ«ÊÇËæ×ÅRod JohnsonÖØÁ¿¼¶µÄÖø×÷¡¶J2EE Development without EJB¡·ºÍÆäÖеÄSpring¿ò¼ÜµÄÁ÷ÐУ¬ÇáÁ¿¼¶¿ò¼ÜºÍÇáÁ¿¼¶ÈÝÆ÷µÄ¸ÅÄîÒѾÉîÈëÈËÐÄ¡£ËùÒÔ¶ÔÓÚjackson1225Ìá³öµÄÕâ¸ö³¡¾°£¬´ó¶àÊýÍøÓѶ¼Ìá³öÁËÖÃÒÉ£¬ÈÏΪÕâ¸öϵͳÀÄÓÃÁ˼¼Êõ£¬ÍêÈ«ÊÇÔÚÀË·ÑÇ®¡£ÍøÓÑÃÇ´ó¶¼ÈÏΪSLSB£¨ÎÞ״̬»á»°Bean£©ÍêȫûÓбØÒª³öÏÖÔÚÕâ¸ö³¡¾°ÖУ¬ÈÏΪSLSBͨ¹ýÔ¶³Ì½Ó¿Ú·ÃÎʱ¾µØ×ÊÔ´»áÓкܴóµÄÐÔÄÜ¿ªÏú£¬ÕâÖÖ¹ÛµãÒ²ÊÇRod johnsonÔÚwithout EJBÖÐÅúÅÐEJB 2.xÖеÄÒ»´ó·´Ä£Ê½¡£
ÓÉÓÚJavaEEÊÇÒ»¸öÒÔģʽ¼û³¤µÄ½â¾ö·½°¸£¬Ä£Ê½ºÍ¼Ü¹¹ÔÚJavaEEÖÐÕ¼ÓкÜÖØÒªµÄµØÎ»£¬ËùÒԺܶàÒµÄÚר¼ÒÒ²¶¼¾¯Ìè“·´Ä£Ê½£¨Anti-patterns£©”µÄ³öÏÖ¡£¶ÔÓÚÉÏÃæËùÊöµÄ·½°¸ÊÇ·ñÊÇ·´Ä£Ê½£¬jackson1225ÂíÉÏÕ¾³öÀ´Éê±ç£º
ÎÒÃÇÏîÄ¿¾ÍÊǰÑEJB×÷Ϊһ¸öFacade£¬Ö»ÊÇÌṩ¸øWEB²ãµ÷ÓõÄÔ¶³Ì½Ó¿Ú£¬
Ïà¹ØÎĵµ£º
System.out.println(2|0); //0010 0000 =>0010 = 2
System.out.println(2|1); //0010 0001 =>0011 = 3
System.out.println(3|2); //0011 0010 =>0011 = 3
System.out.println(3&2); //0011 0010 =>0010 = 2
/*
ÔÚjavaÖÐ0´ú±í¼Ù, 1´ú±íÕæ
00011|0010 ´ÓÓÒµ½×ó±È½Ï0|1 = 1, 1|0 = ......
public class Regex {
/**
* ¼ì²éemailÊäÈëÊÇ·ñÕýÈ·
* ÕýÈ·µÄÊéд¸ñʽΪ username@domain
* @param value
* @return
*/
public boolean checkEmail(String value, int length) {
return value.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)* ......
jar Ó¦Óà ÏÈ´ò¿ªÃüÁîÌáʾ·û(win2000»òÔÚÔËÐпðÀïÖ´ÐÐcmdÃüÁwin98ΪDOSÌáʾ·û)£¬ÊäÈëjar
-help,È»ºó»Ø³µ(Èç¹ûÄãÅÌÉÏÒѾÓÐÁËjdk1.1»òÒÔÉϰ汾)£¬¿´µ½Ê²Ã´£º
Ó÷¨£ºjar {ctxu}[vfm0Mi] [jar-Îļþ]
[manifest-Îļþ] [-C Ŀ¼] ÎļþÃû ...
Ñ¡Ï
-c ´´½¨ÐµĴ浵
-t Áгö´æµµÄÚÈݵÄÁбí
-x
Õ¹¿ª´æµµÖеÄÃüÃûµ ......
ͬÊÂÒªÒ»¸öºÍAccess¹¦ÄÜÀàËÆµÄÈí¼þ£¬µ«ÊÇÒªÂú×ãËýÌá³öµÄ¸÷ÖÖÒªÇó¡£ËýÖªµÀÎÒÊÇ×öÈí¼þµÄ£¬ËùÒÔÈÃÎÒ¸øÐ´Ò»¸ö£¬ÏëÏëËýµÄÌáµÄÐèÇóºÜÈÝÒ×ʵÏÖ£¬ËùÒԾʹðÓ¦ÁË¡£ÒòΪAccessµÄ¹¦ÄÜËý¾ÍÓÃÀ´¹ÜÀí±í¸ñ£¬ÈÕ³£µÄºÜ¶à±í¸ñºÜ¶à£¬¶¼ÐèÒª½øÐеç×ÓµµµÄµÇ¼Ç¡£´ËÈí¼þ¿Ï¶¨ÒªÊµÏÖ±í¸ñ²Ù×÷µÄ¹¦ÄÜ£¬ËäÈ»¸ãJAVAÒѾ¿ìÁ ......