jsp Servlet½Å±¾ÔªËØ¡¢Ö¸ÁîºÍÔ¤¶¨Òå±äÁ¿
12.1 JSP½Å±¾ÔªËØ
¡¡¡¡ JSP½Å±¾ÔªËØÓÃÀ´²åÈëJava´úÂ룬ÕâЩJava´úÂ뽫³öÏÖÔÚÓɵ±Ç°JSPÒ³ÃæÉú³ÉµÄServletÖС£½Å±¾ÔªËØÓÐÈýÖÖ¸ñʽ£º
±í´ïʽ¸ñʽ£¼%= expression %£¾£º¼ÆËã±í´ïʽ²¢Êä³öÆä½á¹û¡£
Scriptlet¸ñʽ£¼% code %£¾£º°Ñ´úÂë²åÈëµ½ServletµÄservice·½·¨¡£
ÉùÃ÷¸ñʽ£¼%! code %£¾£º°ÑÉùÃ÷¼ÓÈëµ½ServletÀࣨÔÚÈκη½·¨Ö®Í⣩¡£
¡¡¡¡ ÏÂÃæÎÒÃÇÏêϸ˵Ã÷ËüÃǵÄÓ÷¨¡£
¡¡¡¡ 12.1.1 JSP±í´ïʽ
¡¡¡¡ JSP±í´ïʽÓÃÀ´°ÑJavaÊý¾ÝÖ±½Ó²åÈëµ½Êä³ö¡£ÆäÓï·¨ÈçÏ£º
£¼%= Java Expression %£¾
¡¡¡¡ ¼ÆËãJava±í´ïʽµÃµ½µÄ½á¹û±»×ª»»³É×Ö·û´®£¬È»ºó²åÈëµ½Ò³Ãæ¡£¼ÆËãÔÚÔËÐÐʱ½øÐУ¨Ò³Ãæ±»ÇëÇóʱ£©£¬Òò´Ë¿ÉÒÔ·ÃÎʺÍÇëÇóÓйصÄÈ«²¿ÐÅÏ¢¡£ÀýÈ磬ÏÂÃæµÄ´úÂëÏÔÊ¾Ò³Ãæ±»ÇëÇóµÄÈÕÆÚ/ʱ¼ä£º
Current time: £¼%= new java.util.Date() %£¾
¡¡¡¡ Ϊ¼ò»¯ÕâЩ±í´ïʽ£¬JSPÔ¤¶¨ÒåÁËÒ»×é¿ÉÒÔÖ±½ÓʹÓõĶÔÏó±äÁ¿¡£ºóÃæÎÒÃǽ«Ïêϸ½éÉÜÕâЩÒþº¬ÉùÃ÷µÄ¶ÔÏ󣬵«¶ÔÓÚJSP±í´ïʽÀ´Ëµ£¬×îÖØÒªµÄ¼¸¸ö¶ÔÏó¼°ÆäÀàÐÍÈçÏ£º
request£ºHttpServletRequest;
response£ºHttpServletResponse;
session£ººÍrequest¹ØÁªµÄHttpSession
out£ºPrintWriter£¨´ø»º³åµÄ°æ±¾£¬JspWriter£©£¬ÓÃÀ´°ÑÊä³ö·¢Ë͵½¿Í»§¶Ë
¡¡¡¡ ÏÂÃæÊÇÒ»¸öÀý×Ó£º
Your hostname: £¼%= request.getRemoteHost() %£¾
¡¡¡¡ ×îºó£¬Èç¹ûʹÓÃXMLµÄ»°£¬JSP±í´ïʽҲ¿ÉÒÔд³ÉÏÂÃæÕâÖÖÐÎʽ£º
£¼jsp:expression£¾
Java Expression
£¼/jsp:expression£¾
¡¡¡¡ Çë¼ÇסXMLÔªËØºÍHTML²»Ò»Ñù¡£XMLÊÇ´óСдÃô¸ÐµÄ£¬Òò´ËÎñ±ØÊ¹ÓÃСд¡£ÓйØXMLÓï·¨µÄ˵Ã÷£¬Çë²Î¼û¡¶XML½Ì³Ì ¡·
¡¡¡¡ 12.1.2 JSP Scriptlet
¡¡¡¡ Èç¹ûÄãÒªÍê³ÉµÄÈÎÎñ±È²åÈë¼òµ¥µÄ±í´ïʽ¸ü¼Ó¸´ÔÓ£¬¿ÉÒÔʹÓÃJSP Scriptlet¡£JSP ScriptletÔÊÐíÄã°ÑÈÎÒâµÄJava´úÂë²åÈëServlet¡£JSP ScriptletÓï·¨ÈçÏ£º
£¼% Java Code %£¾
¡¡¡¡ ºÍJSP±í´ïʽһÑù£¬ScriptletÒ²¿ÉÒÔ·ÃÎÊËùÓÐÔ¤¶¨ÒåµÄ±äÁ¿¡£ÀýÈ磬Èç¹ûÄãÒªÏò½á¹ûÒ³ÃæÊä³öÄÚÈÝ£¬¿ÉÒÔʹÓÃout±äÁ¿£º
£¼%
String queryData = request.getQueryString();
out.println("Attached GET data: " + queryData);
%£¾
¡¡¡¡ ×¢ÒâScriptletÖеĴúÂ뽫±»ÕÕ°áµ½ServletÄÚ£¬¶øScriptletÇ°ÃæºÍºóÃæµÄ¾²Ì¬HTML£¨Ä£°åÎı¾£©½«±»×ª»»³ÉprintlnÓï¾ä¡£Õâ¾ÍÒâζ×Å£¬ScriptletÄÚµÄJavaÓï¾ä²¢·ÇÒ»¶¨ÒªÊÇÍêÕûµÄ£¬Ã»ÓйرյĿ齫ӰÏìScriptletÍâµÄ¾²Ì¬HTML¡£ÀýÈ磬ÏÂÃæµÄJSPƬ¶Ï»ìºÏÁËÄ£°åÎı¾ºÍScriptlet£º
£¼% if (Math.random() £¼
Ïà¹ØÎĵµ£º
ÉÏÍø¿´Á˺ö࣬¾ÍÕâһƪ½â¾öÁËÎÒµÄÎÊÌ⣬ÏÖת£¬ÎÒµÄÏîÄ¿ÓõÄÊÇMVC¼Ü¹¹£¬ÓÐͳһµÄ¿ØÖÆÆ÷£¬×ªÏò²»Í¬µÄAction£¬ÉÏÍø¿´Á˺ö࣬´ó²¿·ÖÊÇ˵¼ÓÈërequest.setCharacterEncoding("utf-8");µ«ÊǾ¹ýÎÒµÄÊÔÑ飬ÕâÖ»ÓÐÔÚÀûÓÃJSP´¦Àí±íµ¥´«ÊäÊý¾Ýʱ²Å¿ÉÓã¬ÔÚÎҵĶ«Î÷ÖÐÎÞ·¨½â¾ö£¬ºóÀ´·¢ÏÖ»¹ÊÇÓÃFilterChainºÃ£¬ºÇºÇ£¬Öص㻹ÊÇÔÚrequest ......
ÒÔÏÂÊô¸öÈËÏë·¨£¡Ò²ÐíÊǶÔJAVAÒ»¼ûÖÓÇé¶øËµ£¡
ѧ¹ýASP.NETµÄÔÙȥѧJSP£¬ÄǸоõ¾ÍÍêÈ«²»Ò»ÑùÁ˰¡£¡Èç¹û¹ý¶É¹ýÀ´ÁË£¬ÄÇ»¹ºÃ£¬Ã»¹ý¶ÉÄǽвҰ¡£¡Á½¸öÊÀ½ç°¡£¡»¹ºÃ£»ÎÒÊǶɹýÁË£¬Ò»ÐľÍÊÇJAVA£¬ËùÒÔÄÔ×ÓÀï¶¼ÊÇJAVAµÄÀíÄ¿ª·¢JSPºÍ¿ª·¢JAVAÓ¦ÓóÌÐòÒ»Ñù£¬ÎÞ·ÇJSP¶àÁ˸öWEBROOT¡£
  ......
1.RequestDispatcher.forward()
¡¡¡¡ ÊÇÔÚ·þÎñÆ÷¶ËÆð×÷ÓÃ,µ±Ê¹ÓÃforward()ʱ,Servlet engine´«µÝHTTPÇëÇó´Óµ±Ç°µÄServlet or JSPµ½ÁíÍâÒ»¸öServlet,JSP »òÆÕͨHTMLÎļþ,Ò²¼´ÄãµÄformÌá½»ÖÁa.jsp,ÔÚa.jspÓõ½ÁËforward()ÖØ¶¨ÏòÖÁb.jsp,´ËʱformÌá½»µÄËùÓÐÐÅÏ¢ÔÚ b.jsp¶¼¿ÉÒÔ»ñµÃ,²ÎÊý×Ô¶¯´«µÝ.
¡¡¡¡µ«forward()ÎÞ·¨Öض¨ÏòÖ ......
¹ØÓÚJSPÖÐorg.apache.jasper.JasperException:
This absolute uri http://java.sun.com/jsp/jstl/core ) cannot be resolved in either web.xml or the jar files deployed with this application
´ÓÍøÉÏËÑÁËһϣ¬ÏàͬµÄ˵·¨ÊÇ£ºÒ»¸ö¾ÍÊÇJSTLµÄ°æ±¾ÎÊÌ⣨1.0Óë1.1£©£¬ÊÇ·ñ²»Ò»Ö ......