http://webservices.ctocio.com.cn/java/258/9422258_2.shtml
¡¡±¾ÎÄÎ§ÈÆÒ»¸ö¼òµ¥µÄÀý×ÓÂÛÊöÁËÈçºÎ¹¹¼ÜÒ»¸öJava²¢·¢Ä£ÐÍ¿ò¼Ü£¬ÆäÖÐʹÓÃÁËһЩ¹¹½¨¿ò¼ÜµÄ³£Óü¼Êõ£¬Ï£Íû¶ÁÕßÄܹ»Éî¼ÓÁì»áÆäÔÀí£¬Ò²Ï£ÍûÄú¿ÉÒÔ¶Ô±¾ÎÄÖеĿò¼Ü½øÐÐÀ©³ä£¬Ö±½ÓÓ¦Óõ½×Ô¼ºµÄ¹¤×÷ÖС£
¡¡¡¡Java¶àÏß³ÌÌØÐÔΪ¹¹½¨¸ßÐÔÄܵÄÓ¦ÓÃÌṩÁ˼«´óµÄ·½±ã£¬µ«ÊÇÒ²´øÀ´Á˲»ÉÙµÄÂé·³¡£Ï̼߳äͬ²½¡¢Êý¾ÝÒ»ÖÂÐԵȷ³ËöµÄÎÊÌâÐèҪϸÐĵĿ¼ÂÇ£¬Ò»²»Ð¡Ðľͻá³öÏÖһЩ΢ÃîµÄ£¬ÄÑÒÔµ÷ÊԵĴíÎó¡£
¡¡¡¡ÁíÍ⣬ӦÓÃÂß¼ºÍÏß³ÌÂß¼¾À²øÔÚÒ»Æð£¬»áµ¼Ö³ÌÐòµÄÂß¼½á¹¹»ìÂÒ£¬ÄÑÒÔ¸´ÓúÍά»¤¡£±¾ÎÄÊÔͼ¸ø³öÒ»¸ö½â¾öÕâ¸öÎÊÌâµÄ·½°¸£¬Í¨¹ý¹¹½¨Ò»¸ö²¢·¢Ä£ÐÍ¿ò¼Ü(framework)£¬Ê¹µÃ¿ª·¢¶àÏ̵߳ÄÓ¦ÓñäµÃÈÝÒס£
¡¡¡¡»ù´¡ÖªÊ¶
¡¡¡¡JavaÓïÑÔÌṩÁ˶ÔÓÚÏ̺߳ܺõÄÖ§³Ö£¬ÊµÏÖ·½·¨Ð¡ÇÉ¡¢ÓÅÑÅ¡£¶ÔÓÚ·½·¨ÖØÈëµÄ±£»¤£¬ÐźÅÁ¿(semaphore)ºÍÁÙ½çÇø(critical section)»úÖÆµÄʵÏÖ¶¼·Ç³£¼ò½à¡£¿ÉÒÔºÜÈÝÒ×µÄʵÏÖ¶àÏ̼߳äµÄͬ²½²Ù×÷´Ó¶ø±£»¤¹Ø¼üÊý¾ÝµÄÒ»ÖÂÐÔ¡£ÕâÐ©ÌØµãʹµÃJava³ÉÎªÃæÏò¶ÔÏóÓïÑÔÖжÔÓÚ¶àÏß³ÌÌØÐÔÖ§³Ö·½ÃæµÄٮٮÕß(C++ÕýÔÚÊÔͼ°Ñboost¿âÖеĶÔÓÚÏ̵߳ÄÖ§³Ö²¿·ÖÄÉÈëÓïÑÔ±ê×¼)¡£
¡¡¡¡JavaÖÐÄÚÖÃÁ˶ÔÓÚ¶ÔÏó²¢·¢·ÃÎʵÄÖ§³Ö£¬Ã¿Ò»¸ö¶ÔÏó¶¼ÓÐÒ ......
Java Servlet API˵Ã÷Îĵµ£¨2.1a°æ£©£¨Ò»£©
ÒëÕßǰÑÔ£º
½üÀ´ÔÚÕûÀíÓйØServlet×ÊÁÏʱ·¢ÏÖ£¬ÔÚÍøÉϾ¹È»ÕÒ²»µ½Ò»·ÝÖÐÎĵÄJava Servlet APIµÄ˵Ã÷Îĵµ£¬¶øÔÚÓÐÒ»±¾ÓйØJSPµÄÊéºóÃæ¸½µÄJava Servlet API˵Ã÷¾¹È»²»È«£¬¶øÕâ·ÝÎĵµµÄ2.1a°æÔÚ1998ÄêµÄ11Ô·ݾÍÒѶ¨¸å¡£ËùÒÔÎÒ¾ö¶¨·ÒëÒ»·ÝÖÐÎĵÄÎĵµ£¨ÆäÖÐһЩÓë¼¼Êõ¹ØÏµ²»´óµÄ²¿·ÖÒѱ»ÂÔÈ¥£©£¬ÓÐÐËȤµÄ¶ÁÕß¿ÉÒÔ´Óhttp://java.sun.com/products/servlet/2.1/servletspec-2.1.zipÏÂÔØÔÎÄÔĶÁ¡£
Java Servlet API˵Ã÷Îĵµ£¨2.1a°æ£©
1998Äê11ÔÂ
Ð÷ÑÔ
ÕâÊÇÒ»·Ý¹ØÓÚ2.1°æJava Servlet APIµÄ˵Ã÷Îĵµ£¬×÷Ϊ¶ÔÕâ±¾ÎĵµµÄ²¹³ä£¬Äã¿ÉÒÔµ½http://java.sun.com/products/servlet/index.htmlÏÂÃæÏÂÔØJavadoc¸ñʽµÄÎĵµ¡£
ËÐèÒª¶ÁÕâ·ÝÎĵµ
Õâ·ÝÎĵµÃèÊöÁËJava Servlet APIµÄ×îа汾2.1°æ¡£ËùÒÔ£¬Õâ±¾Êé¶ÔÓÚServletµÄ¿ª·¢Õß¼°servletÒýÇæµÄ ......
Java Servlet API˵Ã÷Îĵµ£¨2.1a°æ£©£¨¶þ£©
API¶ÔÏóµÄ˵Ã÷\r
ÕâÒ»²¿·Ö°üº¬Á˶ÔJava Servlet APIµÄÈ«²¿ÀàºÍ½Ó¿ÚµÄÏêϸ˵Ã÷¡£Õâ¸ö˵Ã÷ÓëJavadoc API²î²»¶à£¬µ«ÊÇÕâ·ÝÎĵµÌṩÁ˸ü¶àµÄÐÅÏ¢¡£
API°üº¬ÁËÁ½¸öÈí¼þ°ü£¬Ê®¶þ¸ö½Ó¿ÚºÍ¾Å¸öÀà¡£
Èí¼þ°ü£ºjavax.servlet
Ëù°üº¬µÄ½Ó¿Ú£ºRequestDispatcher£»Servlet£»ServletConfig£»ServletContext£»ServletRequest£»ServletResponse£»SingleThreadModel¡£
Ëù°üº¬µÄÀࣺGenericServlet£»ServletInputStream£»ServletOutputStream£»ServletException£»UnavailableException¡£
Ò»¡¢RequestDispatcher½Ó¿Ú£º
¶¨Ò壺
public interface RequestDispatcher;
¶¨ÒåÒ»¸ö¶ÔÏ󣬴ӿͻ§¶Ë½ÓÊÕÇëÇó£¬È»ºó½«Ëü·¢¸ø·þÎñÆ÷µÄ¿ÉÓÃ×ÊÔ´£¨ÀýÈçServlet¡¢CGI¡¢HTMLÎļþ¡¢JSPÎļþ£©¡£ServletÒýÇæ´´½¨request dispatcher¶ÔÏó£¬ÓÃÓÚ·â×°ÓÉÒ»¸öÌØ¶¨µÄURL¶¨ÒåµÄ·þÎñÆ÷×ÊÔ´¡£
  ......
