ʵս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¶àµÄÏß³ÌÈ¥ ......
ºÃ¼¸Ììûд²©¿Í£¬Õ⼸Ì춼æ×Åд´úÂ룬ÖÐÆÚ¼ì²é¸Õ¹ý£¬ºóÃæʣϵÄʱ¼äʵ¼ÊºÜÉÙÁË£¬Òª×¥½ôʱ¼äÁË£¬ÂíÉϾ͵ñÏÒµ×ßÈËÁË¡£ÑÔ¹éÕý´«£¬ÔÚ±àÂë¹ý³ÌÖÐÓöµ½µÄÎÊÌ⣬ÎÒ¶¼¼Ç¼ÔÚ²©¿ÍÖУ¬·½±ãÒÔºó²éÔÄдÂÛÎÄ¡£Õâ´ÎÊǼÆËãÍøÂçµØÖ·£¬¸ø³öÒ»¸öipºÍËüµÄ×ÓÍøÑÚÂ룬ͨ¹ýÔËËãµÃµ½ÍøÂçµØÖ·£¨»òÕß˵ÊÇÍøÂçºÅ£©
public static ......
ÔÚͨ¹ýDNS²éÕÒÓòÃûµÄ¹ý³ÌÖУ¬¿ÉÄܻᾹý¶ą̀ÖмäDNS·þÎñÆ÷²ÅÄÜÕÒµ½Ö¸¶¨µÄÓòÃû£¬Òò´Ë£¬ÔÚDNS·þÎñÆ÷ÉϲéÕÒÓòÃûÊǷdz£°º¹óµÄ²Ù×÷¡£ÔÚJavaÖÐΪÁË»º½âÕâ¸öÎÊÌ⣬ÌṩÁËDNS»º´æ¡£µ±InetAddressÀàµÚÒ»´ÎʹÓÃij¸öÓòÃû£¨Èçwww.csdn.net£©´´½¨InetAddress¶ÔÏóºó£¬JVM¾Í»á½«Õâ¸öÓòÃûºÍËü´ÓDNSÉÏ»ñµÃµÄÐÅÏ¢£¨ÈçIPµØÖ·£©¶¼±£´æÔÚDNS»º´æÖ ......
JavaϵÄÒ»¸ö¼òµ¥Ò×Óõķ´±àÒ빤¾ßjad
,
¿ÉÒԺܷ½±ãµÄ½«.class·´±àÒëΪ.Java.
Ò»¡¢»ù±¾Ó÷¨
Usage:jad
[option(s)]
Ö±½ÓÊäÈëÀàÎļþÃû£¬ÇÒÖ§³ÖͨÅä·û£¬ÈçÏÂËùʾ¡£
c:\Java\>jad
example1.class
c:\Java\>jad
*.class
½á¹ûÊǽ«example1.class·´±àÒëΪexample1.jad
¡£½«
example1.jad
¸ÄΪexampl ......
ËäÈ»¾³£´´½¨¶à¸ö²»ÏàͬµÄÏß³ÌÀ´Íê³É²»Ïà¹ØµÄÈÎÎñ£¬È»¶øÓÐʱִÐеÄÈÎÎñ¿ÉÄÜÓÐÒ»¶¨ÁªÏµ£¬ÕâÑù¾ÍÐèҪʹÕâЩÏ߳̽øÐн»»¥¡£±ÈÈçÓÐÒ»¸öË®ÌÁ£¬ÆäÖжÔË®ÌÁ²Ù×÷ÎÞ·Ç°üÀ¨“½øË®”ºÍ“ÅÅË®”£¬ÕâÁ½¸öÐÐΪ¸÷×Ô´ú±íÒ»¸öỊ̈߳¬µ±Ë®ÌÁÖÐûÓÐˮʱ£¬“ÅÅË®”ÐÐΪ²»ÄÜÔÙ½øÐУ ......