ʵսWEB ·þÎñÆ÷£¨JAVA±àдWEB·þÎñÆ÷£©
¡¡¡¡Ò»¡¢³¬Îı¾´«ÊäÐÒé
¡¡¡¡¡¡¡¡1.1 HTTPÇëÇó
¡¡¡¡¡¡¡¡1.2 HTTPÓ¦´ð
¡¡¡¡¶þ¡¢SocketÀà
¡¡¡¡Èý¡¢ServerSocketÀà
¡¡¡¡ËÄ¡¢Web·þÎñÆ÷ʵÀý
¡¡¡¡¡¡¡¡4.1 HttpServerÀà
¡¡¡¡¡¡¡¡4.2 RequestÀà
¡¡¡¡¡¡¡¡4.3 ResponseÀà
¡¡¡¡Îå¡¢±àÒëºÍÔËÐÐ
¡¡¡¡===================
¡¡¡¡ÕýÎÄ£º
¡¡¡¡===================
¡¡¡¡Web·þÎñÆ÷Óë¿Í»§¶ËµÄͨÐÅʹÓÃHTTPÐÒ飨³¬Îı¾´«ÊäÐÒ飩£¬ËùÒÔÒ²½Ð×öHTTP·þÎñÆ÷¡£ÓÃJava¹¹ÔìWeb·þÎñÆ÷Ö÷ÒªÓöþ¸öÀ࣬java.net.SocketºÍjava.net.ServerSocket£¬À´ÊµÏÖHTTPͨÐÅ¡£Òò´Ë£¬±¾ÎÄÊ×ÏÈÒªÌÖÂÛµÄÊÇHTTPÐÒéºÍÕâÁ½¸öÀ࣬ÔÚ´Ë»ù´¡ÉÏʵÏÖÒ»¸ö¼òµ¥µ«ÍêÕûµÄWeb·þÎñÆ÷¡£
¡¡¡¡Ò»¡¢³¬Îı¾´«ÊäÐÒé
¡¡¡¡Web·þÎñÆ÷ºÍä¯ÀÀÆ÷ͨ¹ýHTTPÐÒéÔÚInternetÉÏ·¢ËͺͽÓÊÕÏûÏ¢¡£HTTPÐÒéÊÇÒ»ÖÖÇëÇó-Ó¦´ðʽµÄÐÒé——¿Í»§¶Ë·¢ËÍÒ»¸öÇëÇ󣬷þÎñÆ÷·µ»Ø¸ÃÇëÇóµÄÓ¦´ð¡£HTTPÐÒéʹÓÿɿ¿µÄTCPÁ¬½Ó£¬Ä¬È϶˿ÚÊÇ80¡£HTTPµÄµÚÒ»¸ö°æ±¾ÊÇHTTP/0.9£¬ºóÀ´·¢Õ¹µ½ÁËHTTP/1.0£¬ÏÖÔÚ×îеİ汾ÊÇHTTP/1.1¡£HTTP/1.1ÓÉ RFC 2616 ¶¨Ò壨pdf¸ñʽ£©¡£
¡¡¡¡±¾ÎÄÖ»¼òÒª½éÉÜHTTP 1.1µÄÏà¹ØÖªÊ¶£¬µ«Ó¦¸Ã×ãÒÔÈÃÄãÀí½âWeb·þÎñÆ÷ºÍä¯ÀÀÆ÷·¢Ë͵ÄÏûÏ¢¡£Èç¹ûÄãÒªÁ˽â¸ü¶àµÄϸ½Ú£¬Çë²Î¿¼RFC 2616¡£
¡¡¡¡ÔÚHTTPÖУ¬¿Í»§¶Ë/·þÎñÆ÷Ö®¼äµÄ»á»°×ÜÊÇÓɿͻ§¶Ëͨ¹ý½¨Á¢Á¬½ÓºÍ·¢ËÍHTTPÇëÇóµÄ·½Ê½³õʼ»¯£¬·þÎñÆ÷²»»áÖ÷¶¯ÁªÏµ¿Í»§¶Ë»òÒªÇóÓë¿Í»§¶Ë½¨Á¢Á¬½Ó¡£ä¯ÀÀÆ÷ºÍ·þÎñÆ÷¶¼¿ÉÒÔËæÊ±ÖжÏÁ¬½Ó£¬ÀýÈ磬ÔÚä¯ÀÀÍøÒ³Ê±Äã¿ÉÒÔËæÊ±µã»÷“Í£Ö¹”°´Å¥Öжϵ±Ç°µÄÎļþÏÂÔØ¹ý³Ì£¬¹Ø±ÕÓëWeb·þÎñÆ÷µÄHTTPÁ¬½Ó¡£
¡¡¡¡1.1 HTTPÇëÇó
¡¡¡¡HTTPÇëÇóÓÉÈý¸ö²¿·Ö¹¹³É£¬·Ö±ðÊÇ£º·½·¨-URI-ÐÒé/°æ±¾£¬ÇëÇóÍ·£¬ÇëÇóÕýÎÄ¡£ÏÂÃæÊÇÒ»¸öHTTPÇëÇóµÄÀý×Ó£º
GET /servlet/default.jsp HTTP/1.1
Accept: text/plain; text/html
Accept-Language: en-gb
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/ch8/SendDetails.htm
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Content-Length: 33
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
userName=JavaJava&userID=javaID
¡¡¡¡ÇëÇóµÄµÚÒ»ÐÐÊÇ“·½·¨-URI-ÐÒé/°æ±¾”£¬ÆäÖÐGET¾ÍÊÇÇëÇó·½·¨£¬/servlet/default.jsp±íʾURI£¬HTTP/1.1ÊÇÐÒéºÍÐÒéµÄ°æ±¾¡£¸ù¾ÝHTTP±ê×¼£¬HTTPÇëÇó¿ÉÒÔʹÓöàÖÖÇëÇó·½·¨¡£ÀýÈ磬HTTP 1.1Ö§³ÖÆß
Ïà¹ØÎĵµ£º
Java NIOÀà¿âSelector»úÖÆ½âÎö£¨Ï£©
ÕÔï¿¡¡¡¡ ³Âð©
http://blog.csdn.net/haoel
<<<<µã´Ë²é¿´±¾ÎÄÉÏÆª
Îå¡¢ ÃÔ»ó²»½â : ΪʲôҪ×Ô¼ºÏûºÄ×ÊÔ´£¿
ÁîÈ˲»½âµÄÊÇΪʲôÎÒÃǵÄJavaµÄNew I/OÒªÉè¼Æ³ÉÕâ¸öÑù×Ó£¿Èç¹û˵ÀϵÄI/O²»Äܶà·¸´Óã¬ÈçÏÂͼËùʾ£¬Òª¿ªN¶àµÄÏß³ÌÈ¥ ......
Java¹Ø¼ü×Öfinal¡¢staticʹÓÃ×ܽá
Java¹Ø¼ü×Öfinal¡¢staticʹÓÃ×ܽá
Ò»¡¢final
¸ù¾Ý³ÌÐòÉÏÏÂÎÄ»·¾³£¬Java¹Ø¼ü×ÖfinalÓГÕâÊÇÎÞ·¨¸Ä±äµÄ”»òÕß“ÖÕ̬µÄ”º¬Ò壬Ëü¿ÉÒÔÐÞÊηdzéÏóÀà¡¢·Ç³éÏóÀà³ÉÔ±·½·¨ºÍ±äÁ¿¡£Äã¿ÉÄܳöÓÚÁ½ÖÖÀí½â¶øÐèÒª ......
¹ú¼Ê»¯£¨Internationalization£¬I18N£©£ºÏ£Íû²úÆ·Êǹ㷺ÊÊÓÃÐÔ
±¾µØ»¯£¨Localization£¬L10N£©£ºÄܹ»·ûºÏµ±µØµÄϰ¹ß
Ó¦ÓóÌÐò¹ú¼Ê»¯µÄÄ¿±ê£º
±àдÔÚÈκÎÊÜÖ§³ÖµÄÇøÓòÉèÖÃÖж¼Í¬ÑùÄÜÕý³£ÔËÐУ¨ÇÒÍâ¹Û±íÏÖ±¾µØ»¯£©µÄ´úÂë¡£
¹ú¼Ê»¯ÖеÄUnicode±àÂë
·¹ú¼Ê»¯/±¾µØ»¯¹¤×÷µÄ½¹µã£º
ÓïÑÔ¡¢Êý×Ö¸ñʽ¡¢ÈÕÆÚʱ¼ä¸ñʽ¡¢»õ±Ò ......
JavaÐÔÄܵÄÓÅ»¯£¨Ò»£©
JavaÔÚ¾ÅÊ®Äê´úÖÐÆÚ³öÏÖÒÔºó£¬ÔÚÓ®µÃÔÞ̾µÄͬʱ£¬Ò²ÒýÀ´ÁËһЩÅúÆÀ¡£Ó®µÃµÄÔÞ̾Ö÷ÒªÊÇJavaµÄ¿çƽ̨µÄ²Ù×÷ÐÔ£¬¼´ËùνµÄ”Write Once,Run Anywhere”.µ«ÓÉÓÚJavaµÄÐÔÄܺÍÔËÐÐЧÂÊͬCÏà±È£¬ÈÔÈ»ÓкܴóµÄ²î¾à£¬´Ó¶øÒýÀ´Á˺ܶàµÄÅúÆÀ¡£
¶ÔÓÚ·þÎñÆ÷¶Ëµ ......
ͨ³£Çé¿öÏ£¬ÎÒÃÇÔÚ±àдjavaÎļþʱ£¬»áÓÐÒýÓõ½×ÔÒѶ¨ÒåµÄһЩÀ࣬Èç¹û°´Í¨³£µÄjavac *.javaµÄÐÎʽÀ´±àÒë»á³öÏÖÕÒ²»µ½·ûºÅµÄ´íÎó¡£
ÒÔÏÂÌṩÁËÁ½ÖÖ·½·¨£¬ÒÔ¹©²Î¿¼
¼ÙÈçÔÚd:\web\wshÏÂÓÐa.javaºÍb.javaÁ½¸öÎļþ£¬ÔÚb.javaÎļþÖÐÓÐÒýÓÃÁËa.java¡£ÏÂÃæÊDZàÒëµÄ·½·¨
·½·¨Ò»:
½øÈëd:\web\wshÏ£º javac a.java
È»ºóÍ˳öwshÄ ......