¡¡¡¡Java Servlet¼¼ÊõÓëJSP¼¼ÊõʹJava·þÎñÆ÷¶Ë¼¼Êõ£¬Ä¿Ç°ËûÃÇ¿ØÖÆÁËÕû¸ö·þÎñÆ÷¶ËJava¼¼ÊõÊг¡£¬²¢ÇÒÖð½¥³ÉΪ¹¹½¨ÉÌÒµWebÓ¦Óõıê×¼¡£Java¿ª·¢Õßϲ»¶ÕâЩ¼¼ÊõÊÇÓÉÓںܶàµÄÔÒò£¬°üÀ¨£ºÕâЩ¼¼ÊõºÜÈÝÒ×ѧϰ£¬Ò»´Î±àд£¬´¦´¦ÔËÐÐ(Write Once, Run Anywhere)¡£¸üÖØÒªµÄÊÇ£¬Èç¹û¸ü¸ßЧµØ²ÉÓÃÁËÏÂÃæµÄʵ¼ù£¬ServletÓëJSPÄܹ»°ïÖú·Ö¿ªWebµÄ±íʾÓëÄÚÈÝ¡£¡°×î¼Ñʵ¼ù¡±ÊDZ»Ö¤Ã÷Ϊ¿ª·¢¸ßÖÊÁ¿¡¢¿ÉÖØÓÃÓëÒ×ά»¤µÄ»ùÓÚServletºÍJSPµÄWebÓ¦ÓõĽϺ÷½·¨¡£Óë´ËÏà¶ÔÓ¦µÄÊÇ£¬½«Java´úÂë»ìºÏÔÚHTMLÖУ¬ÕâÑùºÜÈÝÒײúÉúµÍЧÂÊ¡¢²»Ò×ÖØÓá¢ÄÑÓÚά»¤µÄ¸´ÔÓÓ¦ÓóÌÐò¡£×î¼Ñʵ¼ù½«¸Ä±äÕâЩ±×¶Ë¡£
¡¡¡¡±¾ÎĽ«ÃèÊöΪServletsÓëJSP×¼±¸µÄ×î¼Ñʵ¼ùµÄÖØÒªÐÔ£»ÕâÀï¼ÙÉè¶ÁÕßÒѾÁ˽âÁ½ÕߵĻù±¾¹¤×÷ÔÀí¡£ÕâƪÎÄÕ½«º¸ÇÒÔÏÂÄÚÈÝ£º
- ¼òÒª½éÉÜJava ServletÓëJavaServer Pages (JSP)¡£
- Ϊ¿ª·¢Servlets ÓëJSPÌṩһЩÌáʾ£¬¼¼ÇÉÓë¹æÔò¡£
- ΪServletÓëJSPÌṩ×î¼Ñʵ¼ù¡£
ServletºÍJSP Pages¸ÅÊö
¡¡¡¡ÀàËÆÓÚͨÓÃÍø¹Ø½Ó¿Ú(CGI)½Å±¾£¬servletsÖ§³ÖÇëÇóÏìÓ¦±à³Ìģʽ¡£µ±¿Í»§¶Ë¸ø·þÎñÆ÷·¢ËÍÇëÇóʱ£¬·þÎñÆ÷½«ÇëÇó·¢Ë͸øservlet¡£È»ºó£¬servlet¹¹½¨Ò»¸öÏìÓ¦£¬·þÎñÆ÷½«¸ÃÏìÓ¦·¢Ëͻؿͻ§¶Ë¡£È»¶ø£¬¸úCGI½Å±¾²»Í¬µÄÊÇ£¬servletsºÍHTTP·þÎñÆ÷ÔËÐÐÔÚͬһ¸ö½ø³ÌÄÚ¡£
¡¡¡¡µ±·¢³ö¿Í»§¶ËÇëÇóµÄʱºò£¬µ÷ÓÃservice ·½·¨²¢´«µÝÒ»¸öÇëÇóºÍÏìÓ¦¶ÔÏó¡£ServletÊ×ÏÈÅжϸÃÇëÇóÊÇGET ²Ù×÷»¹ÊÇPOST ²Ù×÷¡£È»ºóËüµ÷ÓÃÏÂÃæµÄÒ»¸ö·½·¨£ºdoGet »ò doPost¡£Èç¹ûÇëÇóÊÇGET¾Íµ÷ÓÃdoGet·½·¨£¬Èç¹ûÇëÇóÊÇPOST¾Íµ÷ÓÃdoPost·½·¨¡£doGetºÍdoPost¶¼½ÓÊÜÇëÇó(HttpServletRequest)ºÍÏìÓ¦(HttpServletResponse)¡£
¡¡¡¡×î¼òµ¥µØ˵£¬servletsÊÇÄܹ»Ê¹ÓÃprintÓï¾ä²úÉú¶¯Ì¬HTMLÄÚÈݵÄJavaÀࡣȻ¶ø£¬ÓÐÒ»µã±ØÐëÒªÌáһϣ¬ÄǾÍÊÇservletsÊÇÔÚÒ»¸öÈÝÆ÷ÄÚÔËÐеģ¬²¢ÇÒAPIs ÌṩÁ˶ԻỰºÍ¶ÔÏóµÄÉúÃüÖÜÆڵĹÜÀí¡£Òò´Ë£¬µ±ÄãʹÓÃservletsʱ£¬Äã¾ÍÄÜ»ñµÃJavaƽ̨µÄËùÓÐÓÅÊÆ£¬Ëü°üÀ¨É³Ïä (°²È«)¡¢Í¨¹ýJDBCµÄÊý¾Ý¿â´æÈ¡APIºÍ¾ßÓпçƽ̨¿ÉÒÆÖ²ÐÔµÄservlets¡£
Java Server Pages (JSP)
¡¡¡¡JSP¼¼ÊõÊÇServlet¼¼ÊõµÄÒ»¸ö½Ï¸ß²ã´ÎµÄ³éÏó¡£ËüÊÇSun¹«Ë¾¿ª·¢¡¢¿ª·ÅµÄ¼¼Êõ£¬ÊÇÓëMicrosoft¹«Ë¾µÄASP¶¯Ì¬ÍøÒ³¼¼ÊõÏàËƵÄÒ»ÖÖ¼¼Êõ£¬²¢ÇÒËüÊÇJava2 ÆóÒµ°æ(J2EE)µÄÒ»¸ö¹Ø¼ü×é¼þ¡£Ä¿Ç°£¬ºÜ¶àÉÌÒµµÄÓ¦Ó÷þÎñÆ÷£¨ÀýÈçBEA WebLogic, IBM WebSphere, Live JRun, OrionµÈµÈ£©¶¼Ö§³ÖJSP¡£
¡¡¡¡
¡¡¡¡JSPÒ³ÃæÈçºÎ¹¤×÷£¿
¡¡¡¡JSPÒ³Ãæʵ¼ÊÉÏÊÇÒ»¸ö´øÓд«Í³HTMLºÍJava´úÂëµÄWebÒ³Ãæ¡£JSPÒ³ÃæµÄÎļþÀ©Õ¹ÃûÊÇ.jsp¶ø²¢²»ÊÇ.html»ò.htm£¬¸ÃÀ©Õ¹Ãû¸æËß·þÎñÆ÷¸ÃÒ³ÃæÐèÒªÌØÊâµÄ´¦Àí£¬¸ÃÌØÊâ´¦Àí±ØÐëÓÉ·þÎñÆ÷À©Õ¹»ò²å¼þʵÏÖ¡£
¡¡¡¡µ±Ò»¸öJSPÒ³Ãæ±»¶Áȡʱ£¬ËûÊ×ÏȽ«±»±àÒë(JSPÒýÇæÀ´×öÕâ¼þÊÂÇé)Ϊһ¸öServlet¡£ ÕâʱºòÕâ¸öServlet¾ÍÏñÆäËûServletÒ»Ñù±»½»¸øServletÒýÇæÀ´´¦Àí¡£È»ºóServletÒýÇæ¶ÁÈ¡ÄǸöServlet¶ÔÓ¦µÄÀà(ÓÃClassLoader)²¢ÇÒÖ´ÐÐËü£¬²úÉúÒ»¸ö¶¯Ì¬HTMLÒ³Ã棨ͼ1£©¡£Õâ¸öServlet´´½¨Ò»Ð©±ØÐèµÄÔª¼þ£¬È»ºó½«ÕâЩԪ¼þ×÷Ϊһ¸ö×Ö·û´®Ð´ÈëÊä³öÁ÷(OutputStream)£¬²¢ÏÔʾÔÚä¯ÀÀÆ÷ÖС£
¡¡¡¡µ÷ÓÃJSPÒ³Ãæʱ£¬Ê×ÏȻὫËü±àÒë³ÉÒ»¸ö (ͨ¹ýJSPÒýÇæ) Java servlet¡£Õâʱ£¬servletÒýÇæ´¦Àí¸Ãservlet£¬¾ÍÏñ´¦ÀíÈκÎÆäËûservletÒ»Ñù¡£È»ºó£¬servletÒýÇæ¼ÓÔØservletÀà (ʹÓÃÀà¼ÓÔØÆ÷) ²¢Ö´ÐÐËü´´½¨¶¯Ì¬HTML·¢Ë͸øä¯ÀÀÆ÷£¬Èçͼ1Ëùʾ¡£Servlet´´½¨ËùÓбØÐèµÄ¶ÔÏ󣬲¢½«ËùÓжÔÏó×÷Ϊ×Ö·û´®Ð´Èëµ½Êä³öÁ÷ÖУ¬²¢ÔÚä¯ÀÀÆ÷ÖÐÏÔʾ¡£
jsp/jiaocheng/img2005/1644.gif" align=center vspace=3 border=0>
¡¡¡¡Í¼1: µ÷ÓÃÒ»¸öJSPÒ³ÃæµÄÇëÇó/ÏìÓ¦Á÷³Ìͼ
¡¡¡¡Ï´ÎÇëÇó¸ÃÒ³ÃæµÄʱºò£¬JSPÒýÇæÖ´ÐÐÔç¾Í×°ÔصÄservlet³ý·ÇJSPÒ³ÃæÔç¾Í¸ü¸Ä£¬ÔÚÕâÖÖÇé¿öÏ£¬»á½«Ëü×Ô¶¯ÖØбàÒë½øÒ»¸öservletÖв¢Ö´ÐС£
×î¼Ñʵ¼ù
¡¡¡¡ÔÚ±¾½ÚÖУ¬½«ÃèÊöÔÚServelt£¬ ÌرðÊÇJSPÖеÄ×î¼Ñʵ¼ù¡£Ç¿µ÷JSP×î¼Ñʵ¼ùÊÇÒòΪJSP±ÈServletµÃµ½¸üΪ¹ã·ºµÄÓ¦Óã¨Ò²ÐíÊÇÒòΪJSP¼¼Êõ´Ù½øÁ˱íʾÓëÂß¼µÄ·ÖÀ룩¡£Ò»¸ö¼¯³ÉServletÓëJSPµÄ×î¼Ñʵ¼ùÊÇ¡°Ä£ÐÍ-ÏÔʾ-¿ØÖÆÆ÷¡±Éè¼Æģʽ(Model View Controller, MVC)£¬½«ÔÚ±¾ÎĵĺóÃ沿·Ö½øÐÐÌÖÂÛ¡£
- ÔÚHTMLÒ³ÃæÖв»Òª¹ý¶àʹÓÃJava´úÂ룺 ½«ËùÓеÄJava´úÂëÖ±½Ó·ÅÔÚJSPÒ³ÃæÖУ¬¶ÔÓÚСÏîÄ¿¶øÑÔûÓÐÎÊÌ⣬µ«Êǹý¶ÈʹÓý«»áµ¼ÖÂÒâ´óÀûÃæÌõËƵĴúÂ룬ÄÑÓÚÔĶÁ£¬ÄÑÓÚÀí½â¡£¼õÉÙJava´úÂëµÄ·½·¨ÊDZàд¶ÀÁ¢µÄJavaÀàÀ´ÊµÏÖ¼ÆËãµÈÂß¼¡£Ò»µ©²âÊÔÁËÕâЩÀ࣬¾Í´´½¨ÁËʵÀý¡£
- Ñ¡ÔñºÏÊʵÄinclude»úÖÆ£º ×îºÃ½«Ò³Ã¼¡¢Ò³½ÅºÍµ¼º½ÌõÄÚÈÝ´æ´¢ÔÚµ¥¸öÎļþÖУ¬²¢ÇÒ²»ÒªÖØж¯Ì¬²úÉúËüÃÇ¡£Ò»µ©½«ÕâЩÄÚÈÝ´æ´¢ÔÚ¸÷¸ö¶ÀÁ¢µÄÎļþÖУ¬Ê¹ÓÃÏÂÃæinclude»úÖÆÖеÄÈκÎÒ»¸ö¾ÍÄÜÔÚËùÓеÄÒ³ÃæÖÐÒýÈëËüÃÇ£º
- Include Ö¸Á <%@ include file="filename" %>
- IncludeÐÐΪ£º <jsp:include page="page.jsp" flush="true" />
¡¡¡¡
¡¡¡¡µ±JSPÕýÔÚת»»³ÉServletʱ£¬µÚÒ»ÖÖinclude»úÖƽ«°üº¬Ö¸¶¨ÎļþµÄÄÚÈÝ(ת»»½×¶Î)£¬¶ÔÓÚµÚ¶þÖÖinclude»úÖÆÀ´Ëµ£¬µ±¸ÃÒ³ÃæÖ´Ðкóʱ£¬Ò³Ãæ°üº¬ÁËÓÃResponse²úÉúµÄÄÚÈÝ¡£µ±±»°üº¬µÄÒ³Ã治̫¸Ä±äµÄʱºò£¬ÎÒÍƼöʹÓõÚÒ»ÖÖincludeÖ¸Áʽ£¬ÕâÖÖ·½Ê½±È½Ï¿ì£¬ÐÔÄܽϺ㻵±±»°üº¬µÄÎļþ¾³£¸Ä±ä£¨ÆäÖÐÒ²Óж¯Ì¬ÄÚÈÝ£©Ê±£¬²¢ÇÒÔÚÖ´ÐÐÖ÷Ò³µÄʱºò²»ÄÜÈ·¶¨ËùÒªÒýÈëµÄµÄÒ³ÃæµÄʱºò£¬Ê¹ÓõڶþÖÖincludeÐÐΪ·½Ê½¡£
¡¡¡¡
¡¡¡¡ÁíÒ»ÖÖinclude»úÖÆÊÇʹÓÃJSP±ê×¼±ê¼Ç¿â£¨JSTL£©ÖеÄ<c:import> ÐÐΪ±ê¼Ç¡£¿ÉÒÔʹÓÃÕâÖÖ·½Ê½À´°üº¬±¾µØµÄ»òÕßÔ¶³ÌµÄÎļþ£¬ÏÂÃæÊÇһЩÀý×Ó£º
<c:import url="./copyright.html"/>
¡¡¡¡<c:import url="http://www.somewhere.com/hello.xml"/>
- ²»Òª½«ÒµÎñÂß¼ºÍ±íʾ»ìºÏÆðÀ´£º ÔÚ¸üΪ¸´ÔÓµÄÓ¦ÓÃÖУ¬²¢ÇÒ¸ü¶àµÄ´úÂë±»ÒýÈëʱ£¬ºÜÖØÒªµÄÒ»µãÊDz»Òª½«ÒµÎñÂß¼Óë±íʾ»ìÔÚͬһ¸öÎļþÖС£·Ö¿ªÒµÎñÂß¼Óë±íʾʹµÃµ±ÆäÖеÄÈκÎÒ»·½ÐèÒª¸Ä¶¯ÊDz»ÖÁÓÚÓ°Ïìµ½ÁíÍâÒ»·½¡£JSP½ö½ö±»×÷Ϊǰ̨µÄ±íʾ¡£ÄÇô£¬¸ÃÈçºÎʵÏÖÒµÎñÂß¼²¿·ÖÄØ£¿Õâ¾ÍÊÇJavaBeansµÄÓÃÎäÖ®µØÁË¡£JavaBeans¼¼ÊõÊÇÇá±ãµÄ¡¢Æ½Ì¨Î޹صÄ×齨ģÐÍ£¬Ëüʹ¿ª·¢ÈËÔ±±àд×é¼þ²¢ÇÒ¿ÉÒÔ´¦´¦ÔËÐС£ÔÚJSP»·¾³ÖУ¬JavaBeans×é¼þ´¦ÀíÒµÎñÂß¼²¢·µ»ØÊý¾Ý¸øJSPÒ³Ã棬Õâ·´¹ýÀ´¸ñʽ»¯´ÓJavaBeans×é¼þ·µ»ØµÄÊý¾Ý£¬ÒÔ±ãÔÚä¯ÀÀÆ÷ÖÐÏÔʾ¡£JSPÒ³Ãæͨ¹ýµ÷ÓÃJavaBeans×é¼þµÄget·½·¨ºÍset·½·¨À´²Ù×÷BeanµÄ¸÷ÏîÊôÐÔ¡£Ê¹ÓÃJavaBeans¼¼ÊõµÄºÃ´¦ÈçÏ£º
- ¿ÉÖØÓ㺲»Í¬µÄÓ¦ÓÿÉÒÔʹÓÃͬһ¸ö×é¼þ¡£
- ·ÖÀëÒµÎñÂß¼Óë±íʾ£º¿ÉÒÔÔÚJSPÒ³ÃæÉϸıäÊý¾ÝµÄÏÔʾÍâ¹Û¶ø²»Ó°ÏìÒµÎñÂß¼¡£»»¶øÑÔÖ®£¬ÍøÒ³Éè¼ÆʦֻÐèÒª¹Ø×¢Éè¼Æ£¬Java¿ª·¢ÈËÔ±Ö»ÐèÒª¹Ø×¢ÒµÎñÂß¼¡£
- ±£³ÖÔ´´úÂëµÄ°²È«ÐÔ£¬±£»¤×Ô¼ºµÄ֪ʶ²úȨ¡£
¡¡¡¡
¡¡¡¡Èç¹ûÔÚÄãµÄÓ¦ÓóÌÐòÖÐʹÓÃÁËEnterprise JavaBeans (EJBs)×é¼þ£¬±ØÐ뽫ҵÎñÂß¼±£ÁôÔÚEJB×é¼þÖУ¬ÌṩÉúÃüÖÜÆÚ¹ÜÀí£¬ÊÂÎñÖ§³ÖÓë¶Ô¶à¿Í»§¶Ë¶ÔÓò¶ÔÏó£¨ÊµÌåBeans£©µÄ´æÈ¡¡£¿ÉÒÔÔÚEnterprise BluePrints »ñµÃ¸üΪÏêϸµÄ×ÊÁÏ¡£
- ʹÓÃ×Ô¶¨Òå±ê¼Ç£º ²¢²»ÊÇËùÓÐHTMLÄÚÈÝ¿ª·¢Õ߶¼Ï²»¶½«Java´úÂë(»òscriptlets)ǶÈëÔÚHTMLÎĵµÖеģ¬¿ÉÄÜÊÇÒòΪËûÃDz»Á˽âJavaÓïÑÔ²¢ÇÒÒ²²»ÀÖÒâѧϰËüµÄÓï·¨¡£µ«ÊDz»ÄÜʹÓÃJavaBeans×é¼þ·â×°ºÜ¶àJava´úÂ룬ÔÚJSPÒ³ÃæÖÐʹÓÃËüÃÇÈÔȻҪÇóÄÚÈÝ¿ª·¢Õß¾ßÓÐJavaÓï·¨µÄ֪ʶ¡£
¡¡¡¡
¡¡¡¡JSP¼¼ÊõÔÊÐíÄãͨ¹ý±ê¼Ç¿âÉ豸ÒýÈëеÄ×Ô¶¨Òå±ê¼Ç¡£×÷Ϊһ¸öJava¿ª·¢Õߣ¬Äã¿ÉÒÔͨ¹ýÒýÈëÄܹ»²¿Êð²¢ÔÚHTMLÕâÀàÓï·¨ÖÐʹÓõÄ×Ô¶¨Òå±ê¼ÇÀ©Õ¹JSPÒ³Ãæ¡£×Ô¶¨Òå±ê¼Çͨ¹ý½øÒ»²½·Ö¸ôÒµÎñÂß¼ºÍ±íʾÂß¼Ò²ÔÊÐíÄãÌṩ¸üºÃµÄ·â×°¡£ÁíÍ⣬ËüÃÇÌṩÁË×Ô¶¨Òå±íʾµÄ·½·¨£¬¶øʹÓÃJSTLÈ´ºÜÄÑ×öµ½ÕâÒ»µã¡£
¡¡¡¡
¡¡¡¡×Ô¶¨Òå±ê¼ÇµÄºÃ´¦£º
- ËûÃÇÄܹ»Ïû³ýJSPÓ¦ÓóÌÐòÖеÄscriptlets¡£±ê¼Ç±ØÐèµÄ²ÎÊý¿ÉÒÔ×÷ΪÊôÐÔ»òÄÚÈÝÌå´«µÝ£¬Òò´Ë£¬²»ÐèÒªJava´úÂë³õʼ»¯»òÉèÖÃ×é¼þÊôÐÔ¡£
- ËüÃǵÄÓï·¨·Ç³£ÀàËÆ¡£ScriptletsÊÇʹÓÃJava´úÂë±àдµÄ£¬µ«ÊÇ¿ÉÒÔÔÚÀàËÆÓÚHTMLÓï·¨ÖÐʹÓÃ×Ô¶¨Òå±ê¼Ç¡£
- ËüÃÇÄܹ»Ìá¸ß·Ç³ÌÐòÔ±ÄÚÈÝ¿ª·¢ÕßµÄÉú²úÂÊ£¬ÔÊÐíËüÃÇÖ´ÐÐHTML²»ÐÐÍê³ÉµÄÈÎÎñ¡£
- ËüÃÇÊÇ¿ÉÖØÓõġ£½ÚÊ¡ÁË¿ª·¢ºÍ²âÊÔµÄʱ¼ä¡£Scriptlets²»ÊÇ¿ÉÖØÓõģ¬³ý·ÇÄãͨ¹ý¼ôÇÐÕ³Ìù À´¡°ÖØÓᱡ£
¡¡¡¡
¡¡¡¡¼ò¶øÑÔÖ®£¬Äã¿ÉÒÔʹÓúÍʹÓÃHTML´´½¨±í´ïʽһÑùµÄ·½·¨À´Í¨¹ý×Ô¶¨Òå±ê¼ÇÍê³É¸´ÔÓµÄÈÎÎñ¡£
¡¡¡¡
¡¡¡¡±àд×Ô¶¨Òå±ê¼Ç¿âµÄʱºò£¬¿ÉÒÔʹÓÃÏÂÁбà³ÌÖ¸ÄÏ£º
- ±£³Ö¼òµ¥ÐÔ£ºÈç¹ûÐèÒªÔÚÒ»¸ö±ê¼ÇÖаüº¬¶à¸öÊôÐÔ£¬ÄÇô×îºÃ½«Ëü·ÖΪ¶à¸ö±ê¼Ç¡£
- ʹËü¾ßÓпÉÓÃÐÔ£º×Éѯ±ê¼ÇµÄʹÓÃÕߣ¨HTML¿ª·¢Õߣ©´Ó¶ø»ñµÃ¸ß¿ÉÓÃÐÔ¡£
- ²»ÒªÔÚJSPÒ³ÃæÖз¢Ã÷Ò»ÖÖ±à³ÌÓïÑÔ£º²»Òª¿ª·¢×Ô¶¨Òå±ê¼ÇÈÃÓû§±àдÏÔʽµÄ³ÌÐò¡£
- ¾¡Á¿²»ÒªÖØз¢Ã÷ÂÖ×Ó£ºÄ¿Ç°Óжà¸öJSP±ê¼Ç¿â¿ÉÓã¬ÈçJakarta Taglibs Project¡£²é¿´ÕâЩ±ê¼Ç¿â£¬¿´¿´ÊÇ·ñÓÐÄãËùÏëÒªµÄ¶«Î÷¡£
- ²»ÒªÖØз¢Ã÷ÂÖ×Ó£º ËäÈ»×Ô¶¨Òå±ê¼ÇÌṩÁËÖØÓñ¦¹óµÄ×é¼þµÄ·½·¨£¬µ«ÊÇÈÔȻҪ´´½¨¡¢²âÊԺ͵÷ÊÔËüÃÇ¡£ÁíÍ⣬¿ª·¢ÕßÈÔȻҪ²»¶ÏµØÖØз¢Ã÷ÂÖ×Ó£¬¸Ã½â¾ö·½°¸µÄЧÂʲ»ÊÇ×î¸ßµÄ¡£ÎÊÌâ¾ÍÊÇͨ¹ýÌṩһ×é¿ÅÖØÓõıê×¼±ê¼Ç½â¾öJavaServer Pages Standard Tag Library (JSTL) ¡£JSTL¶¨ÒåÁËÒ»×éÔÚÈκεط½¶¼Ò»Ñù¹¤×÷µÄ±ê×¼±ê¼Ç¿â£¬ÕâÑùÄã¾Í²»ÔÙÐèҪʹÓÃscriptlet£¨»ò¸÷À๩ӦÉÌÌṩµÄµü´ú±ê¼Ç£©ÔÚ¼¯ºÏÖнøÐеü´ú¡£JSTL °üÀ¨¸÷Àà±ê¼Ç£¬Ñ»·¡¢²»Ê¹ÓÃJavaÓï·¨¾Í¶ÁÈ¡ÊôÐÔ¡¢µü´ú¸÷ÀàÊý¾Ý½á¹¹¡¢ÓÐÌõ¼þµØ¼ÆËã±í´ïʽ¡¢Í¨¹ýÒ»ÖÖ¾«È·µÄ·½Ê½ÉèÖÃÊôÐԺͽű¾±äÁ¿²¢·ÖÎöXMLÎĵµ¡£
- ʹÓÃJSTL±í´ïʽÓïÑÔ£º ʹÓÃJSP·¶Î§ÊôÐÔºÍÇëÇó²ÎÊý½«ÐÅÏ¢´«µÝ¸øJSPÒ³Ãæ¡£±í´ïʽÓïÑÔ (EL)ÊÇΪҳÃæ×÷ÕßÌرðÉè¼ÆµÄÓïÑÔ£¬½«JSP·¶Î§ÊôÐÔÌáÉýΪҵÎñÂß¼µ½JSPÒ³ÃæͨѶµÄ±ê×¼·½·¨¡£È»¶ø£¬×¢Ò⣬Ȼ¶øELÊÇJSP¼¼ÊõµÄÒ»¸ö¹Ø¼ü·½Ã棬Ëü²»ÊÇÒ»¸öͨÓñà³ÉÓïÑÔ¡£¶øÇÒ£¬ËüÊǼòµ¥µÄÊý¾Ý´æÈ¡ÓïÑÔ£¬Ëü²»ÐèҪʹÓÃscriptlet»òÇëÇóʱ¼ä±í´ïʽֵ¾ÍÄÜ·½±ãµØ´æÈ¡(²¢²Ù×÷)Ó¦ÓÃÊý¾Ý¡£
¡¡¡¡
¡¡¡¡ÔÚJSP 1.xÖУ¬Ò³Ãæ×÷Õß±ØÐëʹÓñí´ïʽ<%= aName %> À´´æȡϵͳµÄÖµ£¬ÈçÏÂÃæµÄÀý×ÓËùʾ£º
<someTags:aTag attribute="<%=
¡¡¡¡ pageContext.getAttribute("aName") %>">
¡¡¡¡»ò×Ô¶¨ÒåµÄJavaBeans×é¼þµÄÖµ£º
¡¡<%= aCustomer.getAddress().getCountry() %>
¡¡¡¡±í´ïʽÓïÑÔÔÊÐíÒ³Ãæ×÷ÕßʹÓüò»¯µÄÓï·¨´æÈ¡¶ÔÏó¡£ÀýÈ磬¿ÉÒÔʹÓÃÏÂÃæµÄÓï¾ä´æÈ¡¼òµ¥±äÁ¿£º
¡¡ <someTags:aTag attribute="${aName}">
¡¡¡¡Èç¹ûÏëÒª´æȡǶÌ×µÄJavaBeansÊôÐÔ£¬¿ÉÒÔʹÓÃÏÂÃæµÄÓï¾ä£º
¡¡<someTags.aTag attribute="${
¡¡¡¡ aCustomer.address.country}">
¡¡¡¡Èç¹ûÄãʹÓÃJavaScript£¬Ä㽫»á¾õµÃ·Ç³£ÊìϤ£¬ÒòΪEL²ÉÓÃJavaScriptÓï·¨´æÈ¡½á¹¹»¯Êý¾Ý¡£
- Èç¹û¿ÉÄÜʹÓùýÂËÆ÷£º ¹ýÂËÆ÷ÊÇJSP¼¼ÊõµÄÒ»Ïîй¦ÄÜ¡£Èç¹ûÄãÔø¾Óöµ½¹ýÕâÑùÒ»ÖÖÇé¿ö£¬ÄǾÍÊÇÓжà¸öservlet»òJSPÒ³ÃæÐèҪѹËõËüÃǵÄÄÚÈÝ£¬ÄÇôÔÚÕâÖÖÇé¿öÏÂÄã¾ÍÄܹ»±àдһ¸ö¼òµ¥µÄѹËõ¹ýÂËÆ÷²¢½«ËüÓ¦Óõ½ËùÓеÄ×ÊÔ´ÉÏ¡£ÀýÈ磬ÔÚJava BluePrintsÖУ¬Í¨¹ý¹ýÂËÆ÷À´ÌṩSignOn¡£
- ʹÓÿÉÒÆÖ²µÄ°²È«Ä£ÐÍ£º ¾ø´ó¶àÊý·þÎñÆ÷Ìṩ·þÎñÆ÷»ò¹©Ó¦ÉÌÌض¨µÄ°²È«¹¦ÄÜ£¬ÕâÑù¾Í½«¿ª·¢Õß¾ÖÏÞÓÚij̨Ìض¨µÄ·þÎñÆ÷¡£ÎªÁË×î´ó»¯ÆóÒµÓ¦ÓõĿÉÒÆÖ²ÐÔ£¬Ê¹ÓÃÒ»¸ö¿ÉÒÆÖ²µÄWebÓ¦Óð²È«Ä£ÐÍ¡£È»¶ø£¬µ½×îºó£¬Õâ¹é½á³ÉȨºâÎÊÌâ¡£ÀýÈ磬Èç¹ûÄãÓÐÒ»×éÔç¾Í¶¨ÒåºÃµÄÓû§£¬Äã¿ÉÒÔʹÓûùÓÚ±íµ¥µÄµÇ¼»ò»ù±¾ÈÏÖ¤À´¹ÜÀíËûÃÇ¡£µ«ÊÇÈç¹ûÄãÏ£Íû¶¯Ì¬´´½¨Óû§£¬Äã¾ÍÐèҪʹÓÃÈÝÆ÷Ìض¨µÄAPIÀ´´´½¨ºÍ¹ÜÀíÓû§¡£µ«ÊÇÈÝÆ÷Ìض¨µÄAPI²»¾ßÓпÉÒÆÖ²ÐÔ£¬Ê¹ÓÃÊÊÅäÆ÷£¨Adapter£©Éè¼ÆģʽÄܹ»¿Ë·þÕâÒ»µã¡£
- ʹÓÃÊý¾Ý¿â´æ´¢³Ö¾ÃÐÅÏ¢£º ¿ÉÒÔʹÓÃHttpSession ¶ÔÏóʵÏֻỰ£¬¸Ã¶ÔÏóÌṩÁËÒ»¸ö¼òµ¥·½±ãµÄ»úÖÆÀ´´æ´¢Óû§¡¢Ê¶±ðÓû§µÄcookie¡£Ê¹ÓûỰ´æ´¢ÁÙʱÐÅÏ¢¡ªËùÒÔ¼´±ãÕâЩÐÅÏ¢¶ªÊ§ÁË£¬ÄãÒ²²»Óõ£ÐÄ¡£(µ±»á»°¹ýÆÚ»ò¿Í»§¶Ë¸Ä±ää¯ÀÀÆ÷µÄʱºò£¬»á»°Êý¾Ý¾Í»á¶ªÊ§¡£) Èç¹ûÄãÏ£Íû´æ´¢³Ö¾ÃÐÅÏ¢£¬Ê¹ÓÃÊý¾Ý¿â£¬ÔÚä¯ÀÀÆ÷Ö®¼ä¹²ÏíÊý¾Ý¿âÖеij־ÃÐÅÏ¢¸ü¼Ó°²È«¸ü¾ßÓпÉÒÆÖ²ÐÔ¡£
- »º´æÄÚÈÝ£º ÓÀÔ¶¶¼²»Òª¶¯Ì¬ÖØÐÂÉú³ÉÇëÇóÖ®¼ä²»»á¸Ä±äµÄÄÚÈÝ¡£Äã¿ÉÒÔÔÚ¿Í»§¶Ë¡¢´úÀí¶Ë»ò·þÎñÆ÷¶Ë»º´æÄÚÈÝ¡£
- ʹÓÃÁ¬½Ó»º³å³Ø£º ÍƼöʹÓÃJSTL½øÐÐÊý¾Ý¿â´æÈ¡¡£µ«ÊÇÈç¹ûÄãÏ£Íû×Ô¼º¶¨ÖƱàдÊý¾Ý¿â´æÈ¡µÄÐÐΪ£¬ÍƼöÄãʹÓÃÁ¬½Ó³Ø£¬ÕâÑùÄÜÓÐЧµØÈÃËùÓÐÇëÇó¹²ÏíÊý¾Ý¿âÁ¬½Ó¡£È»¶ø£¬×¢Ò⣬J2EE·þÎñÆ÷ÔÚ±³ºóÌṩÁ˸ÃÏÄÜ¡£
- »º´æÊý¾Ý¿âÇëÇó½á¹û£º Èç¹ûÄãÏ£Íû»º´æÊý¾Ý¿â½á¹û£¬²»ÒªÊ¹ÓÃJDBCµÄResultSet ¶ÔÏó×÷Ϊ»º´æ¶ÔÏó¡£ËüºÍÒ»¸öÁ´½Ó½ôÃܽáºÏ£¬Õâ¸öÁ´½ÓºÍÁ¬½Ó³ØÏà³åÍ»¡£½«Êý¾Ý´ÓResultSet ¸´ÖƵ½Ìض¨Ó¦ÓõÄbean£¬ÈçVector»òJDBCµÄRowSets¡£
- ÔÚ±ØÒªµÄʱºò²ÉȡеÄJSP XMLÓï·¨£ºÊµ¼ÊÉÏÕâ»ùÓÚÄãÏ£ÍûÄãµÄÓ¦ÓóÌÐòÈçºÎ×ñÊØXML¡£È»¶ø£¬ÕâÐèÒª½øÐÐȨºâ£¬ÒòΪÕâʹµÃJSP³ÉΪ¸ü¼ÓÇ¿´óµÄ¹¤¾ß£¬µ«ÊǶԿª·¢ÕßÈ´²»ÔõôÓѺá£
- ¶ÁÈ¡²¢Ó¦ÓÃEnterprise BluePrints£ºSunµÄ Enterprise BluePrints ¸ø¿ª·¢ÕßÌṩÁËÖ¸ÄÏ¡¢ ģʽ¡¢ ºÍÀý×ÓÓ¦ÓóÌÐò£¬ÈçAdventure BuilderºÍPet Store¡£×ܵÄÀ´Ëµ£¬ J2EE BluePrintsÌṩÁË×î¼Ñʵ¼ùºÍÒ»×éÉè¼Æģʽ£¬ÕâЩʵ¼ùºÍģʽÊǹ¹½¨¾ßÓпÉÒÆÖ²ÐÔ¡¢Ç¿×³¿ÉÀ©Õ¹µÄJavaÓ¦ÓóÌÐòÖо³£³öÏÖµÄÎÊÌâµÄ½â¾ö·½°¸¡£
¼¯³ÉServletsºÍJSPÒ³Ãæ
¡¡¡¡JSP¹æ·¶¸ø³öÁËʹÓÃJSPÒ³Ãæ¹¹½¨WebÓ¦ÓóÌÐòµÄÁ½¸ö·½°¸£ºJSPÄ£ÐÍ1ºÍÄ£ÐÍ2Ìåϵ½á¹¹¡£ÕâÁ½¸öÄ£Ð͵ÄÇø±ðÔÚÓÚ´¦ÀíµÄλÖá£ÔÚÄ£ÐÍ1µÄÌåϵ½á¹¹ÖУ¬Èçͼ2Ëùʾ£¬JSPÒ³Ã渺Ôð´¦ÀíÇëÇó²¢½«ÏìÓ¦·¢Ë͸ø¿Í»§¶Ë¡£
¡¡¡¡Í¼ 2: JSPÄ£ÐÍ1 Ìåϵ½á¹¹
¡¡¡¡Ä£ÐÍ2Ìåϵ½á¹¹£¬Èçͼ3Ëùʾ£¬¼¯³ÉʹÓÃÁËservlets ºÍJSPÒ³Ãæ¡£ÔÚ¸ÃÄ£ÐÍÖУ¬JSPÒ³ÃæÓÃÓÚ±íʾ²ã£¬²¢ÇÒservlets¸ºÔð´¦Àí¸÷ÀàÈÎÎñ¡£Servlet×÷Ϊһ¸ö¿ØÖÆÆ÷£¬¸ºÔð´¦ÀíÇëÇó²¢´´½¨JSPÒ³ÃæËùÐèµÄÈκÎbean¡£¸Ã¿ØÖÆÆ÷Ò²¸ºÔðÈ·¶¨½«¸ÃÇëÇ󴫵ݵ½ÄĸöJSPÒ³Ãæ¡£JSPÒ³Ãæ¼ìË÷servlet´´½¨µÄ¶ÔÏ󣬲¢ÌáÈ¡¶¯Ì¬ÄÚÈݲåÈëÔÚÒ»¸öÄ£°åÖС£
¡¡¡¡Í¼ 3: JSPÄ£ÐÍ 2 Ìåϵ½á¹¹
¡¡¡¡¸ÃÄ£ÐÍ´Ù½øÁËÄ£ÐÍÊÓͼ¿ØÖÆÆ÷(MVC)Ìåϵ½á¹¹·ç¸ñÉè¼ÆģʽµÄʹÓá£×¢Ò⣬Ôç¾Í´æÔÚ¶à¸ö¿ò¼ÜÄܹ»ÊµÏÖ¸ÃÓÐÓõÄÉè¼Æģʽ£¬²¢½«ÄÚÈݺͱíʾÕæÕýµØ¶ÀÁ¢¿ªÀ´¡£Apache StrutsÊÇMVCµÄÐÎʽ»¯¿ò¼Ü¡£¸Ã¿ò¼Ü·Ç³£ÊÊÓÃÓÚ¸´ÔÓµÄÓ¦ÓóÌÐò£¬ÔÚÕâЩ¸´ÔÓµÄÓ¦ÓóÌÐòÖе¥¸öÇëÇó»ò±íµ¥Ìá½»»á²úÉú¿´ÆðÀ´½ØÈ»²»Í¬µÄ½á¹û¡£
½áÊøÓï
¡¡¡¡×î¼Ñʵ¼ù¡ªÊÂʵ֤Ã÷ÊǾ³£Öظ´³öÏÖµÄÎÊÌâµÄ½â¾ö·½°¸¡ª²úÉúÁ˸ßÖÊÁ¿µÄÓ¦ÓóÌÐò¡£±¾ÎÄÊÇ¿ª·¢servletʱÐèÒª×ñÊصĶà¸öÖ¸ÄϺÍ×î¼Ñʵ¼ù-ºÍ»ùÓÚJSPµÄWebÓ¦ÓóÌÐò¡£
¡¡¡¡ÇëÁôÐÄservletsºÍJSP¼¼Êõ£¬ÒòΪÔÚÕâЩ¼¼ÊõÖÐÓÐÐí¶à¼¤¶¯ÈËÐĵĶ«Î÷¡£ÀýÈ磬JavaServer Faces (JFC)£¬ÊÇÒ»¸öJava³ÌÐòÉçÇø£¨Java Community Process£©£¬ËüµÄÄ¿±êÊǶ¨ÒåÒ»¸ö±ê×¼µÄWebÓ¦Óÿò¼Ü£¬Õ⽫ºÜºÃµØºÍApache Struts¼¯³É¡£