下面是一個(gè)產(chǎn)生存文本的簡(jiǎn)單servlet的實(shí)例。
2.1 HelloWorld.java
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println("Hello World");
}
}
2.2 編譯和安裝Servlet
注意,安裝servlet的方法會(huì)因web服務(wù)器不同而不同。詳細(xì)請(qǐng)參考您使用的web服務(wù)器所帶的安裝文檔。Java Web 服務(wù)器即Java Web Server(JWS)2.0上帶有聯(lián)機(jī)實(shí)例。在JWS里,servlet程序必須JWS放在安裝目錄的servlets目錄下才能運(yùn)行。如果web服務(wù)器由多人使用并且沒(méi)有好的虛擬服務(wù)器的下層結(jié)構(gòu)來(lái)自動(dòng)避免沖突,你也可以像我一樣在servlets目錄下創(chuàng)建一個(gè)獨(dú)立包(我取名叫hall)即在servlets目錄下創(chuàng)建一個(gè)hall子目錄,并把你寫(xiě)的servlet放在該目錄下。這里我把HelloWorld.java放在hall目錄下。其他大多數(shù)服務(wù)器的安裝都大同小異,本教程的servlet和JSP例子都在BEA Weblogic和IBM的WebSphere 3.0測(cè)試通過(guò)。其中WebSphere對(duì)于虛擬服務(wù)器有一套優(yōu)秀的機(jī)制,所以沒(méi)有必要為了名字的沖突而單獨(dú)使用包。
如果你以前從未用過(guò)包,那么有兩種在包內(nèi)編譯類(lèi)文件的方法可以使用。
一種方法就是在CLASSPATH里設(shè)置好指向包含有你的servlet文件的目錄,這樣就可以在該目錄下正常編譯。舉個(gè)例子,如果你在Windows下的servlet的目錄是C:\JavaWebServer\servlets,包名(即子目錄)是hall, 那么在dos窗口設(shè)置如下:
DOS> set CLASSPATH=C:\JavaWebServer\servlets;%CLASSPATH%
DOS> cd C:\JavaWebServer\servlets\hall
DOS> javac YourServlet.java
第一步、設(shè)置路徑。最好一步到位,免得以后每次都要重新打開(kāi)一個(gè)dos窗口。Windows 95/98系統(tǒng)下在autoexec.bat文件里加入"set CLASSPATH=..."表達(dá)式,將CLASSPATH指向servlet.jar和jsp.jar。在NT下,開(kāi)始菜單-設(shè)置-控制面板,選擇“系統(tǒng)”,選擇“環(huán)境”,然后輸入變量名和變量值。注意如果你的包名是 name1.name2.name3的格式,還應(yīng)該設(shè)置CLASSPATH指向包的頂層(即name1)。
第二種方法是轉(zhuǎn)到包的上層目錄,然后執(zhí)行"javac directory\YourServlet.java" (注意Windows下是反斜桿)或者unix下"javac directory/YourServlet.java" (注意Unix下是正斜桿)。再舉個(gè)例子,比如你在windows下的servlet目錄是C:\JavaWebServer\servlets,包名也就是子目錄名是hall,那么執(zhí)行下列操作:
DOS> cd C:\JavaWebServer\servlets
DOS> javac hall\YourServlet.java
注意Windows下,大部分JDK 1.1版本的javac都要求反斜桿,后來(lái)在JDK 1.2里得到了修正,但是由于很多web服務(wù)器是根據(jù)JDK1.1來(lái)配的,所以為了方便起見(jiàn)許多servlet作者還是堅(jiān)持反斜桿。
javac的-d選項(xiàng)可以用來(lái)指定將.class文件和源碼文件放在不同的地方。
2.3 運(yùn)行Servlet servlet
一般是放在JWS安裝目錄下的servlets目錄下,并通過(guò)
http://host/servlet/ServletNamehttp://www.changfenwang.com