Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÓÃ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){


Ïà¹ØÎĵµ£º

javaλÔËËãÀý×Ó

/*
Ò»¹²3¸öÒÆÎ»ÔËËã·û£¬×óÒÆÎ»<<£¬ÓÒÒÆÎ»>>ºÍÎÞ·ûºÅÒÆÎ»>>>¡£×óÒÆÎ»<<ÔÚµÍλ´¦²¹0¡£ÓÒÒÆÎ»>>ÈôֵΪÕýÔòÔÚ¸ßλ²åÈë0£¬ÈôֵΪ¸ºÔòÔÚ¸ßλ²åÈë1¡£ÎÞ·ûºÅÓÒÒÆÎ»>>>ÎÞÂÛÕý¸º¶¼ÔÚ¸ßλ´¦²åÈë0¡£
·ÇÔËËã·û~
&¶ÔÁ½¸öÕûÐͲÙ×÷ÊýÖжÔӦλִÐв¼¶û´úÊý£¬Á½¸öλ¶¼Îª1ʱÊä³ö1£¬·ñÔò0¡£
......

java³õʼ»¯Ë³Ðò

³õʼ»¯µÄʵ¼Ê¹ý³ÌΪ£º
ÔÚÆäËüÈκÎÊÂÎï·¢Éú֮ǰ£¬½«·ÖÅ䏸¶ÔÏóµÄ´æ´¢¿Õ¼ä³õʼ»¯³É¶þ½øÖƵÄÁã¡£
¸¸Ààstatic ¿é»ò±äÁ¿
×ÓÀàstatic¿é»ò±äÁ¿
¸¸ÀàµÄÏÔʽ³õʼ»¯
¸¸À๹Ô캯Êý
×ÓÀàµÄÏÔʽ³õʼ»¯
×ÓÀàµÄ¹¹Ô캯Êý
´Ë¹ý³ÌÖÐÈôÓи¸À๹ÔìÌåÖе÷Ó÷½·¨¿É±»×ÓÀàÖØÔØ£¬ÔòJVM»á´Ó×îµÍ×ÓÀà¶ÔÏó´¦Ñ°ÕÒ´Ë·½·¨£¬ÕÒµ½ÔòÖ´ÐУ¬ËäÈ»´Ëʱ¶Ô ......

JavaỊ̈߳ºÏ̵߳Äͬ²½ÓëËø

Ò»¡¢Í¬²½ÎÊÌâÌá³ö
 
Ï̵߳Äͬ²½ÊÇΪÁË·ÀÖ¹¶à¸öÏ̷߳ÃÎÊÒ»¸öÊý¾Ý¶ÔÏóʱ£¬¶ÔÊý¾ÝÔì³ÉµÄÆÆ»µ¡£
ÀýÈ磺Á½¸öÏß³ÌThreadA¡¢ThreadB¶¼²Ù×÷ͬһ¸ö¶ÔÏóFoo¶ÔÏ󣬲¢ÐÞ¸ÄFoo¶ÔÏóÉϵÄÊý¾Ý¡£
 
public
class
Foo {
    private
int
x = 100;
    public
int
get ......

JavaÃæÊÔÌâ

Ò»¡¢ÃæÏò¶ÔÏóµÄÌØÕ÷ÓÐÄÄЩ·½Ãæ
    1.³éÏó£º
    ³éÏó¾ÍÊǺöÂÔÒ»¸öÖ÷ÌâÖÐÓ뵱ǰĿ±êÎ޹صÄÄÇЩ·½Ã棬ÒÔ±ã¸ü³ä·ÖµØ×¢ÒâÓ뵱ǰĿ±êÓйصķ½Ãæ¡£³éÏó²¢²»´òËãÁ˽âÈ«²¿ÎÊÌ⣬¶øÖ»ÊÇÑ¡ÔñÆäÖеÄÒ»²¿·Ö£¬ÔÝʱ²»Óò¿·Öϸ½Ú¡£³éÏó°üÀ¨Á½¸ö·½Ã棬һÊǹý³Ì³éÏ󣬶þÊÇÊý¾Ý³éÏó¡£
    ......

²âÊÔjava ¿ªÔ´µÄ²âÊÔ¹¤¾ß


2009-12-01 12:06:43
JUnit 
JUnitÊÇÓÉ Erich Gamma ºÍ Kent Beck ±àдµÄÒ»¸ö»Ø¹é²âÊÔ¿ò¼Ü£¨regression testing framework£©¡£Junit²âÊÔÊdzÌÐòÔ±²âÊÔ£¬¼´Ëùν°×ºÐ²âÊÔ£¬ÒòΪ³ÌÐòÔ±ÖªµÀ±»²âÊÔµÄÈí¼þÈçºÎ£¨How£©Íê³É¹¦ÄܺÍÍê³ÉʲôÑù£¨What£©µÄ¹¦ÄÜ¡£JunitÊÇÒ»Ì׿ò¼Ü£¬¼Ì³ÐTestCaseÀ࣬¾Í¿ÉÒÔÓÃJunit½øÐÐ×Ô¶¯²âÊÔÁË¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