£¨×÷ÕߣºÐ¡ÁúͤÖ÷Blueski±àÒë¡¡2000Äê12ÔÂ22ÈÕ 14:22£©
¡¡¡¡
¡¡¡
¡£¨±àÕߣºÕâƪÎÄÕµÄÔÎÄÊ×´ÎÔÚ¹úÍâ³öÏÖʱ
£¬JSP»¹Ö»ÊÇÒ»ÖÖ¸Õ¸Õո¶ͷ½ÇµÄ¼¼Êõ
£¬²¢Ã»ÓÐÏñÏÖÔÚÕâÑùÈçÈÕÖÐÌì
¡£ÏÖÔÚ¿´À´ÕâƪÎÄÕµÄijЩ¹Ûµã¿ÉÄÜ»áÓÐÒ»¶¨µÄ¾ÖÏÞÐÔ£¬µ«ÎÒ²»µÃ²»³ÐÈÏÕâÊÇһƪºÜ´óÆøµÄ×÷Æ·£¬ÆäÖÐÉæ¼°ºÜ¶àJSPµÄÄÚÔÚÔÀí¡£Òò´Ë£¬ÎÒÏ뻹ÊÇÓбØÒª°ÑÕâƪÎÄÕ½éÉܸø´ó¼Ò£¬ÒÔ±ã¸÷λ´ÓÁíÒ»¸ö²àÃæ¸üÉîÈëµÄÁ˽âJSP¼¼Êõ¡££©
¡¡¡¡
¡¡¡¡
¡¡¡¡
¡¡¡¡Èç½ñÿһ¸öʹÓÃservletsµÄ¿ª·¢Õ߶¼ÖªµÀJSP£¬Ò»ÖÖ½¨¹¹ÔÚservlet¼¼ÊõÖ®ÉϵÄÓÉSun¹«Ë¾·¢Ã÷²¢»¨·Ñ´óÁ¿¾«Á¦¼ÓÒÔÍÆÐеÄweb¼¼Êõ¡£JSP½«servletÖеÄhtml´úÂëÍÑÀëÁ˳öÀ´£¬´Ó¶ø¿ÉÒÔ¼ÓËÙwebÓ¦Óÿª·¢ºÍÒ³Ãæά»¤¡£Êµ¼ÊÉÏ£¬ÓÉSun·¢²¼µÄ¹Ù·½ "Ó¦Óÿª·¢Ä£ÐÍ"ÎĵµÉÏ˵µÃ¸üÔ¶£º"JSP¼¼ÊõÓ¦¸Ã±»ÊÓΪ±ê×¼£¬¶øservletsÔÚ¶àÊýÇé¿öÏ¿ÉÊÓΪһÖÖ²¹³ä¡£"
¡¡¡¡
¡¡¡¡±¾ÎĽ«±È½ÏJSPºÍÁíÒ»Ïî»ùÓÚservletsµÄ¼¼Êõ£ºtemplate engines£¨Ä£°åÒýÇ棩¡£
¡¡¡¡
¡¡¡¡Ö±½ÓʹÓÃServletsµÄÎÊÌâ
¡¡¡¡µ±Servlets±»·¢Ã÷ʱ£¬Õû¸öÊÀ½ç¶¼¿´µ½ÁËËüµÄÓÅÔ½ÐÔ¡£»ùÓÚServletµÄ¶¯Ì¬ÍøÒ³¿ÉÒÔ±»¿ìËÙÖ´ÐУ¬¿ÉÒÔÔÚ¶à¸ö
·þÎñÆ÷Ö®¼äÇáÒ×תÒÆ£¬ ²¢ÇÒ¿ÉÒԺͺǫ́Êý¾Ý¿âÍêÃÀµØ¼¯³É£¬Òò´ËServlets±»¹ã·º½ÓÊܳÉΪһÖÖweb
·þÎñÆ÷¶ËµÄÊ×ѡƽ̨¡£
¡¡¡¡
¡¡¡¡µ«ÊÇ£¬Í¨³£Í¨¹ý¼òµ¥·½Ê½¼´¿ÉʵÏÖµÄhtml´úÂëÏÖÔÚÈ´ÒªÈóÌÐòԱͨ¹ý out.println()µ÷ÓÃÿһÐÐHTMLÐУ¬ÕâÔÚʵ¼ÊµÄ ServletÓ¦ÓÃÖбä³ÉÒ»¸öÑÏÖØÎÊÌâ¡£HTMLÄÚÈݲ»µÃ²»Í¨¹ý´úÂëÀ´ÊµÏÖ, Õâ¶ÔÓÚ´óµÄHTMLÒ³À´Ëµ²»à´ÊÇÒ»Ïî·±ÖØ·ÑʱµÄ¹¤×÷¡£ÁíÍ⣬¸ºÔðÍøÒ³ÄÚÈݵÄÈËÔ±²»µÃ²»Ç뿪·¢ÈËÔ±À´½øÐÐËùÓеĸüС£Îª´Ë£¬ÈËÃÇÑ°ÇóÕâÒ»ÖÖ¸üºÃµÄ½â¾ö·½Ê½¡£
¡¡¡¡
¡¡¡¡JSPµ®Éú
¡¡¡¡JSP 0.90µ®ÉúÁË¡£ÔÚÕâÖÖ¼¼ÊõÖÐÄã¿ÉÒÔ½«Java´úÂëǶÈëµ½HTMLÎļþ£¬·þÎñÆ÷½«×Ô¶¯ÎªÒ³Ãæ´´½¨Ò»¸öServlet¡£JSP±»ÈÏΪÊÇÒ»ÖÖдServletµÄ¼òÒ×·½Ê½¡£ËùÓÐHTML¿ÉÒÔÖ±½ÓµÃµ½¶ø²»±Øͨ¹ýout.println()µ÷Ó㬶ø¸ºÔðÒ³ÃæÄÚÈݵÄÈËÔ±¿ÉÒÔÖ±½ÓÐÞ¸ÄHTML¶ø²»±ØðÆÆ»µJava´úÂëµÄ·çÏÕ¡£
¡¡¡¡
¡¡¡¡µ«ÊÇ£¬ÈÃÒ³ÃæÃÀÊõÉè¼ÆʦºÍ¿ª·¢ÈËÔ±ÔÚͬһÎļþÉϹ¤×÷²¢²»ÀíÏ룬ÈÃJavaǶÈëHTML±»Ö¤Ã÷ÊǾÍÏó½«HTMLǶÈëJavaÒ»ÑùÁîÈËÞÏÞΡ£¶ÁÈ¡Ò»¶ÑºÜÂҵĴúÂëÈÔÈ»ÊÇÒ»¼þÀ§ÄѵÄÊÂÇé¡£
¡¡¡¡
¡¡¡¡ÓÚÊÇ£¬ÈËÃÇÔÚʹÓÃ
jsp·½Ãæ±äµÃ³ÉÊ죬¸ü¶àµØʹÓÃÁËJavaBeans¡£Beans°üº¬ÁË
jspËùÐèµÄÒµÎñÂß¼©´úÂë¡£JSPÖеĴó¶àÊý´úÂ붼¿ÉÒÔÈ¡³öÀ´·Åµ½beanÖÐÈ¥£¬¶øÖ»Áôϼ«Éٵıê¼ÇÓÃÓÚµ÷ÓÃbean¡£
¡¡¡¡
¡¡¡¡×î½ü£¬ÈËÃÇ¿ªÊ¼ÈÏΪÕâÖÖ·½Ê½ÏµÄJSPÒ³ÃæÕæµÄºÜÏóÊÇÊÓͼ£¨view£©¡£ËüÃdzÉΪһ¸öÓÃÓÚÏÔʾ¿Í»§¶ËÇëÇó½á¹ûµÄ×é¼þ¡£ÓÚÊÇÈËÃÇ»áÏ룬Ϊʲô²»Ö±½Ó¶Ôview·¢ËÍÇëÇóÄØ£¿Ä¿±êviewÈç¹û¶Ô¸ÃÇëÇ󲻺ÏÊÊÓÖ½«ÈçºÎ£¿Ëµµ½µ×£¬ºÜ¶àµÄÇëÇóÓжàÖÖ¿ÉÄÜÀ´È¡µÃ½á¹ûviewÊÓͼ¡£ÀýÈ磬ͬһÇëÇó¿ÉÄܲúÉú³É¹¦µÄÒ³Ãæ¡¢Êý¾Ý¿âÀýÍâ³ö´í±¨¸æ£¬»òÕßÊÇȱÉÙ²ÎÊýµÄ³ö´í±¨¸æ¡£Í¬Ò»ÇëÇó¿ÉÄܲúÉúÒ»¸öÓ¢ÎÄÒ³ÃæÒ²¿ÉÄÜÊÇÎ÷°àÑÀÎÄÒ³Ã棬ÕâÈ¡¾öÓÚ¿Í»§¶ËµÄlocale¡£ÎªÊ²Ã´¿Í»§¶Ë±ØÐëÖ±½Ó½«ÇëÇó·¢Ë͸øview£¿ÎªÊ²Ã´¿Í»§¶Ë²»Ó¦¸Ã½«ÇëÇó·¢Ë͸øһЩͨÓõķþÎñÆ÷×é¼þ²¢È÷þÎñÆ÷À´¾ö¶¨JSP viewµÄ·µ»Ø£¿
¡¡¡¡
¡¡¡¡ÕâʹºÜ¶àÈ˽ÓÊÜÁËÒѱ»³ÆΪ"Model 2"µÄÉè¼Æ, ÕâÊÇÔÚJSP 0.92Öж¨ÒåµÄ»ùÓÚmodel-view-controllerµÄÄ£ÐÍ¡£ÔÚÕâÖÖÉè¼ÆÖУ¬ÇëÇó±»·¢Ë͵½Ò»¸öservlet¿ØÖÆÆ÷£¬ËüÖ´ÐÐÁËÉÌÒµÂß¼©²¢²úÉúÒ»¸öÏà½üµÄÊý¾Ý"model"À´ÓÃÓÚÏÔʾ¡£ÕâÒ»Êý¾ÝËæºóͨ¹ýÄÚ²¿Ë͵½Ò»¸öJSP "view"À´½øÐÐÏÔʾ£¬ÕâÑù¿´ÆðÀ´JSPÒ³¾ÍÏóÊÇÒ»¸öÆÕͨµÄǶÈëµÄJavaBean¡£¿ÉÒÔ¸ù¾Ý¸ºÔð¿ØÖƵÄservletµÄÄÚ²¿Âß¼À´Ñ¡ÔñÊʵ±µÄJSPÒ³Ãæ½øÐÐÏÔʾ¡£ÕâÑù£¬JSPÎļþ³ÉΪÁËÒ»¸öƯÁÁµÄtemplate view¡£Õâ¾ÍÊÇÁíÒ»ÖÖ·¢Õ¹£¬²¢±»ÁíÍâһЩ¿ª·¢ÕßËùÍƳçÖÁ½ñ¡£
¡¡¡¡
¡¡¡¡½øÈëTemplate Engines
¡¡¡¡Èç¹ûʹÓÃtemplate engineÀ´´úÌæͨ³£Ä¿µÄµÄJSP, ½ÓÏÂÈ¥µÄÉè¼Æ½«±äµÃ¼òµ¥£¬Óï·¨¸ü¼òµ¥£¬³ö´íÐÅÏ¢¸üÒ׶Á£¬¹¤¾ßÒ²¸üÓû§»¯¡£Ò»Ð©¹«Ë¾ÒѾ×öÁËÕâÑùµÄÒýÇ棬×îÖøÃûµÄ¿ÉÄÜÊÇWebMacro£¬ËûÃǵÄÒýÇæÊÇÃâ·ÑµÄ¡£
¡¡¡¡
¡¡¡¡¿ª·¢ÕßÓ¦¸ÃÃ÷ÁË£¬Ñ¡¶¨Ò»¸ötemplate engineÀ´È¡´úJSPÌṩÁËÒÔÏÂһЩ¼¼ÊõÓÅÊÆ£¬¶øÕâЩͬʱҲÕýÊÇjspµÄ²»×ãÖ®´¦£º
¡¡¡¡
¡¡¡¡ÎÊÌâ #1: Java´úÂëÌ«Ä£°å»¯ÁË
¡¡¡¡
¡¡¡¡ËäÈ»±»ÈÏΪÊDz»ºÃµÄÉè¼Æ£¬JSPÈÔÊÔͼ½«Java´úÂë¼ÓÈëwebÒ³Ãæ¡£ÕâÓÐЩÏóÊÇJavaÔø¾×ö¹ýµÄÊÂÇ飬¼´¶ÔC++µÄ¼ò»¯Ð޸ģ¬template enginesҲͨ¹ý½«jspÖеĽϵͲãµÄÔ´ÂëÒÆÈ¥À´Ê¹Ö®¼ò»¯¡£¶øTemplate enginesʵÐÐÁ˸üºÃµÄÉè¼Æ¡£
¡¡¡¡
¡¡¡¡ÎÊÌâ #2: ÒªÇóдJava´úÂë
¡¡¡¡
¡¡¡¡ÔÚJSPÒ³ÖÐÒªÇóдһЩJava´úÂë¡£ÀýÈ磬¼ÙÉèijҳҪ¾ö¶¨µ±Ç°webÓ¦ÓÃÖиùµÄÉÏÏÂÎÄ´Ó¶øµ¼ÏòÆäÖ÷Ò³£¬ÔÚJSPÖÐ×îºÃʹÓÃÈçÏÂJava´úÂ룺
¡¡¡¡
¡¡¡¡Home page
¡¡¡¡
¡¡¡¡Äã¿ÉÒÔÊÔͼ±ÜÃâJava´úÂ룬¶øʹÓÃ
±ê¼Ç£¬µ«Õ⽫¸øÄãÈçÏÂÄÑÒÔÔĶÁµÄ×Ö·û´®£º
¡¡¡¡
¡¡¡¡/index.html">HomePage
¡¡¡¡
¡¡¡¡Ê¹ÓÃtemplate engineÔòûÓÐJava´úÂëºÍÄÑ¿´µÄÓï·¨¡£ÕâÀïÊÇͬÑùÒªÇóÏÂÔÚWebMacroÖеÄд·¨£º
¡¡¡¡
¡¡¡¡Home page
¡¡¡¡
¡¡¡¡ÔÚWebMacroÖÐ, ContextPath ×÷Ϊ $Request±äÁ¿µÄÒ»¸öÊôÐÔ£¬Ê¹ÓÃÀàËÆPerlµÄÓï·¨¡£ÆäËütemplate enginesʹÓÃÁËÆäËüµÄÓï·¨ÀàÐÍ¡£
¡¡¡¡
¡¡¡¡ÔÙ¿´ÁíÒ»¸öÀý×Ó£¬¼ÙÉèÒ»¸ö¸ß¼¶µÄ"view"ÐèÒªÉ趨һ¸öcookieÀ´¼Ç¼Óû§È±Ê¡µÄÑÕÉ«ÅäÖà -- ÕâÖÖÈÎÎñ¿´ÆðÀ´´ó¸ÅÖ»ÄÜÓÉview¶ø²»ÊÇservlet¿ØÖÆÆ÷À´Íê³É¡£ÔÚJSPÖÐÒªÓÐÕâÑùµÄJava´úÂ룺
¡¡¡¡
¡¡¡¡<% Cookie c = new Cookie("colorscheme", "blue"); response.addCookie(c); %>
¡¡¡¡
¡¡¡¡ÔÚWebMacroÖÐÔòûÓÐJava´úÂ룺
¡¡¡¡
¡¡¡¡#set $Cookie.colorscheme = "blue"
¡¡¡¡
¡¡¡¡×÷Ϊ×îºóÒ»¸öÀý×Ó£¬¼ÙÈçÓÖÒªÖØÐÂÕÒ»ØÔÀ´µÄcookieÖеÄÑÕÉ«ÅäÖ᣶ÔÓÚJSP£¬ÎÒÃÇ¿ÉÒÔÈÏΪҲÓÐÒ»¸öÏàÓ¦µÄ¹¤¾ßÀàÀ´Ìṩ°ïÖú£¬ÒòΪÓÃgetCookies()Ö±½Ó×öÕâÑùµÍ²ãµÄ»á±äµÃ¿ÉЦ¶øÇÒÀ§ÄÑ¡£ÔÚJSPÖУº
¡¡¡¡
¡¡¡¡<% String colorscheme = ServletUtils.getCookie(request, "colorscheme"); %>
¡¡¡¡
¡¡¡¡ÔÚWebMacroÖÐûÓжԹ¤¾ßÀàµÄÐèÒª£¬Í¨³£ÊÇ£º
¡¡¡¡
¡¡¡¡$Cookie.colorscheme.Value
¡¡¡¡
¡¡¡¡¶ÔÓÚ±ØÐëȥдjspµÄͼÐνçÃæÉè¼Æʦ£¬ÄÄÒ»ÖÖÓï·¨¸üÈÝÒ×ѧϰÄØ£¿
¡¡¡¡
¡¡¡¡JSP 1.1 ÒýÈëÁË×Ô¶¨Òå±ê¼Ç£¨custom tags£©ÔÊÐíÈÎÒâµÄºÍHTMLÏàËƵıê¼ÇÔÚJSPÒ³ÃæÖÐÔÚºǫִ́ÐÐJava´úÂ룬Õ⽫¾ßÓÐÒ»¶¨µÄ¼ÛÖµ£¬µ«Ç°ÌáÊÇÒªÓÐÒ»¸ö¹ã·ºÖªÏþµÄ£¬È«¹¦Äܵģ¬¿ÉÒÔÃâ·ÑµÃµ½µÄ£¬±ê×¼»¯µÄ±ê¼Ç¿â¡£Ä¿Ç°»¹Ã»ÓгöÏÖÕâÑùµÄ±ê¼Ç¿â¡£
¡¡¡¡
¡¡¡¡