REST·ç¸ñµÄJava MVC¿ò¼Ü£ºWebWind¼ò½é
¼¸Ììǰ£¬¸Õ¿´ÁËIBM DeveloperworksÉÏij¸ö¼¼Êõ´óÅ£×öµÄ¹ØÓÚÉè¼ÆREST·ç¸ñµÄJava MVC¿ª·¢¿ò¼ÜµÄÎÄÕ£¬½ñÌìÔÚGoogle CodeÉÏ·¢ÏÖÁËÒ»¸ö»ùÓÚJavaµÄREST·ç¸ñµÄMVC¿ª·¢¿ò¼Ü£¬È¡ÃûWebWind
¡£
“WebWindÊÇÒ»¸öJava MVC¿ò¼Ü¡£ºÍ³£¼ûµÄMVC¿ò¼ÜÈçStruts¡¢WebWork²»Í¬£¬WebWindÌìÉúÖ§³ÖÓû§ÓѺõÄURL£¬ÈÃWebÓ¦ÓóÌÐò¶ÔËÑË÷ÒýÇæ¸ü¼ÓÓѺ㬿ª·¢¸ü¼òµ¥¡£”ÔÚWebWindµÄ¼ò½éÖÐÈçÊÇдµÀ¡£
WebWindÊÇ»ùÓÚApache License 2.0µÄ¿ªÔ´ÐÒ鿪·¢£¬Òò´ËÓû§¿ÉÒÔÃâ·ÑʹÓá£
WebWind·Ç³£¼òµ¥ÓëÇáÁ¿£¬jarÎļþÒ²Ö»ÓÐ86K£¨º¬Ô´´úÂëÎļþ£©¡£
ÁíÍ⣬WebWind³ä·ÖʹÓÃÁËJava5µÄMetadata£¨±ê¼Ç£©£¬²¢ÇÒÎÞÐèÓû§ÔÙÅäÖöîÍâµÄÅäÖÃÎļþ£¬Ò²ÎÞÐèÏñStrutsÒ»ÑùʵÏÖÌØ¶¨µÄÈç “Action”»ò“Controller”Ö®ÀàµÄ½Ó¿Ú£¬Ö»ÐèÔÚÒ»¸öÆÕͨµÄÀàµÄ´¦Àí·½·¨Ç°¼ÓÉÏ“@Mapping
”±ê¼Ç£¬WebWind±ã×Ô¶¯´¦Àí¶ÔÓ¦URIµÄÇëÇó¡£Ä¿Ç°£¬WebWindÄÚÖÃSpringºÍGuiceÁ½ÖÖIoCÈÝÆ÷£¬²¢Ö§³ÖJSP¡¢VelocityµÈÖÚ¶àµÚÈý·½×é¼þ¡£
ʹÓÃWebWind£¬ÐèÒªÔÚweb.xmlÖÐÌí¼ÓWebWindʹÓõÄServletÉùÃ÷£¬³ý´ËÖ®Í⣬ÔÙÎÞʹÓÃWebWind±ØÐëµÄÅäÖÃÎļþ£¨Èç¹ûʹÓÃSpring£¬»¹ÐèÒªÅäÖÃapplicationContextµÈÅäÖÃÎļþ£¬µ«ÕâÊÇʹÓÃSpring±ØÐëµÄ£©£¬¹ØÓÚWebWindµÄÅäÖÃ˵Ã÷£¬Çë²Î¿¼Google CodeÉϵÄWebWindÅäÖÃ
¡£
ʹÓÃWebWindµÄÒªÇó£º
Java 5»ò¸ü¸ß°æ±¾¡£
Servlet 2.4¼æÈݵÄWeb·þÎñÆ÷£¨»ò¸ü¸ß°æ±¾£©¡£
Ò»¸öIoCÈÝÆ÷£¬ÀýÈçSpring»òGuice¡£
WebWind²»½öʹÓ÷½±ã£¬¶øÇÒ·½±ã¸÷ÖÖ³£ÓòÙ×÷µÄ´¦Àí·½·¨£¬Í¬Ê±Ò×ÓÚÀ©Õ¹£¬¹ØÓÚWebWindµÄÏêϸ¿ª·¢Ö¸ÄÏ£¬Çë²Î¿¼Google CodeÉϵÄÎĵµ
¡£
Ïà¹ØÎĵµ£º
xmlÖмüÃûΪ Ó¢ÎÄ£¬¼üֵΪÖÐÎÄ£¬¶ÁÈ¡½âÎö£¬È¡ÖµÊµÏÖ·Òë
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList; ......
1.ʵÀý³ÉÔ±ºÍÀà³ÉÔ±
ʵÀý³ÉÔ±ÖÐÊÇÊôÓÚ¶ÔÏóµÄ,°üÀ¨ÊµÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨,Ö»Óд´½¨Á˶ÔÏóÖ®ºó²ÅÄÜ·ÃÎÊʵÀý³ÉÔ±±äÁ¿ºÍʵÀý³ÉÔ±·½·¨.
Àà³ÉÔ±ÊÇÊôÓÚÀàµÄ,Àà³ÉÔ±ÐèÒªÓùؼü×Östatic±êʶ,Ò²³ÆÎª¾²Ì¬³ÉÔ±,Àà³ÉÔ±°üÀ¨Àà³ÉÔ±±äÁ¿ºÍÀà³ÉÔ±·½·¨,ͨ¹ýÀàÃû¿ÉÒÔÖ±½Ó·ÃÎÊÀà³ÉÔ±±äÁ¿ºÍµ÷ÓÃÀà³ÉÔ±·½·¨,¼´Ê¹Ã»Óд´½ ......
±àÕß°´£ºÔçÔÚÉÏÊÀ¼Í90Äê´ú£¬¸÷ÖÖ¹ØÓÚJavaÒÑËÀµÄ¶ÏÑÔ¾ÍÒѾ¿ªÊ¼³öÏÖ¡£Ê®¶àÄêÖ®ºóµÄ½ñÄ꣬ÕâÑùµÄÑÔÂÛÒÀÈ»²»¾øÓÚ¶ú¡£ÒԹؼü´Ê"java is dead"ÔÚGoogleÖÐËÑË÷£¬µÃµ½´óÔ¼199,000Ìõ½á¹û£¬Óɴ˿ɼû²»ÉÙÈËд¹ý»òÆÀÂÛ¹ýJavaµÄËÀÍö¡£Õë¶ÔÕâÃÅÒÑËÀÊ®¶àÄêµÄÓïÑÔ£¬×÷ÕßÔÚÎÄÖиÅÊöÁ˵±½ñJavaµÄµØÎ»¼°Æä·¢Õ¹Ç÷ÊÆ£¬ÓÐÁ¦µØ»Ø»÷ÁËÕâЩ´«ÑÔ¡£È«Î ......
×î½ü°àÀïµÄͬѧ¶¼Ã¦×ű¨°à£¬Óиö´ïÄÚÊÇjavaÅàѵ£¬ÓиöÉîÀ¶ÊÇC++Åàѵ£¬ÍøÉÏ¿´ÁËЩÌû×Ó˵ʲôµÄ¶¼ÓУ¬×ÔÎҸоõÅàÑøÒ»¸öC++³ÌÐòÔ±µÄÖÜÆÚÒª±ÈÅàÑøÒ»¸öjAVA³ÌÐòÔ±µÄÖÜÆÚ³¤ºÜ¶à£¬µ±È»£¬C++ÒªÊÇѧµÄºÃµÄ»°¿Ï¶¨±ÈѧjavaµÄÅ££¬µ«ÊǸ¶³öµÄ´ú¼Û¸öÈËÈÏΪÊÇÓкܴó²î¾àµÄ¡£¶ÔÓÚÏÖÔÚÊг¡É϶ÔÓÚÓïÑÔµÄÐèÇóÒ² ......
public class MultiThread {
public static void main(String[] args) {
ProductStack box = new ProductStack("box");
Producer p1 = new Producer(box, "p1");
Producer p2 = new Producer(box, "p2");
Producer p3 = new Producer(box, "p3");
&nb ......