Java Servlet API˵Ã÷Îĵµ£¨2.1a°æ£©£¨Èý£©
Èí¼þ°ü£ºjavax.servlet.http
Ëù°üº¬µÄ½Ó¿Ú£ºHttpServletRequest£»HttpServletResponse£»HttpSession£»HttpSessionBindingListener£»HttpSessionContext¡£
Ëù°üº¬µÄÀࣺCookie£»HttpServlet£»HttpSessionBindingEvent£»HttpUtils¡£
Ò»¡¢HttpServletRequest½Ó¿Ú
¶¨Òå\
public interface HttpServletRequest extends ServletRequest;
ÓÃÀ´´¦ÀíÒ»¸ö¶ÔServletµÄHTTP¸ñʽµÄÇëÇóÐÅÏ¢¡£
·½·¨
1¡¢getAuthType
public String getAuthType();
·µ»ØÕâ¸öÇëÇóµÄÉí·ÝÑé֤ģʽ¡£
2¡¢getCookies
public Cookie[]  ......
Java Servlet API˵Ã÷Îĵµ£¨2.1a°æ£©£¨ËÄ£©
ÊõÓï±í\r
bytecode
×Ö½ÚÂ룺ÓÉJava±àÒëÆ÷ºÍJava½âÊͳÌÐòÉú³ÉµÄ»úÆ÷´úÂë¡£
cookie
ÓÉWeb·þÎñÆ÷½¨Á¢µÄÊý¾Ý£¬¸ÃÊý¾Ý´æ´¢ÔÚÓû§µÄ¼ÆËã»úÉÏ£¬ÌṩÁËÒ»¸öWebÕ¾µã¸ú×ÙÓû§µÄ²ÎÊý²¢´æ´¢ÔÚÓû§×Ô¼ºÓ²ÅÌÉϵķ½·¨¡£
HTTP
³¬Îı¾´«ÊäÐÒé¡£Ò»¸öÇëÇóÏìÓ¦ÐÒéÓÃÀ´Á¬½ÓWWW·þÎñÆ÷Ïò¿Í»§¶Ëä¯ÀÀÆ÷´«ÊäHTMLÒ³Ãæ¡£
ÊäÈëÁ÷¶ÔÏó\r
Ò»¸ö¶ÔÏó£¬ÓÉServletInputStreamÀඨÒ壬±»ServletÓÃÀ´´Ó¿Í»§¶Ë¶ÁÈ¡ÇëÇó¡£
Ó³Éä\r
ÓÉServletʵÀýºÍServlet·µ»ØÊý¾ÝµÄURL×é³ÉµÄÒ»¶Ô£¬ÀýÈ磬HelloServletºÍ/hello/index.html¡£
Êä³öÁ÷¶ÔÏó\r
Ò»¸ö¶ÔÏó£¬ÓÉServletOutputStream classÀඨÒ壬±»ServletÓÃÀ´Ïò¿Í»§¶Ë·µ»ØÊý¾Ý¡£
request dispatcher object
ÓÉRequestDispatcher½Ó¿Ú¶¨ÒåµÄÒ»¸ö¶ÔÏó£¬ÓÃÀ ......
Xml´úÂë \n »Ø³µ(\u000a) \t Ë®Æ½ÖÆ±í·û(\u0009) \b ¿Õ¸ñ(\u0008) \r »»ÐÐ(\u000d) \f »»Ò³(\u000c) \' µ¥ÒýºÅ(\u0027) \" Ë«ÒýºÅ(\u0022) \\ ·´Ð±¸Ü(\u005c) \ddd Èýλ°Ë½øÖÆ \udddd ËÄλʮÁù½øÖÆ \n »Ø³µ(\u000a)
\t Ë®Æ½ÖÆ±í·û(\u0009)
\b ¿Õ¸ñ(\u0008)
\r »»ÐÐ(\u000d)
\f »»Ò³(\u000c)
\' µ¥ÒýºÅ(\u0027)
\" Ë«ÒýºÅ(\u0022)
\\ ·´Ð±¸Ü(\u005c)
\ddd Èýλ°Ë½øÖÆ
\udddd ËÄλʮÁù½øÖÆ
ÆäËüÐèҪתÒåµÄ×Ö·û£¬ÀýÈç
Java´úÂë
String sName = "JavaתÒå×Ö·û(²¹ÒÅ)";
sName = sName.replaceFirst("(²¹ÒÅ)","");
out.println(sName);
String sName = "JavaתÒå×Ö·û(²¹ÒÅ)";
sName = sName.replaceFirst("(²¹ÒÅ)","");
out.println(sName);
Èç¹ûÄãÒÔΪ»áÊä³ö¡°JavaתÒå×Ö·û¡±£¬ÄÇÄã¾Í´íÁË£¬ÊÂʵÉÏÊä³ö¡°JavaתÒå×Ö·û()¡±£¬ÎÒÒ²ºÜÆæ¹Ö£¬ÒÔΪÊÇÖÐÓ¢ÎÄÀ¨ºÅµÄÎÊÌ⣬¿ÉÊDz¢²»ÊÇ£¬ÎÒ²»È·¶¨ÊÇ·ñתÒåÎÊÌ⣬½â¾ö·½·¨ÊÇ
Java´úÂë
sName = sName.repl ......