22¡¢forward ºÍredirectµÄÇø±ð
forwardÊÇ·þÎñÆ÷ÇëÇó×ÊÔ´£¬·þÎñÆ÷Ö±½Ó·ÃÎÊÄ¿±êµØÖ·µÄURL£¬°ÑÄǸöURLµÄÏìÓ¦ÄÚÈݶÁÈ¡¹ýÀ´£¬È»ºó°ÑÕâЩÄÚÈÝÔÙ·¢¸øä¯ÀÀÆ÷£¬ä¯ÀÀÆ÷¸ù±¾²»ÖªµÀ·þÎñÆ÷·¢Ë͵ÄÄÚÈÝÊÇ´ÓÄĶùÀ´µÄ£¬ËùÒÔËüµÄµØÖ·À¸Öл¹ÊÇÔÀ´µÄµØÖ·¡£
redirect¾ÍÊÇ·þÎñ¶Ë¸ù¾ÝÂß¼,·¢ËÍÒ»¸ö״̬Âë,¸æËßä¯ÀÀÆ÷ÖØÐÂÈ¥ÇëÇóÄǸöµØÖ·£¬Ò»°ãÀ´Ëµä¯ÀÀÆ÷»áÓøղÅÇëÇóµÄËùÓвÎÊýÖØÐÂÇëÇó£¬ËùÒÔsession,request²ÎÊý¶¼¿ÉÒÔ»ñÈ¡¡£
24¡¢Static Nested Class ºÍ Inner ClassµÄ²»Í¬¡£
Static Nested ClassÊDZ»ÉùÃ÷Ϊ¾²Ì¬£¨static£©µÄÄÚ²¿À࣬Ëü¿ÉÒÔ²»ÒÀÀµÓÚÍⲿÀàʵÀý±»ÊµÀý»¯¡£¶øͨ³£µÄÄÚ²¿ÀàÐèÒªÔÚÍⲿÀàʵÀý»¯ºó²ÅÄÜʵÀý»¯¡£
25¡¢JSPÖж¯Ì¬INCLUDEÓ뾲̬INCLUDEµÄÇø±ð£¿
¶¯Ì¬INCLUDEÓÃjsp:include¶¯×÷ʵÏÖ Ëü×ÜÊÇ»á¼ì²éËùº¬ÎļþÖеı仯£¬ÊʺÏÓÃÓÚ°üº¬¶¯Ì¬Ò³Ã棬²¢ÇÒ¿ÉÒÔ´ø²ÎÊý¡£
¾²Ì¬INCLUDEÓÃincludeαÂëʵÏÖ,¶¨²»»á¼ì²éËùº¬ÎļþµÄ±ä»¯£¬ÊÊÓÃÓÚ°üº¬¾²Ì¬Ò³Ãæ<%@ include file=¡±included.htm¡± %>
26¡¢Ê²Ã´Ê±ºòÓÃassertion¡£
assertion(¶ÏÑÔ)ÔÚÈí¼þ¿ª·¢ÖÐÊÇÒ»ÖÖ³£Óõĵ÷ÊÔ·½Ê½£¬ºÜ¶à¿ª·¢ÓïÑÔÖж¼Ö§³ÖÕâÖÖ»úÖÆ¡£ÔÚʵÏÖÖУ¬assertion¾ÍÊÇÔÚ³ÌÐòÖеÄÒ»ÌõÓï¾ä£¬Ëü¶ÔÒ»¸öboolean±í´ïʽ½øÐмì²é£¬Ò»¸öÕýÈ·³ÌÐò±ØÐë±£Ö¤Õâ¸öboolean±í´ïʽµÄֵΪtrue£»Èç¹û¸ÃֵΪfalse£¬ËµÃ÷³ÌÐòÒѾ´¦ÓÚ²»ÕýÈ·µÄ״̬Ï£¬ÏµÍ³½«¸ø³ö¾¯¸æ»òÍ˳ö¡£Ò»°ãÀ´Ëµ£¬assertionÓÃÓÚ±£Ö¤³ÌÐò×î»ù±¾¡¢¹Ø¼üµÄÕýÈ·ÐÔ¡£assertion¼ì²éͨ³£ÔÚ¿ª·¢ºÍ²âÊÔʱ¿ªÆô¡£ÎªÁËÌá¸ßÐÔÄÜ£¬ÔÚÈí¼þ·¢²¼ºó£¬assertion¼ì²éͨ³£Êǹرյġ£
36¡¢Ëµ³öÊý¾ÝÁ¬½Ó³ØµÄ¹¤×÷»úÖÆÊÇʲô
Á¬½Ó¿Í»§¶Ë³ÌÐòÐèÒªÁ¬½Óʱ£¬³ØÇý¶¯³ÌÐò»á·µ»ØÒ»¸öδʹÓõijØÁ¬½Ó²¢½«Æä±í¼ÇΪæ¡£Èç¹ûµ±Ç°Ã»ÓпÕÏÐÁ¬½Ó£¬³ØÇý¶¯³ÌÐò¾Íн¨Ò»¶¨ÊýÁ¿µÄÁ¬½Ó£¬Ð½¨Á¬½ÓµÄÊýÁ¿ÓÐÅäÖòÎÊý¾ö¶¨¡£µ±Ê¹ÓõijØÁ¬½Óµ÷ÓÃÍê³Éºó£¬³ØÇý¶¯³ÌÐò½«´ËÁ¬½Ó±í¼ÇΪ¿ÕÏУ¬ÆäËûµ÷ÓþͿÉÒÔʹÓÃÕâ¸öÁ¬½Ó¡£
38¡¢Êý×éÓÐûÓÐlength()Õâ¸ö·½·¨ StringÓÐûÓÐlength()Õâ¸ö·½·¨£¿
Êý×éûÓÐlength()Õâ¸ö·½·¨£¬ÓÐlengthµÄÊôÐÔ¡£StringÓÐlength()Õâ¸ö·½·¨¡£
39¡¢SetÀïµÄÔªËØÊDz»ÄÜÖظ´µÄ£¬ÄÇôÓÃʲô·½·¨À´Çø·ÖÖظ´Óë·ñÄØ ÊÇÓÃ==»¹ÊÇequals() ËüÃÇÓкÎÇø±ð
SetÀïµÄÔªËØÊDz»ÄÜÖظ´µÄ£¬ÄÇôÓÃiterator()·½·¨À´Çø·ÖÖظ´Óë·ñ¡£equals()ÊÇÅжÁÁ½¸öSetÊÇ·ñÏàµÈ¡£
equals()ºÍ==·½·¨¾ö¶¨ÒýÓÃÖµÊÇ·ñÖ¸Ïòͬһ¶ÔÏóequals()ÔÚÀàÖб»¸²¸Ç£¬ÎªµÄÊǵ±Á½¸ö·ÖÀëµÄ¶ÔÏóµÄÄÚÈݺÍÀàÐÍÏàÅäµÄ»°£¬·µ»ØÕæÖµ¡£
43¡¢try {}ÀïÓÐÒ»¸öreturnÓï¾ä£¬ÄÇô½ô¸úÔÚÕâ¸ötryºóµÄfinally {}ÀïµÄcode»á²»»á±»Ö´ÐУ¬Ê²Ã´Ê±ºò±»Ö´ÐУ¬ÔÚreturnÇ°»¹ÊǺó
»áÖ´ÐУ¬ÔÚreturnÇ°Ö´ÐС£
47¡¢µ±Ò»¸öÏ߳̽øÈëÒ»¸ö¶ÔÏóµÄÒ»¸ösynchronized·½·¨ºó£¬ÆäËüÏß³ÌÊÇ·ñ¿É½øÈë´Ë¶ÔÏóµÄÆäËü·½·¨
²»ÄÜ£¬Ò»¸ö¶ÔÏóµÄÒ»¸ösynchronized·½·¨Ö»ÄÜÓÉÒ»¸öÏ̷߳ÃÎÊ¡£
51¡¢À¬»ø»ØÊÕµÄÓŵãºÍÔÀí¡£²¢¿¼ÂÇ2ÖÖ»ØÊÕ»úÖÆ¡£
JavaÓïÑÔÖÐÒ»¸öÏÔ×ŵÄÌصã¾ÍÊÇÒýÈëÁËÀ¬»ø»ØÊÕ»úÖÆ£¬Ê¹c++³ÌÐòÔ±×îÍ·ÌÛµÄÄÚ´æ¹ÜÀíµÄÎÊÌâÓÈжø½â£¬ËüʹµÃJava³ÌÐòÔ±ÔÚ±àд³ÌÐòµÄʱºò²»ÔÙÐèÒª¿¼ÂÇÄÚ´æ¹ÜÀí¡£ÓÉÓÚÓиöÀ¬»ø»ØÊÕ»úÖÆ£¬ JavaÖеĶÔÏó²»ÔÙÓС±×÷ÓÃÓò¡±µÄ¸ÅÄֻÓжÔÏóµÄÒýÓòÅÓС±×÷ÓÃÓò¡±¡£À¬»ø»ØÊÕ¿ÉÒÔÓÐЧµÄ·ÀÖ¹ÄÚ´æй¶£¬ÓÐЧµÄʹÓÿÉÒÔʹÓõÄÄÚ´æ¡£À¬»ø»ØÊÕÆ÷ͨ³£ÊÇ×÷Ϊһ¸öµ¥¶ÀµÄµÍ¼¶±ðµÄÏß³ÌÔËÐУ¬²»¿ÉÔ¤ÖªµÄÇé¿ö϶ÔÄÚ´æ¶ÑÖÐÒѾËÀÍöµÄ»òÕß³¤Ê±¼äûÓÐʹÓõĶÔÏó½øÐÐÇå³þºÍ»ØÊÕ£¬³ÌÐòÔ±²»ÄÜʵʱµÄµ÷ÓÃÀ¬»ø»ØÊÕÆ÷¶Ôij¸ö¶ÔÏó»òËùÓжÔÏó½øÐÐÀ¬»ø»ØÊÕ¡£»ØÊÕ»úÖÆÓзִú¸´ÖÆÀ¬»ø»ØÊպͱê¼ÇÀ¬»ø»ØÊÕ£¬ÔöÁ¿À¬»ø»ØÊÕ¡£
52¡¢Çë˵³öÄãËùÖªµÀµÄÏß³Ìͬ²½µÄ·½·¨¡£
wait():ʹһ¸öÏ̴߳¦Óڵȴý״̬£¬²¢ÇÒÊÍ·ÅËù³ÖÓеĶÔÏóµÄlock¡£
sleep():ʹһ¸öÕýÔÚÔËÐеÄÏ̴߳¦ÓÚ˯Ãß״̬£¬ÊÇÒ»¸ö¾²Ì¬·½·¨£¬µ÷Óô˷½·¨Òª²¶×½InterruptedExceptionÒì³£¡£
notify():»½ÐÑÒ»¸ö´¦Óڵȴý״̬µÄỊ̈߳¬×¢ÒâµÄÊÇÔÚµ÷Óô˷½·¨µÄʱºò£¬²¢²»ÄÜÈ·ÇеĻ½ÐÑijһ¸öµÈ´ý״̬µÄỊ̈߳¬¶øÊÇÓÉJVMÈ·¶¨»½ÐÑÄĸöỊ̈߳¬¶øÇÒ²»ÊÇ°´ÓÅÏȼ¶¡£
Allnotity():»½ÐÑËùÓд¦ÈëµÈ´ý״̬µÄỊ̈߳¬×¢Òâ²¢²»ÊǸøËùÓл½ÐÑÏß³ÌÒ»¸ö¶ÔÏóµÄËø£¬¶øÊÇÈÃËüÃǾºÕù¡£
53¡¢ÄãËùÖªµÀµÄ¼¯ºÏÀ඼ÓÐÄÄЩ£¿Ö÷Òª·½·¨£¿
×î³£Óõļ¯ºÏÀàÊÇ List ºÍ Map¡£ List µÄ¾ßÌåʵÏÖ°üÀ¨
ArrayList ºÍ Vector£¬ËüÃÇÊǿɱä´óСµÄÁÐ±í£¬±È½ÏÊʺϹ¹½¨¡¢´æ´¢ºÍ²Ù×÷ÈκÎÀàÐͶÔÏóµÄÔªËØÁÐ±í¡£
List ÊÊÓÃÓÚ°´ÊýÖµË÷Òý·ÃÎÊÔªËصÄÇéÐΡ£
Map ÌṩÁËÒ»¸ö¸üͨÓõÄÔªËØ´æ´¢·½·¨¡£Map ¼¯ºÏÀàÓÃÓÚ´æ´¢ÔªËضԣ¨³Æ×÷¡±¼ü¡±ºÍ¡±Öµ¡±£©£¬ÆäÖÐÿ¸ö¼üÓ³Éäµ½Ò»¸öÖµ¡£
62¡¢ÈçºÎÏÖʵservletµÄµ¥Ïß³Ìģʽ
<%@ page isThreadSafe=¡±false¡±%>
64¡¢JSPºÍServletÓÐÄÄЩÏàͬµãºÍ²»Í¬µã£¬ËûÃÇÖ®¼äµÄÁªÏµÊÇʲô£¿
JSP ÊÇServlet¼¼ÊõµÄÀ©Õ¹£¬±¾ÖÊÉÏÊÇServletµÄ¼òÒ×·½Ê½£¬¸üÇ¿µ÷Ó¦ÓõÄÍâ±í±í´ï¡£JSP±àÒëºóÊÇ¡±Ààservlet¡±¡£ServletºÍJSP×îÖ÷ÒªµÄ²»Í¬µãÔÚÓÚ£¬ServletµÄÓ¦ÓÃÂß¼ÊÇÔÚJavaÎļþÖУ¬²¢ÇÒÍêÈ«´Ó±íʾ²ãÖеÄHTMLÀï·ÖÀ뿪À´¡£¶øJSPµÄÇé¿öÊÇJavaºÍHTML¿ÉÒÔ×éºÏ³ÉÒ»¸öÀ©Õ¹ÃûΪ.jspµÄÎļþ¡£JSP²àÖØÓÚÊÓͼ£¬ServletÖ÷ÒªÓÃÓÚ¿ØÖÆÂß¼¡£
70¡¢XMLÎĵµ¶¨ÒåÓм¸ÖÖÐÎʽ£¿ËüÃÇÖ®¼äÓкα¾ÖÊÇø±ð£¿½âÎöXMLÎĵµÓÐÄļ¸ÖÖ·½Ê½£¿
a: Á½ÖÖÐÎʽ dtd,schema£¬b: ±¾ÖÊÇø±ð:schema±¾ÉíÊÇxmlµÄ£¬¿ÉÒÔ±»XML½âÎöÆ÷½âÎö(ÕâÒ²ÊÇ´ÓDTDÉÏ·¢Õ¹schemaµÄ¸ù±¾Ä¿µÄ)£¬c:ÓÐDOM,SAX,STAXµÈ
DOM:´¦Àí´óÐÍÎļþʱÆäÐÔÄÜϽµµÄ·Ç³£À÷º¦¡£Õâ¸öÎÊÌâÊÇÓÉDOMµÄÊ÷½á¹¹ËùÔì³ÉµÄ£¬ÕâÖֽṹռÓõÄÄÚ´æ½Ï¶à£¬¶øÇÒDOM±ØÐëÔÚ½âÎöÎļþ֮ǰ°ÑÕû¸öÎĵµ×°ÈëÄÚ´æ,Êʺ϶ÔXMLµÄËæ»ú·ÃÎÊ
SAX:²»ÏÖÓÚDOM,SAXÊÇʼþÇý¶¯Ð͵ÄXML½âÎö·½Ê½¡£Ëü˳Ðò¶ÁÈ¡XMLÎļþ£¬²»ÐèÒªÒ»´ÎÈ«²¿×°ÔØÕû¸öÎļþ¡£µ±Óöµ½ÏñÎļþ¿ªÍ·£¬Îĵµ½áÊø£¬»òÕß±êÇ©¿ªÍ·Óë±êÇ©½áÊøʱ£¬Ëü»á´¥·¢Ò»¸öʼþ£¬Óû§Í¨¹ýÔÚÆä»Øµ÷ʼþÖÐдÈë´¦Àí´úÂëÀ´´¦ÀíXMLÎļþ£¬Êʺ϶ÔXMLµÄ˳Ðò·ÃÎÊSTAX:Streaming API for XML (StAX)
92¡¢j2ee³£ÓõÄÉè¼Æģʽ£¿ËµÃ÷¹¤³§Ä£Ê½¡£
JavaÖеÄ23ÖÖÉè¼Æģʽ£º
Factory£¨¹¤³§Ä£Ê½£©£¬Builder£¨½¨Ôìģʽ£©£¬Factory Method£¨¹¤³§·½·¨Ä£Ê½£©£¬
Prototype£¨ÔʼģÐÍģʽ£©£¬Singleton£¨µ¥Àýģʽ£©£¬Facade£¨ÃÅÃæģʽ£©£¬
Adapter£¨ÊÊÅäÆ÷ģʽ£©£¬Bridge£¨ÇÅÁºÄ£Ê½£©£¬Composite£¨ºÏ³Éģʽ£©£¬
Decorator£¨×°ÊÎģʽ£©£¬Flyweight£¨ÏíԪģʽ£©£¬Proxy£¨´úÀíģʽ£©£¬
Command£¨ÃüÁîģʽ£©£¬Interpreter£¨½âÊÍÆ÷ģʽ£©£¬Visitor£¨·ÃÎÊÕßģʽ£©£¬
Iterator£¨µü´ú×Óģʽ£©£¬Mediator£¨µ÷Í£Õßģʽ£©£¬Memento£¨±¸Íü¼ģʽ£©£¬
Observer£¨¹Û²ìÕßģʽ£©£¬State£¨×´Ì¬Ä£Ê½£©£¬Strate