¥ÎJSPºc«Ø°ÊºAºô¯¸
¤@¡B ¤°»ò¬OJSP
JSP(JavaServer Pages)¬O¥ÑSun Microsystems¤½¥qҾɡB³\¦h¤½¥q°Ñ»P¤@°_«Ø¥ßªº¤@ºØ°ÊºAºô¶§Þ³N¼Ð·Ç¡A¨äºô§}¬°http://www.javasoft.com/products/jsp¡C
¦b¶Ç²Îªººô¶HTMLÀÉ(*.htm,*.html)¤¤¥[¤JJavaµ{¦¡¤ù¬q(Scriptlet)©MJSP¼Ð°O(tag)¡A´Nºc¦¨¤FJSPºô¶(*.jsp)¡CWeb¦øªA¾¹¦b¹J¨ì³X°ÝJSPºô¶ªº½Ð¨D®É¡Aº¥ý°õ¦æ¨ä¤¤ªºµ{¦¡¤ù¬q¡AµM«á±N°õ¦æµ²ªG¥HHTML®æ¦¡ªð¦^µ¹«È¤á¡Cµ{¦¡¤ù¬q¥i¥H¾Þ§@¸ê®Æ®w¡B«·s©w¦Vºô¶¥H¤Îµo°e email µ¥µ¥¡A³o´N¬O«Ø¥ß°ÊºAºô¯¸©Ò»Ýnªº¥\¯à¡C©Ò¦³µ{¦¡¾Þ§@³£¦b¦øªA¾¹ºÝ°õ¦æ¡Aºô¸ô¤W¶Ç°eµ¹¥Î¤áºÝªº¶È¬O±o¨ìªºµ²ªG¡A¹ï«È¤á¬yÄý¾¹ªºn¨D³Ì§C¡A¥i¥H¹ê²{µLPlugin¡AµLActiveX¡AµLJava Applet¡A¬Æ¦ÜµLFrame¡C
¥»¤å±N¤¶²Ð§Q¥ÎJSP§Þ³N¶}µo°ÊºAºô¶ªº¤èªk¡AÁÙ±N²n¤ÀªRJSP§Þ³N©M Microsoft ¤½¥qªº ASP §Þ³Nªº¤£¦P¤§³B¡C
¤G¡B ¦p¦ó¦w¸Ë©M±Ò°Ê
¬°¤F¹êÅçJSP§Þ³N¡Aº¥ý»Ýn«Ø¥ß¹B¦æÀô¹Ò¡A³oÓ¹Lµ{¬Û·í²³æ¡G
1¡B¦b http://java.sun.com/jdk/³B¤U¸üJDK(Java 2 SDK¡BStandard Edition¡Bv 1.2.2)¡C
2¡B¦bhttp://java.sun.com/products/jsp/³B¤U¸üJSWDK(JavaServer Web Development Kit 1.0.1)¡CLinux¥Î¤á¥i¥H¦bhttp://jakarta.apache.org/³B¤U¸üTomcat 3.0¡C
3¡B¦w¸Ë
¥HWindows NTÀô¹Ò¬°¨Ò¡AJDKªº¦w¸Ë¬Oº¥ý¹B¦æ¤U¸ü±o¨ìªºjdk1_2_2-win.exe¡AµM«á×§ï¨t²ÎÀô¹Ò°Ñ¼Æ¡A¦bPATH°Ñ¼Æ¤¤¥[¤J[x:]\jdk1.2.2\bin¥H¤Î¼W¥[·sªºÀô¹Ò°Ñ¼Æ CLASSPATH=[x:]\jdk1.2.2\lib\tools.jar¡A¨ä¤¤[x:]¬O¦w¸ËJDKªºµwºÐ²Å¡]c:¡Bd: µ¥¡^¡C
JSWDKªº¦w¸Ë¶È»Ý±Njswdk1_0_1-win.zip±a¥Ø¿ýÄÀ©ñ¨ìµwºÐ®Ú¥Ø¿ý¤U¡]c:\¡Bd:\ µ¥¡^¡AµM«á´N¥i¥H¦bµwºÐ¤W§ä¨ì\jswdk-1.0.1\¥Ø¿ý¡C±N¨Ó¦pªG¤£·Q«O¯dJSWDK¡A§R°£³oӥؿý´N¥i¥H¤F¡A¨S¦³¥ô¦ó¨t²ÎÀÉ©Mµù¥Uªí¿ò¯d°ÝÃD¡C§ó¸Ô²Óªº¦w¸Ë¹Lµ{¥H¤ÎSolaris/Unix©MLinux¤UJDK¡BTomcatªº¦w¸Ë¥i¥H°Ñ¦Ò¤U¸ü±o¨ìªºÀÉ¥]¤¤ªº¦w¸Ë»¡©ú¡C
4¡B±Ò°Ê
¥HWindows NTÀô¹Ò¬°¨Ò¡A¦b\jswdk-1.0.1\¥Ø¿ý¤U°õ¦æstartserver.bat¡A´N¥i±Ò°ÊJSWDK¤¤¤@Ӥ䴩JSPºô¶§Þ³NªºWeb¦øªA¾¹¡C¬°¤F¤£»P²{¦³ªºWeb¦øªA¾¹¡]¨Ò¦pIIS¡BPWSµ¥¡^½Ä¬ð¡AJSWDKªºWeb¦øªA¾¹¨Ï¥Î¤F8080°ð¡C
¦b¬yÄý¾¹ªº¦a§}Äæ¤¤Áä¤Jhttp://localhost:8080©ÎªÌhttp://127.0.0.1:8080«á¡A¦pªG¯à¬Ý¨ì JSWDK ªºÅwªï¶´N»¡©úJSP¹êÅçÀô¹Ò¤w¸g«Ø¦¨¡A¥i¶i¤J¤U¤@¨B¹êÅç¡C
nÃö³¬Web¦øªA¾¹«h¹B¦æstopserver.bat¡C
¤T¡B JSP²³æ¥Ü¨Ò
JSWDK¤¤¥]§tªºWeb¦øªA¾¹ªº¤åÀɥؿý¦b¯Ê¬Ùª¬ºA¤U¬°\jswdk-1.0.1\webpages¡A¥D¤åÀɦb¯Ê¬Ùª¬ºA¤U¬°index.html©Mindex.jsp¡C¤]´N¬O»¡³X°Ýhttp://localhost:8080µ¥©ó³X°Ý\jswdk-1.0.1\webpages\index.html¡C
¥Î¤å¥»½s¿è¾¹¡A¦ªþ¦³¯f¬r³sµ²0250,½Ð¥ß§Y³qª¾ºÞ²zûows¤¤ªº°O¨Æ¥»(Notepad)¡A³Ð«Ø¤@Ó¤å¦rÀÉ®×hi.jsp¡A«O¦s¦b\jswdk-1.0.1\webpages\¥Ø¿ý¤U¡A¨ä¤º®e¦p¤U¡G
<html>
<head>
<title>Hi-JSP¹êÅç</title>
</head>
<body>
<%
String Msg = "This JSP test.";
out.print("Hello World!");
%>
<h2><%=Msg%></h2>
</body>
</html>
¦b¬yÄý¾¹ªº¦a§}Äæ¤¤Áä¤Jhttp://localhost:8080/hi.jsp¡AJSWDK¤¤ªºWeb¦øªA¾¹·|°õ¦æJSP ¤å¥ó¤¤¥Î<%¥H¤Î%>¬A°_¨ÓªºJavaµ{¦¡»y¥y¡A¨ä¤¤out.print¬O±N¤å¦r¿é¥X¨ìºô¶¡A»y¥y<%= ÅÜ¼Æ | ¹Bºâ¦¡%>ªº§@¥Î¬O±NJava Scriptlet¤¤ÅܼƩιBºâ¦¡ªºÈ¿é¥X¨ìºô¶¡A°õ¦æµ²ªG¦p¹Ï1¡C
¹Ï1
±NÅܼÆMsg½áȬ°¤¤¤å¦r¦ê¡A¥Î<%= %>¿é¥X¡A©ÎªÌ¥Îout.print¿é¥X¤¤¤å¦r¦ê¡A«h¦b^¤åª©NT4¤ÎRedhat 6.1¤U¹êÅç¹B¦æµ²ªG¥¿±`¡A¦Ó¦b¤¤¤åNT 4.0©M¤¤¤å98¤U¡A«h¤Ï¦Ó·|¥X²{¶Ã½X¡C
¥|¡B ²Î¤@ªººô¯¸¤¶±
JSP¤ä´©¦øªA¾¹ºÝªºÀÉ¥]§t¡A§Y¥i¥H¦b¤@ÓJSPÀɤ¤´¡¤J¦hÓ¨ä¥LÀÉ¡A¥Î¨Ó¹ê²{²Î¤@ªººô¯¸¤¶±¡C×§ï¤Wzhi.jsp¨Ã¥t¦s¬°mypage.jsp¡G
<%@ include file="top.htm" %>
<%
String Msg = "This JSP test.";
out.print("Hello World!");
%>
<h2><%=Msg%></h2>
<%@ include file="bot.htm" %>
¥ÎµøÄ±¤ÆHTML½s¿è¾¹¡A¨Ò¦pFrontPage¡BDreamweaveµ¥³]pºô¯¸ªº®Ø¬[µ²ºc¡A±N³]p¦nªº®Ø¬[µ²ºcÀɤÀ³Î¦¨¨âÓ³¡¤À¡A¤W±¤@¥b«O¦s¬°top.htm, ¤U±¤@¥b«O¦s¬°bot.htm¡A¥N½X¦p¤U±©Ò¥Ü¡G
<html>
<head>
<meta http-equiv="Content-Type" c>
<title>§Úªº¥D¶</title>
</head>
<body>
<table border="0" width="100%" cellpadding="4" cellspacing="0" align="center">
<tr>
<td width="100%" colspan="2" bgcolor="#837ED1" align="center"><font face="Áõ®Ñ"
color="#FFFF00" size=5>¥D¶¼ÐÃD</font>
</td>
</tr>
<tr>
<td bgcolor="#837ED1" width="15%" valign="top" align="center"><br>
<font color="#FFFFFF">¿ï¶µ</font><p><font color="#FFFFFF">¿ï¶µ</font></p>
<p><font color="#FFFFFF">¿ï¶µ</font></p>
<p><font color="#FFFFFF">......</font></p>
<p>¡@</p>
</td>
<td width="85%" valign="top">
----------------------------------------------------------------------------------------------------------------
</td>
</tr>
</table>
</body>
</html>
¦b¬yÄý¾¹ªº¦a§}Äæ¤¤Áä¤Jhttp://localhost:8080/mypage.jsp¡A±o¨ìµ²ªG¦p¹Ï2¡C
¹Ï2
³o¼Ëºô¯¸ªº¤¶±´N¯à²Î¤@°_¨Ó¡A¦Ó³]pªÌ¥i¥H¶°¤¤ºë¤O¦b¥\¯à¼Ò²Õ¤W³B²z¥Î¤áµn¿ý¡B³s±µ¸ê®Æ®w¡Bµo°eemailµ¥µ¥¡C¨CÓJSPÀɳ£¦³¦p¤Uµ²ºc¡G
<%@ include file="top.htm" %>
<%
// ¹ê²{¬Y¨Ç¥\¯à
%>
<%@ include file="bot.htm" %>
ºûÅ@ºô¯¸ªº¤¶±¤]¬Û¹ï¤ñ¸û®e©ö¡A¥un×§ïtop.htm©Mbot.htm¡A´N¯à¼vÅT¨ì©Ò¦³ºô¶¡C
¤¡B ¦øªA¾¹°Ñ¼Æ³]¸m
JSWDKªºWeb¦øªA¾¹°Ñ¼Æ«O¦s¦b\jswdk-1.0.1\webserver.xml¤¤¡A¥ÎWindows¼g¦rªO¥´¶}¨Ã½s¿è³oÓÀÉ´N¥i¥H×§ï¯Ê¬Ù³]¸mÈ¡C¥»¸`¤º®e¥Dn°w¹ïJSWDK¡ALinux¤UTomcatªº³]¸m¤èªk²¤¦³¤£¦P¡C
JSWDK¯Ê¬Ùªº¤åÀɥؿý¬O\jswdk-1.0.1\webpages¡A¦b¦¹¥Ø¿ý¤U¥i¥H«Ø¥ß¤l¥Ø¿ý¡A¨Ò¦p\jswdk-1.0.1\webpages\test¡A´N¯à¦b¬yÄý¾¹¤¤¥Îhttp://localhost/test³X°Ý³oӥؿý¡A¬°¤F¨Ï±o³oÓ¤l¥Ø¿ý¯à°õ¦æJSPµ{¦¡¡AÁÙ¥²¶·¦bwebserver.xml¤¤ªº<Service></Service>¸`¥[¤J¡G
<WebApplication id="test" mapping="/test" docBase="webpages/test" />
¨Ã¥B¡AÁÙ¥²¶·«Ø¥ß\jswdk-1.0.1\webpages\test\WEB-INF¥Ø¿ý¡A¨Ã±q\jswdk-1.0.1\webpages\WEB-INF¥Ø¿ý¤¤½Æ»s¹L¨Ó¥H¤U¥|ÓÀÉ¡Gmappings.properties¡Bmime.properties¡Bservlets.properties¥H¤Îwebapp.properties¡C§¹¦¨³o¨Ç¹Lµ{¡A¤~¯à³qª¾JSWDKªºWeb¦øªA¾¹°õ¦æhttp://localhost/test ¤¤ªºJSPµ{¦¡¡C
¤»¡B JavaBean
JSPºô¶§l¤Þ¤Hªº¦a¤è¤§¤@´N¬O¯àµ²¦XJavaBean§Þ³N¨ÓÂX¥Rºô¶¤¤µ{¦¡ªº¥\¯à¡C
JavaBean¬O¤@ºØJavaÃþ (class)¡A³q¹L«Ê¸ËÄݩʩM¤èªk¦¨¬°¨ã¦³¬YºØ¥\¯à©ÎªÌ³B²z¬YÓ·~°Èªºª«¥ó¡CJavaBean³Q²Õ´¦¨¬°package¡]¸ê®Æ¥]¡^¥H«K¶i¦æºÞ²z¡A¹ê»Ú¤W´N¬O§â¤@²ÕJavaBean¤@°_©ñ¦b¬Y¬Y¥Ø¿ý¤¤¡A¨CÓÃþªº©w¸q«e¥[¤Wpackage¬Y¬Y¡A¥»¨Ò¤¤¬°test¡C¥Ø¿ýtest¥²¶·©ñ¦b¨t²ÎÀô¹ÒCLASSPATH¥]§tªº¥Ø¿ý¤U¡A¨t²Î¤~¯à§ä¨ì¨ä¤¤ªºJavaBean¡CJSWDK¦b¯Ê¬Ùª¬ºA¤U±N\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\ ¥[¤JCLASSPATH¡C«Ø¥ß¦Û¤vªºJavaBean©Mpackage®É¡A´N©ñ¦b³oӥؿý¤¤¤]¤£¥¢¬°¤@ºØÂ²©öªº¤èªk¡C
¤U±¤¶²Ð¤@Ó²³æªºJavaBean®Ø¬[¡C¥Î¤å¥»½s¿è¾¹³Ð«Ø¤@Ó¤å¦rÀÉ®×helloWorld.java¡A¨Ã«O¦s¦b\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test¥Ø¿ý¤U¡A¨ä¤º®e¦p¤U¡G
package test;
public class helloWorld {
public String name = "My first bean";
public String getHi()
{
return "Hello from " + name;
}
}
helloWorld.java½s¿è¦n«á¡A¦bDOSª¬ºA¤U¡A¶i¤J¥Ø¿ý\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\¡A¥ÎJDKªºjavac©R¥O½sĶhelloWorld.java¦p¤U¡G
javac helloWorld.java
ª`·N¡AJava¬O°Ï¤À¤j¤p¼gªº¡A¦bµ{¦¡¤¤¡A½sĶ©R¥O¦æ¤¤¦r¥Àªº¤j¤p¼g³£¤£¯à¼g¿ù¡C
½sͦ¨¥\´Nªí¥Ü«Ø¥ß¤F¤@ÓJavaBean¡C¤U±¬Ý¦p¦ó¦bJSP¤¤¨Ï¥Î³oÓJavaBean¡C¥Î¤å¥»½s¿è¾¹³Ð«Ø¤@Ó¤å¦rÀÉ®×hi-bean.jsp¡A¨Ã«O¦s¦b\jswdk-1.0.1\webpages\test¥Ø¿ý¤U¡A¨ä¤º®e¦p¤U¡G
<html>
<head>
<title>JavaBean ¸ÕÅç</title>
</head>
<body>
<jsp:useBean id="helloBean" scope="session" class="test.helloWorld" />
<%= helloBean.getHi() %>
<hr>
<%
helloBean.name = "JSP";
out.print(helloBean.getHi());
%>
</body>
</html>
¦bJSPºô¶¤¤¡A¨Ï¥Î <jsp:useBean ... />»yªk¨Ó³Ð«ØJavaBeanª«¥ó¡A¨Ã©R¦W¬°helloBean¡CŪªÌ¥i±q³oÓ²³æªº¨Ò¤l¤¤¬Ý¥X³]¸m¡BÀò¨úJavaBeanÄݩʡA¥H¤Î½Õ¥ÎJavaBean¤èªkªº°µªk¡C¦b¬yÄý¾¹ªº¦a§}Äæ¤¤Áä¤Jhttp://localhost:8080/test/hi-bean.jsp¡A±o¨ìµ²ªG¦p¹Ï3©Ò¥Ü¡C
ª`·N¡A¦pªG×§ï©M«·s½sͤFJavaBeanµ{¦¡¡A«h»ÝnÃö³¬©M«·s±Ò°ÊJSWDKªºWeb¦øªA¾¹¥H«áק諸µ²ªG¤~·|¦³®Ä¡C¦pªG¶È¶È×§ïJSPÀÉ¡A«h¤£¥Î«·s±Ò°ÊJSWDKªºWeb¦øªA¾¹¡C
¹Ï3
ÁöµM¡A³o¶È¶È§¹¦¨¤F¤@Ó«D±`²³æªºJavaBean®Ø¬[¡A¦ý¬O¿í´`³oӮج[¥i¥H³]p¥X¦hºØ¦h¼ËªºJavaBean¡C¨Ò¦p¡A±qJSP¤¤³X°Ý¸ê®Æ³q±`´N¬O³q¹LJavaBean¨Ó¹ê²{ªº¡C
¤C¡B ¸ê®Æ®w³s±µ
¸ê®Æ®w³s±µ¹ï°ÊºAºô¯¸¨Ó»¡¬O³Ì¬°«nªº³¡¤À¡AJava¤¤³s±µ¸ê®Æ®wªº§Þ³N¬OJDBC(Java Database Connectivity)¡C«Ü¦h¸ê®Æ®w¨t²Î±a¦³JDBCÅX°Êµ{¦¡¡AJavaµ{¦¡´N³q¹LJDBCÅX°Êµ{¦¡»P¸ê®Æ®w¬Û³s¡A°õ¦æ¬d¸ß¡B´£¨ú¸ê®Æµ¥µ¥¾Þ§@¡CSun¤½¥qÁÙ¶}µo¤FJDBC-ODBC bridge¡A¥Î¦¹§Þ³NJavaµ{¦¡´N¥i¥H³X°Ý±a¦³ODBCÅX°Êµ{¦¡ªº¸ê®Æ®w¡A¥Ø«e¤j¦h¼Æ¸ê®Æ®w¨t²Î³£±a¦³ODBCÅX°Êµ{¦¡¡A©Ò¥HJavaµ{¦¡¯à³X°Ý½Ñ¦pOracle¡BSybase¡BMS SQL Server©MMS Accessµ¥¸ê®Æ®w¡C¤U±¤¶²Ð¦p¦ó¥ÎAccess¹ê²{¤@ӰʺAFAQ¡]±`¨£°ÝÃD¤Îµª®×¡^ºô¯¸¡C
º¥ý«Ø¥ß¤@ÓAccess¸ê®Æ®wfaq.mdb¡A¨ä¤¤ªºªífaqs¦³Äæ¦ìid¡]¦Û°Ê¼W¶q«¬¡A¨Ã³]¬°¥DÃöÁä¦r¡^¡Bsubject¡]¤å¦r«¬¡Aªø«×200¡^¡Banswers¡]³Æµù«¬¡^¡C³oÓªí¤¤¥i¥H¦s©ñ¤@¨Ç½sµ{ª¾ÃѪº±`¨£°ÝÃD¤Îµª®×¡A¦p¹Ï4¡C
¹Ï 4
µM«á¡A¦bControl Panel¡]±±¨î±ªO¡^ªºODBC Datasource¼Ò²Õ¤¤¥[¤JSystem DSN¡A¨ú¦Wfaq¡A¨Ã«ü¦Vfaq.mdb¡C
³Ð«Ø¤@ÓJavaBean¡A¦W¬°faq.java¡A¨Ã«O¦s¦b\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test¥Ø¿ý¤U¡Cfaq.java ªº¤º®e¦p¤U¡G
package test;
import java.sql.*;
public class faq {
String sDBDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
String sC;
Connection conn = null;
ResultSet rs = null;
public faq() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e) {
System.err.println("faq(): " + e.getMessage());
}
}
public ResultSet executeQuery(String sql) {
rs = null;
try {
conn = DriverManager.getConnection(sConnStr);
Statement stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
}
catch(SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
return rs;
}
}
¥Î¤W¤@¸`¤¶²Ðªº¤èªk½sĶfaq.java¥H«á¡A¦b\jswdk-1.0.1\webpages\test¥Ø¿ý¤U³Ð«ØJSPÀÉfaq.jsp¡A¨ä¤º®e¦p¤U¡G
<html>
<head>
<meta http-equiv="Content-Type" c>
<title>§ÚªºFAQ !</title>
</head>
<body>
<p><b>³o¬O§ÚªºFAQ!</b></p>
<%@ page language="java" import="java.sql.*" %>
<jsp:useBean id="workM" scope="page" class="test.faq" />
<%
ResultSet RS = workM.executeQuery("SELECT * FROM faqs");
String tt;
while (RS.next()) {
tt = RS.getString("Answer");
out.print("<LI>" + RS.getString("Subject") + "</LI>");
out.print("<pre>" + tt + "</pre>");
}
RS.close();
%>
¦b¬yÄý¾¹ªº¦a§}Äæ¤¤Áä¤Jhttp://localhost:8080/test/faq.jsp¡Afaq.jsp½Õ¥ÎJavaBean¡A±q¸ê®Æ®w¤¤Åª¥X¤º®e¨Ã¿é¥X¡A±o¨ìµ²ªG¦p¹Ï5©Ò¥Ü¡C
¹Ï5
©ó½g´T¡A¥»¤å¤£¯à¦CÁ|JSP-JavaBean-JDBC/ODBC-¸ê®Æ®wªº½ÆÂø¨Ò¤l¡AŪªÌ¥i¥H±q¥»¤å³Ì«á©Ò±ÀÂ˪ººô§}¤¤§ä¨ì¨Ã¤U¸ü¨ì¸ê®Æ®w³s±µ½d¨Ò¡C
¤K¡B §Þ³N¤ÀªR
Microsoft ¤½¥qªº ASP §Þ³N¤]¬O°ÊºAºô¶¶}µo§Þ³N¡CJSP©MASP±q§Î¦¡¤W«D±`¬Û¦ü¡AASPµ{¦¡®v¤@²´´N¯à»{¥X<% %>¥H¤Î<%= %>¡C¦ý¬O²`¤J±´¨s¤U¥h·|µo²{¥¦Ì«Ü¦hªº®t§O¡A¨ä¤¤³Ì¥Dnªº¦³¥H¤U¤TÂI¡G
1¡B JSPªº®Ä²v©M¦w¥þ©Ê§ó°ª
ASP¥H·½½X§Î¦¡¦s©ñ¡A¥H¸ÑÄÀ¤è¦¡¹B¦æ¡A¨C¦¸ASPºô¶½Õ¥Î³£»Ýn¹ï·½½X¶i¦æ¸ÑÄÀ¡A¹B¦æ®Ä²v¤£°ª¡C¥t¥~¡AIISªºº|¬}´¿¨Ï±o³\¦hºô¯¸®Ú·½µ{¦¡¤jÃn¥ú¡A¥]¬Aµ§ªÌ¥H«e¥ÎASP¶}µoªººô¯¸¡AASPµ{¦¡¥þ³¡³Q¤H¤U¸ü¤F¥h¡C
JSP¦b°õ¦æ¥H«e¥ý³Q½sͦ¨¦ì¤¸²Õ½X (byte code)¡A¦ì¤¸²Õ½X¥ÑJavaµêÀÀ¾÷(Java Virtual Machine)¸ÑÄÀ°õ¦æ¡A¤ñ·½½X¸ÑÄÀªº®Ä²v°ª¡F¦øªA¾¹¤WÁÙ¦³¦ì¤¸²Õ½XªºCache¾÷¨î¡A¯à´£°ª¦ì¤¸²Õ½Xªº³X°Ý®Ä²v¡C²Ä¤@¦¸½Õ¥ÎJSPºô¶¥i¯àµyºC¡A¦]¬°¥¦³Q½sͦ¨Cache¡A¥H«á´N§Ö±o¦h¤F¡C¦P®É¡AJSP®Ú·½µ{¦¡¤£¤j¥i¯à³Q¤U¸ü¡A¯S§O¬OJavaBeanµ{¦¡§¹¥þ¥i¥H©ñ¨ì¤£¹ï¥~ªº¥Ø¿ý¤¤¡C
2¡B JSPªº¤¸¥ó (Component) ¤è¦¡§ó¤è«K
ASP³q¹LCOM¨ÓÂX¥R½ÆÂøªº¥\¯à¡A¦pÀɤW¸ü¡Bµo°eemail¥H¤Î±N·~°È³B²z©ÎªÌ½ÆÂøpºâ¤ÀÂ÷¥X¨Ó¦¨¬°¿W¥ß¥i«½Æ§Q¥Îªº¼Ò²Õ¡CJSP³q¹LJavaBean¹ê²{¤F¦P¼Ëªº¥\¯àÂX¥R¡C
¦b¶}µo¤è±¡ACOMªº¶}µo»·¤ñJavaBean½ÆÂø©MÁcº¾¡A¾Ç·|ASP¤£Ãø¡A¦ý¾Ç·|¶}µoCOM¥i¤£Â²³æ¡C¦ÓJavaBean´N²³æ¦h¤F¡A±q¥»¤å¤Wz¥Ü¨Ò¤¤¥i¥H¬Ý¥X¶}µoJavaBean«Ü¤è«K¡C
¦bºûÅ@¤è±¡ACOM¥²¶·¦b¦øªA¾¹¤Wµù¥U¡A¦pªG×§ï¤FCOMµ{¦¡¡A´N¥²¶·«·sµù¥U¡A¬Æ¦Ü¥²¶·Ãö¾÷©M«·s±Ò°Ê¡CJavaBean«h¤£»Ýnµù¥U¡A©ñ¦bCLASSPATH¥]§tªº¥Ø¿ý¤¤´N¦æ¤F¡C¦pªGJavaBean¶i¦æ¤F×§ï¡A«hJSWDK©MTomcat²{¦bÁÙ»ÝnÃö³¬©M«·s¹B¦æ¡]¦ý¤£¬OÃö¾÷¡^¡A¦ý¶}µoªÌ¤w¸g³\¿Õ±N¦b¥H«áªºª©¥»¤¤°µ¨ì¤£»ÝnÃö³¬¦øªA¾¹¡C
¥t¥~JavaBean¬O§¹¥þªºOOP¡A¥i¥H°w¹ï¤£¦Pªº·~°È³B²z¥\¯à¤è«K¦a«Ø¥ß¤@¾ã®M¥i«½Æ§Q¥Îªºª«¥ó®w¡A¨Ò¦p¥Î¤á³\¥iÅv±±¨î¡Bemail¦Û°Ê¦^´_µ¥µ¥¡C
3¡B JSPªº¾AÀ³¥»O§ó¼s
ASP¥Ø«e¶È¾A¥Î©óNT©MIIS¡CÁöµMUnix¤U¦³ChiliSoftªº´¡¥ó¨Ó¤ä«ùASP¡A¦ý¬OASP¥»¨ªº¥\¯à¦³¡A¥²¶·³q¹LASP+COMªº²Õ¦X¨ÓÂX¥R¡AUnix¤UªºCOM¹ê²{°_¨Ó«D±`§xÃø¡C
JSP«h¤£¦P¡A´X¥G©Ò¦³¥»O³£¤ä«ùJava¡AJSP+JavaBean¥i¥H¦b©Ò¦³¥»O¤U³q¦æµLªý¡CNT¤UIIS³q¹L¤@Ó´¡¥ó¡A¨Ò¦pJRUN(http://www3.allaire.com/products/jrun/)©ÎªÌServletExec(http://www.newatlanta.com/)¡A´N¯à¤ä«ùJSP¡CµÛ¦WªºWeb¦øªA¾¹Apache¤w¸g¯à°÷¤ä´©JSP¡C¥Ñ©óApache¼sªxÀ³¥Î¦bNT¡BUnix©MLinux¤W¡A¦]¦¹JSP¦³§ó¼sªxªº¹B¦æ¥»O¡CÁöµM²{¦bNT§@·~¨t²Î¥e¤F«Ü¤jªº¥«³õ¥÷ÃB¡A¦ý¬O¦b¦øªA¾¹¤è±UnixªºÀu¶Õ¤´µM«Ü¤j¡A¦Ó·s±U°_ªºLinux§ó¬O¨Ó¶Õ¤£¤p¡C
±q¤@Ó¥»O²¾´Ó¨ì¥t¥~¤@Ó¥»O¡AJSP©MJavaBean¬Æ¦Ü¤£¥Î«·s½sĶ¡A¦]¬°Java¦ì¤¸²Õ½X³£¬O¼Ð·Çªº»P¥»OµLÃöªº¡Cµ§ªÌ±N¦bNT¤U¹êÅ窺JSPºô¶ì«Ê¤£°Ê¦a®³¨ìLinux¤U´N¹B¦æ°_¨Ó¤F¡A·Pı«D±`º¡·N¡C
¤E¡B µ²½×
ºî¤W©Òz¡AJSP¥i¿×¬Oºc«Ø°ÊºAºô¯¸ªº¤@Ó§Q¾¹¡A¬G±ÀÂ˵¹ÅªªÌ¡A¯¬Ä@§AÌ´x´¤JSP¡A¶}µo¥XÀu¨qªººô¯¸¡CASPµ{¦¡®v¤]½Ð¸Õ¤@¤U¡AJSPùؤ]¦³session¡Brequest¡Bresponse/outµ¥ª«¥ó¡A¿Ë¦Û¸Õ¸Õ¬Ý¦p¦ó¡C
ªþ¤å
³oùجOÃö©óJSPªº«n°Ñ¦Ò¸ê®Æ¡A¦³¿³½ìªºÅªªÌ¥i¥H¶i¤@¨B¾\Ū¡C
http://java.sun.com/products/jsp/faq.html
http://www.esperanto.org.nz/jsp/jspfaq.html
http://www.zdnet.com/pcweek/stories/news/0,4153,410709,00.html
http://developer.netscape.com/viewsource/kuslich_jsp/kuslich_jsp.html
http://web2.java.sun.com/products/jsp/jsp-asp.html
http://www.asptoday.com/articles/19991022.htm
