èªç¦»é¦æ¬¡åå¸ 10 å¤å¹´ä»¥æ¥ï¼Spring MVC æ¡æ¶ä»ç¶é¢å äºç«äºå¯¹æãéçæ¶é´çæ¨ç§»ï¼å®æ©å±æä¸ä¸ªå®æ´çMVCæ¡æ¶ï¼å¹¶ä¸ææ¼åæä¸ä¸ªå ¨é¢çJavaæ¡æ¶ãä½ä¸ºéæç¹æ®åºç¨ç§å¦çåå±J2EE / Javaæ¡æ¶ï¼è¯¥æ¡æ¶ä¸ºè½¯ä»¶å·¥ç¨å¸æä¾äºç¨äº Web åºç¨ç¨åºé ç½®ï¼åºç¨ç¨åºå¼ååå®å ¨é¡¹ç®çå®æ´å·¥å ·å ã该æ¡æ¶ä»¥å ¶åè¾¾ççæç³»ç»èé»åï¼å®æä¾äºè®¸å¤éå é项ï¼ä»SOAP Webæå¡ï¼REST APIå°å®å ¨å å¯åææã
ä¼ç¹ï¼
å¢å¼ºæ¨¡ååçè½»é级容å¨
å¯ä»¥è·¨åç§å¹³å°è¿è¡é¨ç½²
çµæ´»çä¾èµæ³¨å ¥ä½¿ç¨
å æ¬XMLï¼Javaå注éé ç½®çä¸è·¯é ç½®
éè¿POJO'sç¼è§£äºæ³¨å°æµè¯çæ°æ®
缺ç¹ï¼
å¦ä¹ æ²çº¿æ¯è¾é¡å³
æ°æå®æ½æ¯è¾å°é¾
éè¦è±è´¹æ¶é´é¨ç½²
Oracle 认为 JSF æ¯ä¸ä¸ªå®ç¨ç½ç» Java æ¡æ¶ï¼æ¨å¨ç®ååºäºWebçUIçéæå¼åãè½ç¶è¿ä¸ªæ¡æ¶å¨Javaå¼åæ¹é¢ä¸æ¯å¾å¥½ï¼ä½æ¯Oracleæä¾çææ¡£å¾å®¹æ使ç¨ãè¿æ¯ä¸ç§æ ååçææ¯ï¼æ¥æ丰å¯çå·¥å ·ååºï¼å¯ä»¥ä¸ºä½ å¨é«åº¦å¤æçåºç¨ç¨åºä¸éºå¹³éè·¯ãJSFè§èå 许å¯ç¨æ åç¨æ·çé¢ç»ä»¶çéç¨åæ©å±ãå®åå°äºå建åç»´æ¤Javaåºç¨ç¨åºå¨æå¡å¨ä¸è¿è¡åå¨ç®æ 客æ·ç«¯ä¸åç° UI åºç¨ç¨åºççè¦ãä¸ä» å¦æ¤ï¼å®è¿æä¾ç®åçæ°æ®ä¼ è¾åå¯éç¨çUIç»ä»¶ã
ä¼ç¹
ç±äºå®å¯ä»¥å建å¯éå¤ä½¿ç¨çç»ä»¶ï¼å æ¤æçæ´é«ä¸ä¸è´
æ¯æåEJBè¿æ ·çJSFå®ç°çä¼ç§ä¾åºåï¼IBMï¼Oracleï¼JBossçï¼
åå¤ä½¿ç¨åApacheï¼Infragisticsï¼Richfacesçç»ä»¶
æ¹ä¾¿å¼å人åï¼ç¹å«æ¯é£äºä½¿ç¨IDE软件ç人
JSFç缺ç¹
é¡å³çå¦ä¹ æ²çº¿
没æèè书ç¾å·¥å ·
ä¸å¯æ©å±
åå§Ajaxæ¯æ
缺ä¹çµæ´»æ§
Google Web Toolkitï¼GWTï¼æ¯ä¸ä¸ªå¼æºå¼åå·¥å ·éï¼ä½¿å¼å人åè½å¤æ建åä¼åå¤æçJSå端åºç¨ç¨åºãå®ç主è¦ç®æ æ¯æä¾é«æ§è½Webåºç¨ç¨åºçå¼åï¼å³ä½¿å¼å人åä¸çæ JavaScriptï¼XMLHttpRequest ææµè§å¨çåå·é¨çç¥è¯ã为äºè®©å ¶å¯ä¿¡åº¦é«ï¼è°·æèªå·±ç许å¤äº§åï¼å æ¬ AdSenseï¼Hotel Finderï¼Walletï¼AdWords çé½ä½¿ç¨ GWTã
ä¼ç¹ï¼
æ´å®¹æå¦ä¹
å ç½®IDEæ¯æéæJava代ç
å¯ä»¥å¨å®¢æ·ç«¯å¤§éæ建ååºå¼Webåºç¨ç¨åºï¼å¹¶åå°æå¡å¨ç«¯ççäº
å¯ä»¥è¿ä»£å°å¹³æ»å°ä»å ¸åçWebåºç¨ç¨åºè¿ç§»å°GWTåºç¨ç¨åº
å³ä½¿å¨ä½¿ç¨AJAXçæ åµä¸ï¼ä¹å ·æå ç½®çæµè§å¨åéæé®æ¯æ
缺ç¹ï¼
ä» å¯¹Javaå¼å人åæå©ï¼å¯¹PHPæ.NETçå¼å人å没æ太大帮å©
ç±äºå¿«éåå±çGWTï¼æ许å¤çæ¬å¾é¾è·å¾ææåè½åæ¥å£
ç¼è¯éåº¦æ ¢ï¼éè¦ä½¿ç¨ä¸ææ¹æ³æ¥å®ä¹ç»æ
Grails æ¯ä¸ä¸ªå¼æºçJava Webæ¡æ¶ï¼æ¨å¨å°å¼å人åçç产åä¸é»è®¤å¼åConvention-over-Configuration APIç¸æ并论ãå®ä¸Javaèææºï¼JVMï¼ç¸éæï¼åæ¶æä¾å¼ºå¤§çåè½ï¼å æ¬ç¼è¯æ¶å ç¼ç¨ï¼å¼æ¥ç¼ç¨åé¢åç¹å®è¯è¨ãGrailséç¨å¼ºå¤§çè§å¾ææ¯ï¼éæçNoSQL / ORMæ¯æï¼æ件åSpringæ¯æçä¾èµæ³¨å ¥è¿è¡æ´æ°ãè®©ä½ å¯ä»¥è½»æ¾éæ并äºæä½Javaï¼Java EEåJVM容å¨ã
ä¼ç¹ï¼
Grailsæä¾äºä¸ä¸ªå¿«éçå¼åå¨æ
é常éåå°ååä¸å项ç®
åç§æ件å¯ä¾éæ©
ç®åè令人ææçææ¡£
å¯ä»¥å¨ä¸éå¯æå¡å¨çæ åµä¸æ´æ¹é ç½®
缺ç¹ï¼
使ç¨è¿è¡æ¶è¯è¨å¯è½ä¼å¾å°é¾
å¼åå¤çº¿ç¨åºç¨ç¨åºï¼GORM å¯è½ä¼åºç°é®é¢
å¤æçéæè¿ç¨
延è¿è¿è¡æ¶é´
5.Struts 2 - Java Webæ¡æ¶
ApacheçStrutsæ¯ä¸ä¸ªç¨äºå¼åç°ä»£Java Webåºç¨ç¨åºçå¼æºå è´¹MVCæ¡æ¶ãå®å å«ä¸ç»ç±»åæ¥å£ï¼å ±ååä½å¼åWebåºç¨ç¨åºãå®éç¨äºè®¸å¤Javaåºç¨ç¨åºçç½ç»æ¡æ¶ï¼å¹¶ä¸åå°äºå¾å¤ç¤¾åºçæ¯æã为äºè¿ä¸æ¥æ©å±Struts Javaæ¡æ¶ï¼Struts 2 ä½ä¸ºå继è æäºå¾å¤§çæ¹åãè¿ä¸ªæ¡æ¶æéåäºå¼åå½ä»£ Java EE web åºç¨ç¨åºçå·¥ç¨å¸ï¼Apache 软件åºéä¼åå© Struts 2 为å¼å人åæä¾äºä¸ä¸ªç¨äºå¼åé¢åç½ç»çï¼ä¼ä¸çº§åºç¨ç¨åºï¼å¹¶ä¼åæ´ä¸ªå¼åæµç¨çå·¥å ·
ä¼ç¹ï¼
没æ线ç¨å®å ¨é®é¢
ä¾èµæ³¨å ¥ä½¿å¾æµè¯æ´ç®å
å®å¯ä»¥ä½¿ç¨â对象å¾å¯¼èªè¯è¨âï¼OGNLï¼
Struts 2æ¡æ¶çServletä¸ä¸æ以ç®åçå°å¾å½¢å¼è¡¨ç¤º
å®æ¯æéè¿éªè¯æ¹æ³è¿è¡æå¨éªè¯ï¼å¹¶ä¸è¿å å«åæ¡æ¶éªè¯
缺ç¹ï¼
ç±äºå®ä¸Struts 1å®å ¨ä¸åï¼é¾ä»¥è¿ç§»
Struts 2 ææ¡£é常æé
ç±äºæ档管çä¸åï¼æ°ç¨æ·å¾é¾åç°å®çä¼ç¹