ʵս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Ö§³ÖÆß
Ïà¹ØÎĵµ£º
ºÃ¼¸Ììûд²©¿Í£¬Õ⼸Ì춼æ×Åд´úÂ룬ÖÐÆÚ¼ì²é¸Õ¹ý£¬ºóÃæÊ£ÏµÄʱ¼äʵ¼ÊºÜÉÙÁË£¬Òª×¥½ôʱ¼äÁË£¬ÂíÉϾ͵ñÏÒµ×ßÈËÁË¡£ÑÔ¹éÕý´«£¬ÔÚ±àÂë¹ý³ÌÖÐÓöµ½µÄÎÊÌ⣬ÎÒ¶¼¼Ç¼ÔÚ²©¿ÍÖУ¬·½±ãÒÔºó²éÔÄдÂÛÎÄ¡£Õâ´ÎÊǼÆËãÍøÂçµØÖ·£¬¸ø³öÒ»¸öipºÍËüµÄ×ÓÍøÑÚÂ룬ͨ¹ýÔËËãµÃµ½ÍøÂçµØÖ·£¨»òÕß˵ÊÇÍøÂçºÅ£©
public static ......
ËäÈ»¾³£´´½¨¶à¸ö²»ÏàͬµÄÏß³ÌÀ´Íê³É²»Ïà¹ØµÄÈÎÎñ£¬È»¶øÓÐʱִÐеÄÈÎÎñ¿ÉÄÜÓÐÒ»¶¨ÁªÏµ£¬ÕâÑù¾ÍÐèҪʹÕâЩÏ߳̽øÐн»»¥¡£±ÈÈçÓÐÒ»¸öË®ÌÁ£¬ÆäÖжÔË®ÌÁ²Ù×÷Î޷ǰüÀ¨“½øË®”ºÍ“ÅÅË®”£¬ÕâÁ½¸öÐÐΪ¸÷×Ô´ú±íÒ»¸öỊ̈߳¬µ±Ë®ÌÁÖÐûÓÐˮʱ£¬“ÅÅË®”ÐÐΪ²»ÄÜÔÙ½øÐУ ......
½ñÌì¾ÀíÈÃдһ¸ö£¬¸ù¾ÝÐÅÏ¢ÉÏ´«Ê±¼ä£¬ÏÔʾ£¬£¿·ÖÖÓǰ£¬£¿Ð¡Ê±Ç°£¬£¿Ììǰ£¬ÀàËÆqq¿Õ¼ä·¢±íµÄÐÄÇéÈÕÆÚ£»
ÓÃÁËÒ»¸ö×ÔÎҸоõ±¿µÄ·½·¨£¬²»¹ý»¹ÊÇʵÏÖÁË£¬ºÇºÇºÇ
public static String getCompareTime(String filetime){
//·µ»ØµÄ×Ö·û´®
String retStr =""; ......
Èí¼þ¼Ü¹¹
×÷Ϊһ¸ö¸ÅÄÌåÏÖÔÚ¼¼Êõ
ºÍÒµÎñ
Á½
¸ö·½Ãæ¡£
´Ó¼¼Êõ½Ç¶ÈÀ´Ëµ
£ºÈí¼þ¼Ü¹¹Ëæ×ż¼ÊõµÄ¸ïв»¶ÏµØ¸üÐÂÆäÄÚÈÝ£¬Èí¼þ¼Ü¹¹½¨Á¢ÓÚµ±Ç°¼¼Êõ
ºÍһЩ»ù
±¾ÔÔò
µÄ»ù´¡Ö®ÉÏ¡£
ÏÈ˵һЩ»ù±¾ÔÔò
£º
·Ö²ãÔÔò
£º·Ö²ãÊÇΪÁ˽µµÍÈí¼þÉî¶È¸´ÔÓÐÔ¶øÊ¹ÓõĹؼü˼Ï룬¾ÍÏñÉç»áÓÐÁ˽׼¶Ò»Ñù£¬Èí¼þÓÐÁ˲ã´Î½á¹¹¡£
Ä£¿é»¯ ......
ͨ³£Çé¿öÏ£¬ÎÒÃÇÔÚ±àдjavaÎļþʱ£¬»áÓÐÒýÓõ½×ÔÒѶ¨ÒåµÄһЩÀ࣬Èç¹û°´Í¨³£µÄjavac *.javaµÄÐÎʽÀ´±àÒë»á³öÏÖÕÒ²»µ½·ûºÅµÄ´íÎó¡£
ÒÔÏÂÌṩÁËÁ½ÖÖ·½·¨£¬ÒÔ¹©²Î¿¼
¼ÙÈçÔÚd:\web\wshÏÂÓÐa.javaºÍb.javaÁ½¸öÎļþ£¬ÔÚb.javaÎļþÖÐÓÐÒýÓÃÁËa.java¡£ÏÂÃæÊDZàÒëµÄ·½·¨
·½·¨Ò»:
½øÈëd:\web\wshÏ£º javac a.java
È»ºóÍ˳öwshÄ ......