ÓÃjavaʵÏÖµÄÒ»¸ö¼òµ¥web·þÎñÆ÷³ÌÐò
Ò»¡¢Ê×ÏÈÀ´¿´Ò»ÏÂhttpµÄ±¨ÎĽṹ
1¡¢ÇëÇó±¨ÎÄ
Ò»¸öHTTPÇëÇó±¨ÎÄÓÉÇëÇóÐУ¨request line£©¡¢ÇëÇóÍ·²¿£¨header£©¡¢¿ÕÐкÍÇëÇóÊý¾Ý4¸ö²¿·Ö×é³É£¬ÏÂͼ¸ø³öÁËÇëÇó±¨ÎĵÄÒ»°ã¸ñʽ¡£
(1)ÇëÇóÐÐ
ÇëÇóÐÐÓÉÇëÇó·½·¨×ֶΡ¢URL×ֶκÍHTTPÐÒé°æ±¾×Ö¶Î3¸ö×Ö¶Î×é³É£¬ËüÃÇÓÿոñ·Ö¸ô¡£ÀýÈ磬GET /index.html HTTP/1.1¡£
HTTPÐÒéµÄÇëÇó·½·¨ÓÐGET¡¢POST¡¢HEAD¡¢PUT¡¢DELETE¡¢OPTIONS¡¢TRACE¡¢CONNECT¡£ÕâÀï½éÉÜ×î³£ÓõÄGET·½·¨ºÍPOST·½·¨¡£
GET£ºµ±¿Í»§¶ËÒª´Ó·þÎñÆ÷ÖжÁÈ¡ÎĵµÊ±£¬Ê¹ÓÃGET·½·¨¡£GET·½·¨ÒªÇó·þÎñÆ÷½«URL¶¨Î»µÄ×ÊÔ´·ÅÔÚÏìÓ¦±¨ÎĵÄÊý¾Ý²¿·Ö£¬»ØË͸ø¿Í»§¶Ë¡£Ê¹ÓÃGET·½·¨Ê±£¬ÇëÇó²ÎÊýºÍ¶ÔÓ¦µÄÖµ¸½¼ÓÔÚURLºóÃ棬ÀûÓÃÒ»¸öÎʺţ¨“?”£©´ú±íURLµÄ½áβÓëÇëÇó²ÎÊýµÄ¿ªÊ¼£¬´«µÝ²ÎÊý³¤¶ÈÊÜÏÞÖÆ¡£ÀýÈ磬/index.jsp?id=100&op=bind¡£
POST£ºµ±¿Í»§¶Ë¸ø·þÎñÆ÷ÌṩÐÅÏ¢½Ï¶àʱ¿ÉÒÔʹÓÃPOST·½·¨¡£POST·½·¨½«ÇëÇó²ÎÊý·â×°ÔÚHTTPÇëÇóÊý¾ÝÖУ¬ÒÔÃû³Æ/ÖµµÄÐÎʽ³öÏÖ£¬¿ÉÒÔ´«Êä´óÁ¿Êý¾Ý¡£
(2)ÇëÇóÍ·²¿
ÇëÇóÍ·²¿Óɹؼü×Ö/Öµ¶Ô×é³É£¬Ã¿ÐÐÒ»¶Ô£¬¹Ø¼ü×ÖºÍÖµÓÃÓ¢ÎÄðºÅ“:”·Ö¸ô¡£ÇëÇóÍ·²¿Í¨Öª·þÎñÆ÷ÓйØÓÚ¿Í»§¶ËÇëÇóµÄÐÅÏ¢£¬µäÐ͵ÄÇëÇóÍ·ÓУº
User-Agent£º²úÉúÇëÇóµÄä¯ÀÀÆ÷ÀàÐÍ¡£
Accept£º¿Í»§¶Ë¿Éʶ±ðµÄÄÚÈÝÀàÐÍÁÐ±í¡£
Host£ºÇëÇóµÄÖ÷»úÃû£¬ÔÊÐí¶à¸öÓòÃûͬ´¦Ò»¸öIPµØÖ·£¬¼´ÐéÄâÖ÷»ú¡£
(3)¿ÕÐÐ
×îºóÒ»¸öÇëÇóÍ·Ö®ºóÊÇÒ»¸ö¿ÕÐУ¬·¢Ëͻسµ·ûºÍ»»Ðзû£¬Í¨Öª·þÎñÆ÷ÒÔϲ»ÔÙÓÐÇëÇóÍ·¡£
(4)ÇëÇóÊý¾Ý
ÇëÇóÊý¾Ý²»ÔÚGET·½·¨ÖÐʹÓ㬶øÊÇÔÚPOST·½·¨ÖÐʹÓá£POST·½·¨ÊÊÓÃÓÚÐèÒª¿Í»§Ìîд±íµ¥µÄ³¡ºÏ¡£ÓëÇëÇóÊý¾ÝÏà¹ØµÄ×ʹÓõÄÇëÇóÍ·ÊÇContent-TypeºÍContent-Length¡£
2¡¢ÏìÓ¦±¨ÎÄ
ÏìÓ¦±¨Îĵĸñʽ´óÌåÉϺÍÇëÇó±¨ÎÄÀàËÆ£¬Ö»ÊǵÚÒ»ÐÐÓÐËù²»Í¬£¬¶ÁÕß¿ÉÒÔ×Ô¼ºÔÚÍøÉϲéÕÒÕâ·½ÃæµÄ½éÉÜ£¬ÕâÀï²»ÔÙ׸Êö¡£
¶þ¡¢³ÌÐòµÄʵÏÖ
³ÌÐòµÄʵÏÖ²½ÖèÈçÏ£º
1¡¢½ÓÊÕ¿Í»§¶Ëä¯ÀÀÆ÷µÄÇëÇó£»
2¡¢´´½¨Ò»¸öеÄỊ̈߳¬ÓÃÓÚ´¦Àí¸Ã´ÎÇëÇó£»
3¡¢¶ÁÈ¡±¨ÎÄÊý¾Ý£¬Åжϱ¨ÎÄÕýÈ·Óë·ñ£¬·ÖÎö±¨ÎÄÄÚÈÝ£»
4¡¢´´½¨ÏìÓ¦±¨ÎÄ£¬·¢Ë͵½¿Í»§¶Ë£»
5¡¢½áÊø¸Ã´¦ÀíỊ̈߳¬´¦ÀíÆäËû¿Í»§ÇëÇó£»
³ÌÐò´úÂëÈçÏ£º
import java.net.*;
import java.io.*;
import java.util.*;
import java.lang.*;
public class WebServer {
public static void main(String [] args){
int port;
ServerSocket server_socket;
try{
port=Integer.parseInt(args[0]);
}
catch (Exception e){
Ïà¹ØÎĵµ£º
³õʼ»¯µÄʵ¼Ê¹ý³ÌΪ£º
ÔÚÆäËüÈκÎÊÂÎï·¢Éú֮ǰ£¬½«·ÖÅä¸ø¶ÔÏóµÄ´æ´¢¿Õ¼ä³õʼ»¯³É¶þ½øÖƵÄÁã¡£
¸¸Ààstatic ¿é»ò±äÁ¿
×ÓÀàstatic¿é»ò±äÁ¿
¸¸ÀàµÄÏÔʽ³õʼ»¯
¸¸À๹Ô캯Êý
×ÓÀàµÄÏÔʽ³õʼ»¯
×ÓÀàµÄ¹¹Ô캯Êý
´Ë¹ý³ÌÖÐÈôÓи¸À๹ÔìÌåÖе÷Ó÷½·¨¿É±»×ÓÀàÖØÔØ£¬ÔòJVM»á´Ó×îµÍ×ÓÀà¶ÔÏó´¦Ñ°ÕÒ´Ë·½·¨£¬ÕÒµ½ÔòÖ´ÐУ¬ËäÈ»´Ëʱ¶Ô ......
import java.io.*;
public class QueueArray {
Object[] a; //¶ÔÏóÊý×飬¶ÓÁÐ×î¶à´æ´¢a.length-1¸ö¶ÔÏó
int front; //¶ÓÊ×ϱê
int rear; //¶Óβϱê
public Qu ......
java ´úÂëʵÏÖ
public static boolean isLetter(char c) {
int k = 0x80;
return c / k == 0 ? true : false;& ......
SCJP5ѧϰ±Ê¼Ç
Ï߳̽»»¥ÊDZȽϸ´ÔÓµÄÎÊÌ⣬SCJPÒªÇ󲻺ܻù´¡£º¸ø¶¨Ò»¸ö³¡¾°£¬±àд´úÂëÀ´Ç¡µ±Ê¹Óõȴý¡¢Í¨ÖªºÍ֪ͨËùÓÐÏ̡߳£
Ò»¡¢Ï߳̽»»¥µÄ»ù´¡ÖªÊ¶
SCJPËùÒªÇóµÄÏ߳̽»»¥ÖªÊ¶µãÐèÒª´Ójava.lang.Object
µÄÀàµÄÈý¸ö·½·¨À´Ñ§Ï°£º
void notify()
  ......
Java AppletÓëJava ApplicationµÄÇø±ð
ÔÚJavaÓïÑÔÖУ¬Äܹ»¶ÀÁ¢ÔËÐеijÌÐò³ÆΪJavaÓ¦ÓóÌÐò£¨Application£©¡£JavaÓïÑÔ»¹ÓÐÁíÍâÒ»ÖÖ³ÌÐò——Applet³ÌÐò¡£Applet³ÌÐò£¨Ò²³ÆJavaС³ÌÐò£©ÊÇÔËÐÐÓÚ¸÷ÖÖÍøÒ³ÎļþÖУ¬ÓÃÓÚÔöÇ¿ÍøÒ³µÄÈË»ú½»»¥¡¢¶¯»ÏÔʾ¡¢ÉùÒô²¥·ÅµÈ¹¦ÄܵijÌÐò¡£
Java Appletº ......