ä¸ã ä»ä¹æ¯JSP JSP(JavaServer Pages)æ¯ç±Sun Microsystemså
¬å¸å¡å¯¼ã许å¤å
¬å¸åä¸ä¸èµ·å»ºç«çä¸ç§å¨æç½é¡µææ¯æ åï¼å
¶ç½å为
http://www.javasoft.com/products/jspã å¨ä¼ ç»çç½é¡µHTMLæ件(*.htm,*.html)ä¸å å
¥Javaç¨åºç段(Scriptlet)åJSPæ è®°(tag)ï¼å°±ææäºJSPç½é¡µ(*.jsp)ãWebæå¡å¨å¨éå°è®¿é®JSPç½é¡µç请æ±æ¶ï¼é¦å
æ§è¡å
¶ä¸çç¨åºç段ï¼ç¶åå°æ§è¡ç»æ以HTMLæ ¼å¼è¿åç»å®¢æ·ãç¨åºç段å¯ä»¥æä½æ°æ®åºãéæ°å®åç½é¡µä»¥ååé email ççï¼è¿å°±æ¯å»ºç«å¨æç½ç«æéè¦çåè½ãææç¨åºæä½é½å¨æå¡å¨ç«¯æ§è¡ï¼ç½ç»ä¸ä¼ éç»å®¢æ·ç«¯çä»
æ¯å¾å°çç»æï¼å¯¹å®¢æ·æµè§å¨çè¦æ±æä½ï¼å¯ä»¥å®ç°æ Pluginï¼æ ActiveXï¼æ Java Appletï¼çè³æ Frameã æ¬æå°ä»ç»å©ç¨JSPææ¯å¼åå¨æç½é¡µçæ¹æ³ï¼è¿å°ç®è¦åæJSPææ¯å Microsoft å
¬å¸ç ASP ææ¯çä¸åä¹å¤ã
äºã å¦ä½å®è£
åå¯å¨ 为äºå®éªJSPææ¯ï¼é¦å
éè¦å»ºç«è¿è¡ç¯å¢ï¼è¿ä¸ªè¿ç¨ç¸å½ç®åï¼
1ãå¨
http://java.sun.com/jdk/å¤ä¸è½½JDK(Java 2 SDKãStandard Editionãv 1.2.2)ã
2ãå¨
http://java.sun.com/products/jsp/å¤ä¸è½½JSWDK(JavaServer Web Development Kit 1.0.1)ãLinuxç¨æ·å¯ä»¥å¨ttp://jakarta.apache.org/å¤ä¸è½½Tomcat 3.0ã
3ãå®è£
以Windows NTç¯å¢ä¸ºä¾ï¼JDKçå®è£
æ¯é¦å
è¿è¡ä¸è½½å¾å°çjdk1_2_2-win.exeï¼ç¶åä¿®æ¹ç³»ç»ç¯å¢åæ°ï¼å¨PATHåæ°ä¸å å
¥[x:]\jdk1.2.2\bin以åå¢å æ°çç¯å¢åæ° CLASSPATH=[x:]\jdk1.2.2\lib\tools.jarï¼å
¶ä¸[x:]æ¯å®è£
JDKç硬ç符ï¼c:ãd: çï¼ã JSWDKçå®è£
ä»
éå°jswdk1_0_1-win.zip带ç®å½éæ¾å°ç¡¬çæ ¹ç®å½ä¸ï¼c:\ãd:\ çï¼ï¼ç¶åå°±å¯ä»¥å¨ç¡¬çä¸æ¾å°\jswdk-1.0.1\ç®å½ãå°æ¥å¦æä¸æ³ä¿çJSWDKï¼å é¤è¿ä¸ªç®å½å°±å¯ä»¥äºï¼æ²¡æä»»ä½ç³»ç»æ件å注å表éçé®é¢ãæ´è¯¦ç»çå®è£
è¿ç¨ä»¥åSolaris/UnixåLinuxä¸JDKãTomcatçå®è£
å¯ä»¥åèä¸è½½å¾å°çæ件å
ä¸çå®è£
说æã
4ãå¯å¨ 以Windows NTç¯å¢ä¸ºä¾ï¼å¨\jswdk-1.0.1\ç®å½ä¸æ§è¡startserver.batï¼å°±å¯å¯å¨JSWDKä¸ä¸ä¸ªæ¯æJSPç½é¡µææ¯çWebæå¡å¨ã为äºä¸ä¸ç°æçWebæå¡å¨ï¼ä¾å¦IISãPWSçï¼å²çªï¼JSWDKçWebæå¡å¨ä½¿ç¨äº8080端å£ã å¨æµè§å¨çå°åæ ä¸é®å
¥
http://localhost:8080æè
http://127.0.0.1:8080åï¼å¦æè½çå° JSWDK ç欢è¿é¡µå°±è¯´æJSPå®éªç¯å¢å·²ç»å»ºæï¼å¯è¿å
¥ä¸ä¸æ¥å®éªã è¦å
³éWebæå¡å¨åè¿è¡stopserver.batã
ä¸ã JSPç®åç¤ºä¾ JSWDKä¸å
å«çWebæå¡å¨çææ¡£ç®å½å¨ç¼ºçç¶æä¸ä¸º\jswdk-1.0.1\webpagesï¼ä¸»ææ¡£å¨ç¼ºçç¶æä¸ä¸ºindex.htmlåindex.jspãä¹å°±æ¯è¯´è®¿é®
http://localhost:8080çäºè®¿é®\jswdk-1.0.1\webpages\index.htmlã ç¨ææ¬ç¼è¾å¨ï¼å¦Windowsä¸çè®°äºæ¬(Notepad)ï¼å建ä¸ä¸ªææ¬æ件hi.jspï¼ä¿åå¨\jswdk-1.0.1\webpages\ç®å½ä¸ï¼å
¶å
容å¦ä¸ï¼
<html>
<head>
<title>Hi-JSPå®éª</title>
</head>
<body>
<%
String Msg = "This JSP test.";
out.print("Hello World!");
%>
<h2><%=Msg%></h2>
</body>
</html>
å¨æµè§å¨çå°åæ ä¸é®å
¥
http://localhost:8080/hi.jspï¼JSWDKä¸çWebæå¡å¨ä¼æ§è¡JSP æ件ä¸ç¨<%以å%>æ¬èµ·æ¥çJavaç¨åºè¯å¥ï¼å
¶ä¸out.printæ¯å°æåè¾åºå°ç½é¡µï¼è¯å¥<%= åé | è¡¨è¾¾å¼ %>çä½ç¨æ¯å°Java Scriptletä¸åéæ表达å¼çå¼è¾åºå°ç½é¡µï¼æ§è¡ç»æå¦å¾1ã å¾1 å°åéMsgèµå¼ä¸ºä¸æå符串ï¼ç¨<%= %>è¾åºï¼æè
ç¨out.printè¾åºä¸æå符串ï¼åå¨è±æçNT4åRedhat 6.1ä¸å®éªè¿è¡ç»ææ£å¸¸ï¼èå¨ä¸æNT 4.0åä¸æ98ä¸ï¼ååèä¼åºç°ä¹±ç ã
åã ç»ä¸çç½ç«çé¢ JSPæ¯ææå¡å¨ç«¯çæ件å
å«ï¼å³å¯ä»¥å¨ä¸ä¸ªJSPæ件ä¸æå
¥å¤ä¸ªå
¶ä»æ件ï¼ç¨æ¥å®ç°ç»ä¸çç½ç«çé¢ãä¿®æ¹ä¸è¿°hi.jsp并å¦å为mypage.jspï¼
<%@ include file="top.htm" %>
<%
String Msg = "This JSP test.";
out.print("Hello World!");
%>
<h2><%=Msg%></h2>
<%@ include file="bot.htm" %>
äºã æå¡å¨åæ°è®¾ç½®
JSWDKçWebæå¡å¨åæ°ä¿åå¨\jswdk-1.0.1\webserver.xmlä¸ï¼ç¨Windowsååæ¿æå¼å¹¶ç¼è¾è¿ä¸ªæ件就å¯ä»¥ä¿®æ¹ç¼ºç设置å¼ãæ¬èå
容主è¦é对JSWDKï¼Linuxä¸Tomcatç设置æ¹æ³ç¥æä¸åã
JSWDK缺ççææ¡£ç®å½æ¯\jswdk-1.0.1\webpagesï¼å¨æ¤ç®å½ä¸å¯ä»¥å»ºç«åç®å½ï¼ä¾å¦\jswdk-1.0.1\webpages\testï¼å°±è½å¨æµè§å¨ä¸ç¨
http://localhost/test访é®è¿ä¸ªç®å½ï¼ä¸ºäºä½¿å¾è¿ä¸ªåç®å½è½æ§è¡JSPç¨åºï¼è¿å¿
é¡»å¨webserver.xmlä¸ç<Service></Service>èå å
¥ï¼
<WebApplication id="test" mapping="/test" docBase="webpages/test" />
并ä¸ï¼è¿å¿
须建ç«\jswdk-1.0.1\webpages\test\WEB-INFç®å½ï¼å¹¶ä»\jswdk-1.0.1\webpages\WEB-INFç®å½ä¸å¤å¶è¿æ¥ä»¥ä¸å个æ件ï¼mappings.propertiesãmime.propertiesãservlets.properties以åwebapp.propertiesãå®æè¿äºè¿ç¨ï¼æè½éç¥JSWDKçWebæå¡å¨æ§è¡
http://localhost/test ä¸çJSPç¨åºã
å
ã JavaBean
JSPç½é¡µå¸å¼äººçå°æ¹ä¹ä¸å°±æ¯è½ç»åJavaBeanææ¯æ¥æ©å
ç½é¡µä¸ç¨åºçåè½ã
JavaBeanæ¯ä¸ç§Javaç±» (class)ï¼éè¿å°è£
å±æ§åæ¹æ³æ为å
·ææç§åè½æè
å¤çæ个ä¸å¡ç对象ãJavaBean被ç»ç»æ为packageï¼æ°æ®å
ï¼ä»¥ä¾¿è¿è¡ç®¡çï¼å®é
ä¸å°±æ¯æä¸ç»JavaBeanä¸èµ·æ¾å¨ææç®å½ä¸ï¼æ¯ä¸ªç±»çå®ä¹åå ä¸packageææï¼æ¬ä¾ä¸ä¸ºtestãç®å½testå¿
é¡»æ¾å¨ç³»ç»ç¯å¢CLASSPATHå
å«çç®å½ä¸ï¼ç³»ç»æè½æ¾å°å
¶ä¸çJavaBeanãJSWDKå¨ç¼ºçç¶æä¸å°\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\ å å
¥CLASSPATHã建ç«èªå·±çJavaBeanåpackageæ¶ï¼å°±æ¾å¨è¿ä¸ªç®å½ä¸ä¹ä¸å¤±ä¸ºä¸ç§ç®æçæ¹æ³ã
ä¸é¢ä»ç»ä¸ä¸ªç®åçJavaBeanæ¡æ¶ãç¨ææ¬ç¼è¾å¨å建ä¸ä¸ªææ¬æ件helloWorld.javaï¼å¹¶ä¿åå¨\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\testç®å½ä¸ï¼å
¶å
容å¦ä¸ï¼
package test;
public class helloWorld {
public String name = "My first bean";
public String getHi()
{
return "Hello from " + name;
}
}
helloWorld.javaç¼è¾å¥½åï¼å¨DOSç¶æä¸ï¼è¿å
¥ç®å½\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\ï¼ç¨JDKçjavacå½ä»¤ç¼è¯helloWorld.javaå¦ä¸ï¼
javac helloWorld.java
注æï¼Javaæ¯åºå大å°åçï¼å¨ç¨åºä¸ï¼ç¼è¯å½ä»¤è¡ä¸åæ¯ç大å°åé½ä¸è½åéã
ç¼è¯æå就表示建ç«äºä¸ä¸ªJavaBeanãä¸é¢çå¦ä½å¨JSPä¸ä½¿ç¨è¿ä¸ªJavaBeanãç¨ææ¬ç¼è¾å¨å建ä¸ä¸ªææ¬æ件hi-bean.jspï¼å¹¶ä¿åå¨\jswdk-1.0.1\webpages\testç®å½ä¸ï¼å
¶å
容å¦ä¸ï¼
å¨JSPç½é¡µä¸ï¼ä½¿ç¨ <jsp:useBean ... />è¯æ³æ¥å建JavaBean对象ï¼å¹¶å½å为helloBeanã读è
å¯ä»è¿ä¸ªç®åçä¾åä¸çåºè®¾ç½®ãè·åJavaBeanå±æ§ï¼ä»¥åè°ç¨JavaBeanæ¹æ³çåæ³ãå¨æµè§å¨çå°åæ ä¸é®å
¥
http://localhost:8080/test/hi-bean.jspï¼å¾å°ç»æå¦å¾3æ示ã
注æï¼å¦æä¿®æ¹åéæ°ç¼è¯äºJavaBeanç¨åºï¼åéè¦å
³éåéæ°å¯å¨JSWDKçWebæå¡å¨ä»¥åä¿®æ¹çç»ææä¼ææãå¦æä»
ä»
ä¿®æ¹JSPæ件ï¼åä¸ç¨éæ°å¯å¨JSWDKçWebæå¡å¨.
è½ç¶ï¼è¿ä»
ä»
å®æäºä¸ä¸ªé常ç®åçJavaBeanæ¡æ¶ï¼ä½æ¯éµå¾ªè¿ä¸ªæ¡æ¶å¯ä»¥è®¾è®¡åºå¤ç§å¤æ ·çJavaBeanãä¾å¦ï¼ä»JSPä¸è®¿é®æ°æ®é常就æ¯éè¿JavaBeanæ¥å®ç°çã
éæ
CLASSæ件çåæ¾ä½ç½®
--------------------------------------------------------------------------------
ãä½å¿å¼ºã äº 2000-8-11 9:01:57 å è´´å¨ JAVAææ¯ âï¼
å¨Linuxå¹³å°ä¸çTomcatä¸ï¼åªéæç¸å
³çç±»åº(*.zipã*.jar)æ¾å°$TOMCAT_HOME/libç®å½ä¸ï¼Tomcatå¯å¨æ¶å°±ä¼èªå¨å°è¿äºç±»åºæ¾å°CLASSPATHç¯å¢åéä¸ï¼Windowså¹³å°ä¸çTomcatä¸è¡ï¼å¿
é¡»æ工添å å°CLASSPATHç¯å¢åéä¸ã
åçï¼ä¸ºä»ä¹æ§è¡JAVAç¨åºæ¶ï¼ä¼åºç°Exception in thread"main" java.lang.NoClassDefFoundErrorçéï¼ï¼å¤ªå¤äººé®äºï¼ç¦ï¼å»ºè®®æ¾å
¥ç²¾ååºï¼ï¼
--------------------------------------------------------------------------------
ãsonymusicã äº 2001-2-15 13:29:54 å è´´å¨ JAVAææ¯ âï¼
åºè¯¥è¿æ ·æ£æ¥ä½ çç¯å¢åä½ çæä½ï¼
1ãä½ çæ件å对åï¼
JAVAè¦æ±ä½ çæ件åä½ çç±»åä¸¥æ ¼å¯¹åºçã
æ¯å¦ public class HelloWorld{ .....
é£ä¹æ件åä¸å®åªè½æ¯HelloWorld.javaï¼çä»ç»äºï¼
2ãä½ çç¨åºä¸æmainæ¹æ³åï¼åæ°ä»ä¹ç对åï¼
mainæ¹æ³ç声æåºè¯¥æ¯è¿æ ·åçï¼
public static void main(String[] args)
äºå®ä¸å¦æä½ ç¨å¼åå·¥å
·æ¥åçè¯ï¼æ¯ä¸ä¼éçãå¦æä½ ç¨UltraEditä¹ç±»çæ¥åç¨åºçè¯ï¼å°±ä¸ä¸ªåä¸è¦æ¹çç
§æå§ï¼
3ãè®°ä½ï¼javacåé¢è·çåæ°æ¯æ件åï¼ä½java åé¢è·çæ¯ç±»åï¼
è¿æ¯æå¼å§å¦JAVAæ¯ç¯çéï¼java HelloWorld.classï¼ç¶åå°±æ¥éãåæ¥æå¼æç½ï¼åºè¯¥æ¯java HelloWorldã
4ã设置äºclasspathäºåï¼
ä¸ä»
æ¯å¨å®è£
JDKæ¶è¦è®¾ç½®çå
容ï¼ä¸è¬æ¥è¯´æ好è¿è¦èªå·±è®¾ç½®ä¸ä¸ªç®å½æ¥åæ¾èªå·±çç±»æ件çãæ¯å¦d:\classç®å½ã
设置classpath=%classpath%;d:\class
é£ä¹ï¼ç°å¨å°HelloWorld.classæ件COPYå°d:\classç®å½ä¸ï¼åjava HelloWorldåºè¯¥å°±OKäºã
5ãç»å第3ç¹å第4ç¹
å¦æä½ çç±»æ¯å±äºæä¸ä¸ªå
çï¼æ¯å¦è¿æ ·ä¸ä¸ªç±»sony.test.HelloWorldï¼é£ä¹æç
§æå¨ç¬¬4ç¹ä¸è¯´çç®å½æ¥è¯´ï¼å°±åºè¯¥å°HelloWorld.classæ件åæ¾å°d:\class\sony\test\ç®å½ä¸ã
æ§è¡çæ¶ååºè¯¥åè第3ç¹ä¸è¯´çï¼æç±»åæ§è¡ï¼java sony.test.HelloWorldã
æç½äºåï¼ä¸ç´æä¹æ³ä¸åºè¿ä¼æä»ä¹çç±é æè¿ä¸ªåºéä¿¡æ¯äºï¼å¦ææåªä½å
å¼æ³å°äºå°±è¡¥å
ä¸ä¸å§ï¼
å
¶å®å¦æä½ ä½¿ç¨äºä¸äºæ¯è¾å¥½çç¼ç¨å·¥å
·çè¯ï¼æ ¹æ¬å°±æ²¡ææºä¼ç¢°å°è¿ä¸ªé误çï¼è³å°æå¨ä½¿ç¨äºVisualAge for Javaä¹åï¼å°±æ²¡æè¿æ ·çäºæ
äºã
好å¦ï¼ä¸è¯´äºï¼ç¥åå¿ä»¬å¥½è¿å§ï¼
è¿äºè¿ç¬¬ä¸éé¨ï¼åé¢çå°±æ¯è¾ç®åå¦ï¼
Java çæ§è¡ç¯å¢
æ¬èå°ä»ç» Java çæ§è¡ç¯å¢å¹¶è¯´ææ¤ç¯å¢ä¸çä¸äºå
件ä¸ç¸å
³æ令ãé¦å
æ们å¿
é¡»å
å®è£
Java ç¯å¢ãä½ å
ä¸ç½è¿ç»è³ Sun Microsystems, Inc.ç Java ä¸å±ç½ç«ï¼
http://java.sun.com/products/jdk/1.1/download-jdk-windows.htmlï¼ä¸è½½ JDK(Java Development Kit)è½¯ä½ (jdk_1_1_8-win.exe)ãç¶å¾æ§è¡è¯¥è½¯ä½ï¼å°±å¯å®è£
以ä¸å 个å
件ï¼
ç¨å¼åº(CoreClasses, classes.zip)æ¯ä½æ¼ä½ æå®è£
JDK 主ç®å½ç LIB 次ç®å½ä¸(å¦ C:\JDK1.1.8\LIB)ï¼ä¸ä»¥å缩çæ¹å¼åå¨ï¼åä¸ä¸è¦å°æ¤æ¡£æ¡ 解å缩ãå®æ¯å¨æ§è¡ Java ç¼è¯å¨(Compiler)æ解è¯å¨(Interpreter)æ¶ä¼ 使ç¨å°çæ¡£æ¡ã
åå§æ¡£æ¡ä½æ¼ä½ æå®è£
JDK 主ç®å½ç SRC 次ç®å½ä¸ï¼æ¯ä¸è¿°ç¨å¼åºç Java åå§æ¡£ã
ä½æ¼ä½ æå®è£
JDK 主ç®å½ç BIN 次ç®å½ä¸ï¼æ¯ç¼è¯ææ§è¡åºç¨ç¨å¼ (Applications)æå°ç¨å¼ (Applets)æéè¦çå·¥å
·åæ令ï¼ä¸»è¦æï¼
ç¼è¯å¨(Java Compiler, javac)âå° Java åå§æ¡£(*.java)ç¼è¯ä¸º ä½å
æ¡£(*.class)
解è¯å¨(Java Interpreter, java)âæ§è¡ Java ç¨å¼(*.java)
æ§è¡å¨(Java Runtime Interpreter, jre)âä¹æ¯æ§è¡ Java ç¨å¼ï¼ ä¸è¬ä½¿ç¨è
(end users) 使ç¨
æ£è§å¨(Java AppletViewer, appletviewer)âç¨æ¥æ§è¡ä¸æµè¯ Java å°ç¨å¼(applet)
é¤éå¨(Java Debugger, jdb)â帮å©åç°ç¨å¼çè«è«(bugs)
æ件å¨(Java Documentation Generator, javadoc)âç± java åå§æ¡£ä¸å¶ä½å¯ç±å¯¼è§å¨ æµè§ä¹æ件说ææ¡£
å缩å¨(Java Archive Tool, jar)âå°å¤ä¸ªjavaç¨å¼æ¡£(*.class) å缩为 ZIP æ ¼å¼çæ¡£æ¡ (*.jar)
Java示èç¨å¼éä½æ¼ä½ æå®è£
JDK 主ç®å½ç DEMO 次ç®å½ä¸ï¼ ä½ å¯ä»¥åæ¢å°æ¤æ¬¡ç®å½çåä¸ä¸å±æ¬¡ç®å½ï¼ç¶å¾æ§è¡å°ç¨å¼ï¼ä¾å¦ï¼
>cd c:\jdk1.1.8\demo\TicTacToe
>c:\jdk1.1.8\bin\appletviewer .\example1.html
<ç»ä¹ > 请ç±å¯¼è§å¨ä¸å¼å¯Java示èå°ç¨å¼
为äºç®åæ令é¿åº¦(å¦ä¸é¢æ§è¡ç¤ºèå°ç¨å¼)ï¼å¨æ§è¡ Java æ令åå¯å
设å®ç¯å¢åæ°ï¼è®©ç³»ç»è½å¤æ¾å°æ令åç¸å
³ç¨å¼åºæå¨ã
set CLASSPATH=C:\jdk1.1.8\lib\classes.zip;.\.;%CLASSPATH%
set PATH=C:\jdk1.1.8\bin;%PATH%
以ä¸è®¾å®å®æ¯å¾ï¼åªéæ²å
¥ä»¥ä¸æ令ï¼
>appletviewer .\example1.html
[PREVIOUS][TOC][NEXT]