JSP¼¼Êõ Ö¸Áî ÂÒÂëÎÊÌâ ÔËÐÐÔÀíºÍ¾Å´óÒþʽ¶ÔÏó web¿ª·¢µÄËĸöÓò¶ÔÏó javabean
JSPÈ«³ÆÊÇJava Server Pages£¬ËüºÍServlet¼¼ÊõÒ»Ñù£¬¶¼ÊÇSUN¹«Ë¾¶¨ÒåµÄÒ»ÖÖÓÃÓÚ¿ª·¢¶¯Ì¬web×ÊÔ´µÄ¼¼Êõ¡£
1. jsp ÊÇÒ»ÖÖ¶¯Ì¬web×ÊÔ´µÄ¿ª·¢¼¼Êõ
jspµÄÌØµã£º
1£© дjsp¾ÍÏñÔÚдhtml ËùÒÔ×öÊý¾ÝÃÀ»¯ºÜ·½±ã£¬ jspµÄÌØµã¾ÍÊÇÄÜдjava´úÂë
2£© jspÖв»ÊʺÏд¸´ÔÓµÄjava´úÂë
3) ÔÚjspÒ³ÃæÖнûֹдjava´úÂë
4) ÔÚjspÒ³ÃæÖбÜÃâ²»ÁËҪдjava´úÂ룬
jstl×Ô¶¨Òå±êÇ©¡¢el±í´ïʽÁ½¸ö¼¼Êõ¾ÍÊÇÓÃÓÚÒÆ³ýjspÒ³ÃæÖеÄjava´úÂë
servlet ºÍ jsp ¶¼ÓÃÔÚÄÄ
ServletÊʺÏд´óÁ¿µÄjava´úÂ룬ËùÒÔÓÃÓÚ´¦ÀíÓû§µÄÇëÇ󣬽øÐÐÂß¼ÅжÏ
jsp¸ºÔð×öÊý¾ÝµÄÊä³ö£¬ÒòΪËü¿ÉÒÔÇáËɵضÔÊý¾Ý½øÐÐÃÀ»¯
ΪʲôJSPÒ²ÊÇÒ»ÖÖ¶¯Ì¬web×ÊÔ´µÄ¿ª·¢¼¼ÊõÄØ£¿
дJSPËäÈ»¾ÍÏñÊÇÔÚдhtml£¬µ«Jsp¼¼ÊõÔÊÐíÔÚÒ³ÃæÖÐǶÌ×java´úÂ룬²¢ÇÒÔÊÐí¿ª·¢ÈËÔ±ÔÚÒ³ÃæÖлñÈ¡request¡¢responseµÈweb¿ª·¢³£ÓöÔÏó£¬ÊµÏÖÓëä¯ÀÀÆ÷µÄ½»»¥£¬ËùÒÔjspÒ²ÊÇÒ»ÖÖ¶¯Ì¬web×ÊÔ´µÄ¿ª·¢¼¼Êõ¡£
Jsp¿ìËÙÈëÃÅ£ºÔÚjspÒ³ÃæÖÐÊä³öµ±Ç°Ê±¼ä¡£
<body>
<%= new Date().toLocaleString() %>
</body>
l ²»¹ÜÊÇJSP»¹ÊÇServlet£¬ËäÈ»¶¼¿ÉÒÔÓÃÓÚ¿ª·¢¶¯Ì¬web×ÊÔ´¡£µ«ÓÉÓÚÕâ2Ãż¼Êõ¸÷×ÔµÄÌØµã£¬ÔÚ³¤ÆÚµÄÈí¼þʵ¼ùÖУ¬ÈËÃÇÖð½¥°Ñservlet×÷ΪwebÓ¦ÓÃÖеĿØÖÆÆ÷×é¼þÀ´Ê¹Ó㬶ø°ÑJSP¼¼Êõ×÷ΪÊý¾ÝÏÔʾģ°åÀ´Ê¹Óá£
l ÆäÔÒòΪ£¬³ÌÐòµÄÊý¾Ýͨ³£ÒªÃÀ»¯ºóÔÙÊä³ö£º
- ÈÃjsp¼ÈÓÃjava´úÂë²úÉú¶¯Ì¬Êý¾Ý£¬ÓÖ×öÃÀ»¯»áµ¼ÖÂÒ³ÃæÄÑÒÔά»¤¡£
- ÈÃservlet¼È²úÉúÊý¾Ý£¬ÓÖÔÚÀïÃæÇ¶Ì×html´úÂëÃÀ»¯Êý¾Ý£¬Í¬ ÑùÒ²»áµ¼Ö³ÌÐò¿É¶ÁÐԲÄÑÒÔά»¤¡£
- Òò´Ë×îºÃµÄ°ì·¨¾ÍÊǸù¾ÝÕâÁ½Ãż¼ÊõµÄÌØµã£¬ÈÃËüÃǸ÷×Ô¸ºÔð¸÷µÄ£¬servletÖ»¸ºÔðÏìÓ¦ÇëÇó²úÉúÊý¾Ý£¬²¢°ÑÊý¾Ýͨ¹ýת·¢¼¼Êõ´ø¸øjsp£¬Êý¾ÝµÄÏÔʾjspÀ´×ö¡£
l JSP½Å±¾±í´ïʽ
JSP½Å±¾±í´ïʽ£¨expression£©ÓÃÓÚ½«³ÌÐòÊý¾ÝÊä³öµ½¿Í»§¶Ë
Óï·¨£º<%= ±äÁ¿»ò±í´ïʽ %>
¾ÙÀý£ºµ±Ç°Ê±¼ä:<%= new java.util.Date() %>
JSPÒýÇæÔÚ·Òë½Å±¾±í´ïʽʱ£¬»á½«³ÌÐòÊý¾Ýת³É×Ö·û´®£¬È»ºóÔÚÏàӦλÖÃÓÃout.print(¡) ½«Êý¾ÝÊ䏸¿Í»§¶Ë¡£
JSP½Å±¾±í´ïʽÖеıäÁ¿»ò±í´ïʽºóÃæ²»ÄÜÓзֺţ¨;£©¡£
l JSP½Å±¾Æ¬¶Ï
JSP½Å±¾Æ¬¶Ï£¨scriptlet£©ÓÃÓÚÔÚJSPÒ³ÃæÖбàд¶àÐÐJava´úÂë¡£Óï·¨£º
<%
¶àÐÐjava´úÂë
%>
×¢Ò⣺JSP½Å±¾Æ¬¶ÏÖÐÖ»ÄܳöÏÖjava´úÂ룬²»ÄܳöÏÖÆäËüÄ£°åÔªËØ£¬ JSPÒýÇæÔÚ·ÒëJSPÒ³ÃæÖУ¬»á½«JSP½Å±¾Æ¬¶ÏÖеÄJava´úÂ뽫±»Ô·â²»¶¯µØ·Åµ½ServletµÄ_jspService·½·¨ÖС£
JSP½Å±¾Æ¬¶ÏÖеÄJava´úÂë±ØÐëÑϸñ×ñÑJavaÓï·¨£¬ÀýÈ磬ÿִÐÐÓï¾äºóÃæ±ØÐëÓ÷ֺţ¨;£©½áÊø¡£
ÔÚÒ»¸öJSPÒ³ÃæÖпÉÒÔÓжà¸ö½Å±¾Æ¬¶Ï£¬ÔÚÁ½¸ö»ò¶à¸ö½Å±¾Æ¬¶ÏÖ®¼ä¿ÉÒÔǶÈëÎı¾¡¢HTML±ê¼ÇºÍÆäËûJSPÔªËØ¡£
¾ÙÀý£º
<%
int x = 10;
out.println(x);
%>
<p>ÕâÊÇJSPÒ³ÃæÎı¾</p>
<%
int y = 20;
out.println(x);
%>
¶à¸ö½Å±¾Æ¬¶ÏÖеĴúÂë¿ÉÒÔÏ໥·ÃÎÊ£¬ÓÌÈ罫ËùÓеĴúÂë·ÅÔÚÒ»¶Ô<%%>Ö®ÖеÄÇé¿ö¡£È磺out.println(x);
l µ¥¸ö½Å±¾Æ¬¶ÏÖеÄJavaÓï¾ä¿ÉÒÔÊDz»ÍêÕûµÄ£¬µ«ÊÇ£¬¶à¸ö½Å±¾Æ¬¶Ï×éºÏºóµÄ½á¹û±ØÐëÊÇÍêÕûµÄJavaÓï¾ä£¬ÀýÈ磺
<%
for (int i=1; i<5; i++)
{
%>
<H1>www.it315.org</H1>
<%
}
%>
l JSPÉùÃ÷
JSPÒ³ÃæÖбàдµÄËùÓдúÂ룬ĬÈÏ»á·Òëµ½servletµÄservice·½·¨ÖУ¬ ¶øJspÉùÃ÷ÖеÄjava´úÂë±»·Òëµ½_jspService·½·¨µÄÍâÃæ¡£Óï·¨£º
<%£¡
java´úÂë
%>
ËùÒÔ£¬JSPÉùÃ÷¿ÉÓÃÓÚ¶¨ÒåJSPÒ³Ãæ×ª»»³ÉµÄServlet³ÌÐòµÄ¾²Ì¬´úÂë¿é¡¢³ÉÔ±±äÁ¿ºÍ·½·¨ ¡£
¶à¸ö¾²Ì¬´úÂë¿é¡¢±äÁ¿ºÍº¯Êý¿ÉÒÔ¶¨ÒåÔÚÒ»¸öJSPÉùÃ÷ÖУ¬Ò²¿ÉÒԷֱ𵥶À¶¨ÒåÔÚ¶à¸öJSPÉùÃ÷ÖС£
JSPÒþʽ¶ÔÏóµÄ×÷Ó÷¶Î§½öÏÞÓÚServletµÄ_jspService·½·¨£¬ËùÒÔÔÚJSPÉùÃ÷Öв»ÄÜʹÓÃÕâЩÒþʽ¶ÔÏó¡£
l JSP×¢ÊÍ
JSP×¢Ê͵ĸñʽ£º
<%-- ×¢ÊÍÐÅÏ¢ --%>
JSPÒýÇæÔÚ½«JSPÒ³Ãæ·Òë³ÉServlet³ÌÐòʱ£¬ºöÂÔJSPÒ³ÃæÖб»×¢Ê͵ÄÄÚÈÝ¡£
l JSPÖ¸Áî
l JSPÖ¸Ádirective£©ÊÇΪJSPÒýÇæ¶øÉè¼ÆµÄ£¬ËüÃDz¢²»Ö±½Ó²úÉúÈκοɼûÊä³ö£¬¶øÖ»ÊǸæËßÒýÇæÈçºÎ´¦ÀíJSPÒ³ÃæÖÐµÄÆäÓಿ·Ö¡£ÔÚJSP 2.0¹æ·¶Öй²¶¨ÒåÁËÈý¸öÖ¸Á
l pageÖ¸Áî
l IncludeÖ¸Áî
l taglibÖ¸Áî
l JSPÖ¸ÁîµÄ»ù±¾Óï·¨¸ñʽ£º
<%@ Ö¸Áî ÊôÐÔÃû="Öµ" %>
¾ÙÀý£º<%@ page contentType="text/html;charset=gb2312"%>
l Èç¹ûÒ»¸öÖ¸ÁîÓжà¸öÊôÐÔ£¬Õâ¶à¸öÊôÐÔ¿ÉÒÔдÔÚÒ»¸öÖ¸ÁîÖУ¬Ò²¿ÉÒÔ·Ö¿ªÐ´¡£
ÀýÈ磺
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.Date"%>
Ò²¿ÉÒÔд×÷£º
<%@ page contentType="text/html;charset=gb2312" import="java.util.Date"%>
l PageÖ¸Áî
1. pageÖ¸Áî
import µ¼°ü ¶à¸ö°üÓöººÅ¸ô¿ª
session Ö¸¶¨ÊÇ·ñʹÓÃsession
errorPage Ö¸¶¨³ö´íÌø×ªµÄÒ³Ãæ
Ò²¿ÉÒÔÔÚweb.xmlÎļþÖнøÐÐÅäÖÃ
<error-page>
<exception-type>java.lang.ArithmeticException</exception-type>
<location>/error.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/404.jsp</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/500.jsp</location>
</error-page>
l
l pageÖ¸ÁîÓÃÓÚ¶¨ÒåJSPÒ³ÃæµÄ¸÷ÖÖÊôÐÔ£¬ÎÞÂÛpageÖ¸Áî³öÏÖÔÚJSPÒ³ÃæÖеÄʲôµØ·½£¬Ëü×÷ÓõͼÊÇÕû¸öJSPÒ³Ãæ£¬ÎªÁ˱£³Ö³ÌÐòµÄ¿É¶ÁÐÔºÍ×ñÑÁ¼ºÃµÄ±à³Ìϰ¹ß£¬pageÖ¸Áî×îºÃÊÇ·ÅÔÚÕû¸öJSPÒ³ÃæµÄÆðʼλÖá£
l JSP 2.0¹æ·¶Öж¨ÒåµÄpageÖ¸ÁîµÄÍêÕûÓï·¨£º
<%@ page
[ language="java" ]
[ extends="<i>package</i>.<i>class</i>" ]
[ import="{<i>package</i>.<i>class</i> | <i>package</i>.<i>*</i>}, ..." ]
JSPÒýÇæ×Ô¶¯µ¼ÈëÏÂÃæµÄ°ü lang servlet.* servlet.jsp.* servlet.http.*
¿ÉÒÔÔÚÒ»ÌõpageÖ¸ÁîµÄimportÊôÐÔÖÐÒýÈë¶à¸öÀà»òÕß°ü ÆäÖÐÿ¸ö°ü»òÀàÖ®¼äÓöººÅ·Ö¸ô
<%@ page import =¡° java.util.Date, java.sql.*,java.io.*¡± %>
ÉÏÃæµÄÓï¾ä¿ÉÒÔ¸ÄдΪ¶àÌõpageÖ¸ÁîµÄimportÊôÐÔÀ´·Ö±ðÒýÈë¸ç¸ç°ü»òÕßÀà
<%@ page import = ¡°java.util.Date ¡±%>
<%@ page import = ¡°java.sql.* ¡±%>
<%@ page import = ¡°java.io.* ¡±%>
[ session="true | false" ]
[ buffer="none | 8kb | <i>size</i>kb" ]
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ info="<i>text</i>" ]
[ errorPage="relative_url" ]
errorPageÊôÐÔµÄÉèÖñØÐëʹÓÃÏà¶Ô·¾¶£¬Èç¹ûÒÔ¡°/¡±¿ªÍ· ±íʾÏà¶ÔÓÚµ±Ç°WEBÓ¦ÓóÌÐòµÄ¸ùĿ¼ £¨×¢Òâ²»ÊÇÕ¾µã¸ùĿ¼£©£¬·ñÔò£¬±íʾÏà¶ÔÓÚµ±Ç°Ò³Ãæ
¿ÉÒÔÔÚweb.xmlÎļþÖÐʹÓÃ<error-page>ÔªËØÎªÕû¸öWEBÓ¦ÓóÌÐòÉèÖôíÎó´¦ÀíÒ³Ãæ ÆäÖеÄ<exception-type>×ÓÔªËØÖ¸¶¨Òì³£ÀàµÄÍêÈ«ÏÞ¶¨Ãû£¬<location>ÔªËØÖ¸¶¨ÒÔ¡°/¡±¿ªÍ·µÄ´íÎó´¦ÀíÒ³ ÃæµÄ·¾¶¡£
Èç¹ûÉèÖÃÁËij¸öJSPÒ³ÃæµÄerrorpageÊôÐÔ ÄÇôÔÚweb.xmlÎļþÖÐÉèÖõĴíÎó´¦Àí½«²»¶Ô¸ÃÒ³ÃæÆð×÷Óà ¡£
[ isErrorPage="true | false" ]
[ contentType="<i>mimeType</i> [ ;charset=<i>characterSet</i> ]" | "text/html ; charset=ISO-8859-1" ]
JSPÒýÇæ£¨·þÎñÆ÷£©»á¸ù¾ÝpageÖ¸ÁîµÄcontentTypeÊôÐÔÉú³ÉÏàÓ¦µÄµ÷ÓÃservletresponse setcontenttype·½·¨µÄÓï¾ä
PageÖ¸ÁîµÄcontenttypeÊôÐÔ»¹¾ßÓÐ˵Ã÷JSPÔ´ÎļþµÄ×Ö·û±àÂëµÄ×÷ÓÃ
[ pageEncoding="<i>characterSet</i> | ISO-8859-1" ]
[ isELIgnored="true | false" ]
%>
l ʹÓÃpageÖ¸Áî½â¾öJSPÖÐÎÄÂÒÂë
a.jsp Öйú gb2312 98 99 |
jspÒýÇæ 98 99 iso-8859-1 %$$# |
Servlet setContentType(..gb2312); %$$# |
ServletÒýÇæ %$$# |
response iso-8859-1 98 99 gb2312 63 63 |
IE 98 99 iso-8859-1 %$$# |
1. ÔÒò£º ¼ÆËãÖд洢µÄºÍ´«ÊäµÄ¶¼ÊǶþ½øÖÆ
ÎÒÃÇÐèÒªÔĶÁÎÄ×Ö£¬¾ÍÐèÒªÓõ½Âë±í£¬ ×Ö·û¡ª> ×Ö½Ú Îª±àÂë¹ý³Ì ×Ö½Ú->×Ö·û ½âÂë¹ý³Ì
±àÂëºÍ½âÂëʹÓÃÁ˲»Í¬Âë±í¾Í»á³öÏÖÂÒÂë
2. ÂÒÂëÎÊÌâÒ»°ã³öÏÖÔÚ½â´íÂëµÄÇé¿ö
1£© ÎÒÃǵijÌÐò½Ó´íÂ룬 ÐèÒªÖªµÀ´íÎóµÄÂë±í£¬±àÂë»ØÈ¥£¬ÔÙÓÃÕýÈ·µÄÂë±í½âÂë
2£© ±ðµÄ³ÌÐò½âÎöÎÒÃǵÄÎļþ½â´íÂ룬 ÐèÒª¸æËß¶Ô·½ÎÒÃÇʹÓÃÂë±í
JSP³ÌÐò´æÔÚÓÐÓëServlet³ÌÐòÍêÈ«ÏàͬµÄÖÐÎÄÂÒÂëÎÊÌâ
Êä³öÏìÓ¦ÕýÎÄʱ³öÏÖµÄÖÐÎÄÂÒÂëÎÊÌâ
¶ÁÈ¡ä¯ÀÀÆ÷´«µÝµÄ²ÎÊýÐÅϢʱ³öÏÖµÄÖÐÎÄÂÒÂëÎÊÌâ
JSPÒýÇæ½«JSPÒ³Ãæ·Òë³ÉServletÔ´ÎļþʱҲ¿ÉÄܵ¼ÖÂÖÐÎÄÂÒÂëÎÊÌâ
JSPÒýÇæ½«JSPÔ´Îļþ·Òë³ÉµÄServletÔ´ÎļþĬÈϲÉÓÃUTF-8±àÂ룬¶øJSP¿ª·¢ÈËÔ±¿ÉÒÔ²ÉÓø÷ÖÖ×Ö·û¼¯±àÂëÀ´±àдJSPÔ´Îļþ£¬Òò´Ë£¬JSPÒýÇæ½«JSPÔ´Îļþ·Òë³ÉServletÔ´Îļþʱ£¬ÐèÒª½øÐÐ×Ö·û±àÂëת»»¡£
Èç¹ûJSPÎļþÖÐûÓÐ˵Ã÷Ëü²ÉÓõÄ×Ö·û¼¯±àÂ룬JSPÒýÇæ½«°ÑËüµ±×÷ĬÈϵÄISO8859-1×Ö·û¼¯±àÂë´¦Àí¡£
ÈçºÎ½â¾öJSPÒýÇæ·ÒëJSPÒ³ÃæÊ±µÄÖÐÎÄÂÒÂëÎÊÌâ
ͨ¹ýpageÖ¸ÁîµÄcontentTypeÊôÐÔ˵Ã÷JSPÔ´ÎļþµÄ×Ö·û¼¯±àÂë
pageÖ¸ÁîµÄpageEncodingÊôÐÔ˵Ã÷JSPÔ´ÎļþµÄ×Ö·û¼¯±àÂë
l includeÖ¸Áî
l includeÖ¸ÁîÓÃÓÚÒýÈëÆäËüJSPÒ³Ãæ£¬Èç¹ûʹÓÃincludeÖ¸ÁîÒýÈëÁËÆäËüJSPÒ³Ãæ£¬ÄÇôJSPÒýÇæ½«°ÑÕâÁ½¸öJSP·Òë³ÉÒ»¸öservlet¡£ËùÒÔincludeÖ¸ÁîÒýÈëͨ³£Ò²³ÆÖ®Îª¾²Ì¬ÒýÈë¡£
l Óï·¨£º
<%@ include file="relativeURL"%>
ÆäÖеÄfileÊôÐÔÓÃÓÚÖ¸¶¨±»ÒýÈëÎļþµÄ·¾¶¡£Â·¾¶ÒÔ¡°/¡±¿ªÍ·£¬±íʾ´ú±íµ±Ç°webÓ¦Óá£
l ϸ½Ú£º
¨¹ ±»ÒýÈëµÄÎļþ±ØÐë×ñÑJSPÓï·¨¡£
¨¹ ±»ÒýÈëµÄÎļþ¿ÉÒÔʹÓÃÈÎÒâµÄÀ©Õ¹Ãû£¬¼´Ê¹ÆäÀ©Õ¹ÃûÊÇhtml£¬JSPÒýÇæÒ²»á°´ÕÕ´¦ÀíjspÒ³ÃæµÄ·½Ê½´¦ÀíËüÀïÃæµÄÄÚÈÝ£¬ÎªÁ˼ûÃ÷ÖªÒ⣬JSP¹æ·¶½¨ÒéʹÓÃ.jspf£¨JSP fragments£©×÷Ϊ¾²Ì¬ÒýÈëÎļþµÄÀ©Õ¹Ãû¡£
¨¹ ÓÉÓÚʹÓÃincludeÖ¸Á»áÉæ¼°µ½2¸öJSPÒ³Ãæ£¬²¢»á°Ñ2¸öJSP·Òë³ÉÒ»¸öservlet£¬ËùÒÔÕâ2¸öJSPÒ³ÃæµÄÖ¸Áî²»ÄܳåÍ»£¨³ýÁËpageEncodingºÍµ¼°ü³ýÍ⣩¡£
¨¹
l JSPÔËÐÐÔÀíºÍ¾Å´óÒþʽ¶ÔÏó
l ÿ¸öJSP Ò³ÃæÔÚµÚÒ»´Î±»·ÃÎÊʱ£¬WEBÈÝÆ÷¶¼»á°ÑÇëÇ󽻸øJSPÒýÇæ£¨¼´Ò»¸öJava³ÌÐò£©È¥´¦Àí¡£JSPÒýÇæÏȽ«JSP·Òë³ÉÒ»¸ö_jspServlet(ʵÖÊÉÏÒ²ÊÇÒ»¸öservlet) £¬È»ºó°´ÕÕservletµÄµ÷Ó÷½Ê½½øÐе÷Óá£
l ÓÉÓÚJSPµÚÒ»´Î·ÃÎÊʱ»á·Òë³Éservlet£¬ËùÒÔµÚÒ»´Î·ÃÎÊͨ³£»á±È½ÏÂý£¬µ«µÚ¶þ´Î·ÃÎÊ£¬JSPÒýÇæÈç¹û·¢ÏÖJSPûÓб仯£¬¾Í²»ÔÙ·Ò룬¶øÊÇÖ±½Óµ÷Óã¬ËùÒÔ³ÌÐòµÄÖ´ÐÐЧÂʲ»»áÊܵ½Ó°Ïì¡£
l JSPÒýÇæÔÚµ÷ÓÃJSP¶ÔÓ¦µÄ_jspServletʱ£¬»á´«µÝ»ò´´½¨9¸öÓëweb¿ª·¢Ïà¹ØµÄ¶ÔÏó¹©_jspServletʹÓá£JSP¼¼ÊõµÄÉè¼ÆÕßΪ±ã ÓÚ¿ª·¢ÈËÔ±ÔÚ±àдJSPÒ³ÃæÊ±»ñµÃÕâЩweb¶ÔÏóµÄÒýÓã¬ÌØÒⶨÒåÁË9¸öÏàÓ¦µÄ±äÁ¿£¬¿ª·¢ÈËÔ±ÔÚJSPÒ³ÃæÖÐͨ¹ýÕâЩ±äÁ¿¾Í¿ÉÒÔ¿ìËÙ»ñµÃÕâ9´ó¶ÔÏóµÄÒý Óá£
l Õâ9¸ö¶ÔÏó·Ö±ðÊÇÄÄЩ£¬ÒÔ¼°×÷ÓÃÒ²ÊDZÊÊÔ¾³£¿¼²ìµÄ֪ʶµã¡£
ServletContext application ServletµÄÉÏÏÂÎÄ·¾¶
ServletConfig config
HttpServletResponse response
HttpServletRequest request
HttpSession session jspÅäÖÃÁË pageÖ¸Áî session=true£¨Ä¬ÈÏ£© µÄÇé¿öϲÅÓÐ
this page
Throwable exception jspÅäÖÃÁË isErrorPage=¡±true¡±µÄÇé¿öϲÅÓÐ
JspWriter out ÏòieÊä³öÊý¾Ý response.getWriter »ñµÃÒ»¸öPrintWriter out ¾ÍÊÇ PrintWriterµÄ»º³åÁ÷
PageContext pageContext jspÒ³ÃæµÄÉÏÏÂÎÄ
1. out ¶ÔÏó
2. pageContext¶ÔÏó
¿ÉÒÔ×÷ΪÓò¶ÔÏ󣬱»³Æ×÷pageÓò
Óиö·½·¨ÊÇ findAttribute() ¿ÉÒÔ´ÓËĸöÓòÖиù¾ÝÖ¸¶¨µÄkeyȥȡֵ£¬´Ó·¶Î§Ð¡µÄ¿ªÊ¼ÕÒ
pageContext.getRequest().getAttribute();
×îÖØÒªµÄ×÷ÓþÍÊÇ¿ÉÒÔ»ñµÃÆäËû8¸öÒþʽ¶ÔÏó
±êÇ©ºÍel±í´ïʽ¶¼ÊÇÓÃÓÚÒÆ³ýjspÖеÄjava´úÂë
ËùÓеÄjava´úÂë¶¼¿ÉÒÔÒÆµ½ÁíÒ»¸öjavaÀàµÄ·½·¨ÖУ¬È»ºóÔÙ¸´ÓôúÂë
µ«ÊÇ£¬Èç¹ûÓõ½Á˾ŴóÒþʽ¶ÔÏó£¬ÕâÑùµÄjava´úÂë¾Í²»ÈÝÒ×ÒÆµ½·½·¨ÖУ¬ÎªÁËÄÜÒÆµ½·½·¨ÖÐÐèÒª½«
¾Å¸ö¶ÔÏ󴫸ø·½·¨
Ò»¸ö±È½Ï·½±ãµÄ×ö·¨¾ÍÊǽ«pageContext¶ÔÏ󴫵ݸøºǫ́µÄ·½·¨£¬ÔÚ·½·¨ÖпÉÒÔÇáËɵػñµÃÆäËû8¸ö¶ÔÏó
l outÒþʽ¶ÔÏó
l outÒþʽ¶ÔÏóÓÃÓÚÏò¿Í»§¶Ë·¢ËÍÎı¾Êý¾Ý¡£
l out¶ÔÏóÊÇͨ¹ýµ÷ÓÃpageContext¶ÔÏóµÄgetOut·½·¨·µ»ØµÄ£¬Æä×÷ÓúÍÓ÷¨ÓëServletResponse.getWriter·½·¨·µ»ØµÄPrintWriter¶ÔÏó·Ç³£ÏàËÆ¡£
l JSPÒ³ÃæÖеÄoutÒþʽ¶ÔÏóµÄÀàÐÍΪJspWriter£¬JspWriterÏ൱ÓÚÒ»ÖÖ´ø»º´æ¹¦ÄܵÄPrintWriter£¬ÉèÖÃJSPÒ³ÃæµÄpageÖ¸ÁîµÄbufferÊôÐÔ¿ÉÒÔµ÷ÕûËüµÄ»º´æ´óС£¬ÉõÖÁ¹Ø±ÕËüµÄ»º´æ¡£
l Ö»ÓÐÏòout¶ÔÏóÖÐдÈëÁËÄÚÈÝ£¬ÇÒÂú×ãÈçÏÂÈκÎÒ»¸öÌõ¼þʱ£¬out¶ÔÏó²ÅÈ¥µ÷ÓÃServletResponse.getWriter·½·¨£¬²¢Í¨¹ý¸Ã·½·¨·µ »ØµÄPrintWriter¶ÔÏó½«out¶ÔÏóµÄ»º³åÇøÖеÄÄÚÈÝÕæÕýдÈëµ½ServletÒýÇæÌṩµÄ»º³åÇøÖУº
¨¹ ÉèÖÃpageÖ¸ÁîµÄbufferÊôÐԹرÕÁËout¶ÔÏóµÄ»º´æ¹¦ÄÜ
¨¹ out¶ÔÏóµÄ»º³åÇøÒÑÂú
¨¹ Õû¸öJSPÒ³Ãæ½áÊø
l outÒþʽ¶ÔÏóµÄ¹¤×÷ÔÀíͼ
l pageContext¶ÔÏó
l pageContext¶ÔÏóÊÇJSP¼¼ÊõÖÐ×îÖØÒªµÄÒ»¸ö¶ÔÏó£¬Ëü´ú±íJSPÒ³ÃæµÄÔËÐл·¾³.
l Õâ¸ö¶ÔÏó²»½ö·â×°ÁË¶ÔÆäËü8´óÒþʽ¶ÔÏóµÄÒýÓã¬
l Ëü×ÔÉí»¹ÊÇÒ»¸öÓò¶ÔÏ󣬿ÉÒÔÓÃÀ´±£´æÊý¾Ý¡£
l ²¢ÇÒ£¬Õâ¸ö¶ÔÏó»¹·â×°ÁËweb¿ª·¢Öо³£Éæ¼°µ½µÄһЩ³£ÓòÙ×÷£¬ÀýÈçÒýÈëºÍÌø×ªÆäËü×ÊÔ´¡¢¼ìË÷ÆäËüÓò¶ÔÏóÖеÄÊôÐԵȡ£
l ͨ¹ýpageContext»ñµÃÆäËû¶ÔÏó
l getException·½·¨·µ»ØexceptionÒþʽ¶ÔÏó
l getPage·½·¨·µ»ØpageÒþʽ¶ÔÏó
l getRequest·½·¨·µ»ØrequestÒþʽ¶ÔÏó
l getResponse·½·¨·µ»ØresponseÒþʽ¶ÔÏó
l getServletConfig·½·¨·µ»ØconfigÒþʽ¶ÔÏó
l getServletContext·½·¨·µ»ØapplicationÒþʽ¶ÔÏó
l getSession·½·¨·µ»ØsessionÒþʽ¶ÔÏó
l getOut·½·¨·µ»ØoutÒþʽ¶ÔÏó
l pageContext·â×°ÆäËü8´óÄÚÖöÔÏóµÄÒâÒ壬˼¿¼£ºÈç¹ûÔÚ±à³Ì¹ý³ÌÖУ¬°ÑpageContext¶ÔÏ󴫵ݸøÒ»¸öÆÕͨjava¶ÔÏó£¬ÄÇôÕâ¸öjava¶ÔÏ󽫾ßÓÐʲô¹¦ÄÜ£¿
l pageContext×÷ΪÓò¶ÔÏó
l pageContext¶ÔÏóµÄ·½·¨
l public void setAttribute(java.lang.String name,java.lang.Object value)
l public java.lang.Object getAttribute(java.lang.String name)
l public void removeAttribute(java.lang.String name)
l pageContext¶ÔÏóÖл¹·â×°ÁË·ÃÎÊÆäËüÓòµÄ·½·¨
l public java.lang.Object getAttribute(java.lang.String name,int scope)
l public void setAttribute(java.lang.String name, java.lang.Object value,int scope)
l public void removeAttribute(java.lang.String name,int scope)
l ´ú±í¸÷¸öÓòµÄ³£Á¿
l PageContext.APPLICATION_SCOPE
l PageContext.SESSION_SCOPE
l PageContext.REQUEST_SCOPE
l PageContext.PAGE_SCOPE
l findAttribute·½·¨ £¨*ÖØµã£¬²éÕÒ¸÷¸öÓòÖеÄÊôÐÔ£©
l ÒýÈëºÍÌø×ªµ½ÆäËû×ÊÔ´
l PageContextÀàÖж¨ÒåÁËÒ»¸öforward·½·¨ºÍÁ½¸öinclude·½·¨À´·Ö±ð¼ò»¯ºÍÌæ´úRequestDispatcher.forward·½·¨ºÍinclude·½·¨¡£
l ·½·¨½ÓÊÕµÄ×ÊÔ´Èç¹ûÒÔ¡°/¡±¿ªÍ·£¬ ¡°/¡±´ú±íµ±Ç°webÓ¦Óá£
web¿ª·¢µÄËĸöÓò¶ÔÏó
pageContext£¨³ÆÖ®ÎªpageÓò£© PageContext
request £¨³ÆÖ®ÎªrequestÓò£©HttpServletRequest
session £¨³ÆÖ®ÎªsessionÓò£©HttpSession
application£¨³ÆÖ®ÎªapplicationÓò£©ServletContext
Õâ4¸ö¶ÔÏóµÄÉúÃüÖÜÆÚ£¿
page£º jspÒ³Ãæ±»Ö´Ðе½Ö´ÐÐÍê±Ï
request: ä¯ÀÀÆ÷·¢ËÍÇëÇóµ½µ±´ÎÇëÇó½áÊø
ä¯ÀÀÆ÷·¢ËÍÇëÇó£¬webÈÝÆ÷´´½¨request¶ÔÏó£¬ÇëÇó½áÊø£¬¸Ã¶ÔÏóÏú»Ù
session£º ¿ªÊ¼Ò»¸ö»á»°£¬·þÎñÆ÷´´½¨session£¬Ò»Ö±µ½sessionʧЧ
application£º webÓ¦Ó÷¢²¼µ½·þÎñÆ÷£¬·þÎñÆ÷Æô¶¯£¬¶ÔÏó¾Í´´½¨£¬Ö±µ½webÓ¦Óñ»ÒƳý»ò·þÎñÆ÷¹Ø±Õ¸Ã¶ÔÏó±»Ïú»Ù
ʲôÊÇÓò£¿ÎªÊ²Ã´°ÑÕâ4¸ö¶ÔÏó½Ð×öÓò¶ÔÏóÄØ£¿
Óò¼´·¶Î§£¬ Õâ4¸ö¶ÔÄÚ²¿¶¼Î¬»¤ÁËmap¼¯ºÏ£¬¿ÉÒÔ´æ´¢Êý¾Ý£¬Õâ4¸ö¶ÔÏó¶¼Óй̶¨µÄÉúÃüÖÜÆÚºÍ×÷Ó÷¶Î§£¬ËùÒÔ±»³Æ×÷Óò¶ÔÏó
ËĸöÓòµÄ·¶Î§£¨×÷ÓÃÓò£©
page£º Ö»ÔÚµ±Ç°jspÒ³ÃæÓÐЧ
request: Ö»ÔÚÒ»´ÎÇëÇóÖÐÓÐЧ
session: Ö»ÔÚµ±Ç°»á»°ÓÐЧ
application£º Õû¸öwebÓ¦Óö¼ÓÐЧ
ÄÄÖÖÇé¿öÏÂÓÃÄÄÖÖÓò¶ÔÏó¡£
page: ÏëÔÚÒ³ÃæÓÃmap¾ÍÓÃpage
request: ÐèÒªÏÔʾÊý¾Ý¸øä¯ÀÀÆ÷¿´ÍêÁ˾ÍûÓÃÁË£¬¾Í´æÔÚrequestÓò (µäÐÍÓ¦ÓÃÇëÇóת·¢)
session: Êý¾Ý¸øÓû§¿´ÍêÁË£¬Ò»»á»¹ÓÐÓ㬾ʹæÔÚsessionÓò
±ÈÈ磬Óû§µÇ½£¬¹ºÎï³µ
µäÐÍÓ¦Ó㺠ÇëÇóÖØ¶¨Ïò
application: Êý¾Ý¸øÓû§ÓÃÍêÁË£¬±ðµÄÓû§Ò²ÒªÓÃ
±ÈÈ磬ÁÄÌìÐÅÏ¢¡¢Í³¼ÆÔÚÏßÈËÊý
ËĸöÓòµÄ·¶Î§ÊÇ´ÓСµ½´óµÄ£º page¡¢request¡¢session¡¢application
ʹÓõÄʱºòÓиöÔÔò£º СµÄÓò¶ÔÏóÄܸ㶨µÄ¾ø¶Ô²»ÓôóµÄ
Æß¡¢javabean
1. Ò»¸öjavaÀà
ÌØµã£º
±ØÐëÓÐÎ޲εĹ¹Ô캯Êý ͨ¹ý·´ÉäµÄ·½Ê½À´·ÃÎÊ µ÷ÓÃclassµÄnewinstanceËüÊǵ÷ÓÃÄäÃûµÄ¹¹ÔìÆ÷´´½¨¶ÔÏó Èç¹ûûÓд´½¨²»ÁË
ÊôÐÔ˽ÓÐ(×Ö¶Î)
¶ÔÍâÒª±©Â¶¹²ÓÐµÄ getter »ò setter
2. Ó÷´ÉäµÄ·½·¨·ÃÎÊjavabeanΪÄÚÊ¡
3. BeanUtilsÓ¦ÓÃ
ÇëÇó²ÎÊý·â×°µ½javabeanµÄͨÓ÷½·¨
public class WebUtils {
private WebUtils(){}
// ͨÓ÷½·¨ ½«ÇëÇó²ÎÊý·â×°µ½bean
public static <T> T request2Bean(HttpServletRequest request, Class<T> clazz) {
try {
// ´´½¨ javabean
T bean = clazz.newInstance();
// ×¢²áÒ»¸öת»»Æ÷
ConvertUtils.register(new DateLocaleConverter(), Date.class);
// »ñµÃËùÓеIJÎÊýÃû³Æ
Enumeration e = request.getParameterNames();
while (e.hasMoreElements()) {
String name = (String) e.nextElement();
String value = request.getParameter(name);
BeanUtils.setProperty(bean, name, value);
}
return bean;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
¹¤¾ßÀࣺ ¹¹Ô캯Êý˽Óл¯ ¶ÔÍâÌṩ¾²Ì¬µÄ¹«Óеķ½·¨ ·²ÊÇÓõ½´«²ÎÊýµÄʱºò¶¼¿ÉÒÔÓõ½Õâ¸ö¹¤¾ßÀà
ÍÆ¼öÐÅÏ¢
- ÔÝÎ޼Ǽ
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔØ½ø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- java urlÖØÐ´¼¼Êõ(UrlReWriter)
- [ת]JavaµÄÊý×飨Array£©¡¢Vector¡¢ArrayLis....
- jsp»·¾³ÏÂajaxÂÒÂëÎÊÌâµÄ½â¾ö
- JSP¼¼Êõ Ö¸Áî ÂÒÂëÎÊÌâ ÔËÐÐÔÀíºÍ¾Å´óÒþʽ¶ÔÏó web¿ª·¢µÄË....
- JAVA ˮӡ ͼƬ ÎÄ×Ö
- java¶þ½øÖÆ£¬ÔÂë¡¢·´Âë¡¢²¹Â롢λÔËËã
- Java WebÓ¦ÓÃÆô¶¯¼ä¸ôÖ´ÐеijÌÐò
- jspÉú³ÉxmlÎļþʾÀý
- javaÖÐÀà±äÁ¿¡¢Àà·½·¨¡¢ÊµÀý±äÁ¿¡¢ÊµÀý·½·¨
- JSPÒ³ÃæµÄÎåÖÖÌø×ª·½·¨
ÆÀÂÛ