當前位置:才華齋>計算機>java語言>

Java Servlet程式設計所需的軟體及環境配置

java語言 閱讀(1.22W)

本文介紹了Java Servlet程式設計所需的軟體及環境配置。只要你有一臺安裝Windows 95/98了的PC機,便可以按照本文的步驟開發Servlet程式了。本文同時給出了通過Java Servlet向用戶的硬碟寫入和讀取Cookie的方法及例程。通過它可以實現網上常見的個性化網頁、網上購物籃、密碼驗證等。

Java Servlet程式設計所需的軟體及環境配置

Java Servlet是運行於Web伺服器上的Java程式碼,它可以接受使用者請求,進行相應的處理,並向用戶提供反饋。其作用類似於CGI程式,可以實現網頁中很多互動式效果,但比CGI程式效率更高。Cookies是使用者訪問Web伺服器時由Web伺服器寫入使用者計算機特定目錄的一小段資訊, Java Servlet中提供了Cookie類,可以對Cookie進行操作。在特定時候將Cookie寫入使用者計算機,在需要時可再取出來使用。

 1.軟體下載

PC機,安裝Windows 95/98,具有IP地址(如果沒有可以隨便配一個)。開發軟體有兩個:JDK1.3和JSWDK1.0.1。

到,點選"Products & APIs”連結,可以點選下載"JavaTM 2 SDK, Standard Edition, v 1.3”。下載後的檔案安裝到你的計算機上。

JSWDK1.0.1只有763,414 bytes,可從在下載。下載下來的jswdk1_0_用Winzip軟體解壓縮至某個目錄,如:d:app,該目錄下將自動建立一個子目錄:jswdk-1.0.1。這時JSWDK 1.0.1便已經安裝在d:appjswdk-1.0.1目錄下了。

 2.啟動JSWDK 1.0.1

開啟一個DOS視窗,如下圖點選視窗左上角DOS圖示,選擇屬性選單,在接著出現的視窗中點選"記憶體”,在"初始環境”後的下拉選單中將"自動”改為2816,點選"exit”按鈕退出視窗,再重新進入DOS視窗。該設定只需要做一次。

在該DOS視窗中執行如下DOS命令設定好環境變數:

set CLASSPATH=c:jdk1.3bin;.

set path=c:jdk1.3bin;c:windows;c:windowscommand

如果你的JDK 1.3和Windows作業系統安裝在其他目錄,DOS命令中的目錄名稱應作相應修改。

然後在該DOS視窗中用CD命令進入JSWDK 1.0.1安裝目錄(如d:appjswdk-1.0.1)執行即可。

注意:

對於JDK1.3,即本文所述的環境,需修改,將原始檔中的

start java tup %1 %2 %3 %4 %5 %6 %7 %8 %9

rem java tup %1 %2 %3 %4 %5 %6 %7 %8 %9

改為:

rem start java tup %1 %2 %3 %4 %5 %6 %7 %8 %9

java tup %1 %2 %3 %4 %5 %6 %7 %8 %9

若使用的是老版本的JDK1.2,不需要修改,執行後會出現另一個DOS視窗。

執行後顯示一串字串,最後顯示endpoint created: localhost/。表明正常啟動完畢。但它不支援資料庫中文欄位和中文值的查詢。

開啟一個瀏覽器,輸入:http://你的機器IP地址:8080,這時瀏覽器中顯示出預設的頁面,在該頁面中可檢視Servlet例子。

Java Servlet中提供了Cookie類,其構造器有兩個引數,分別代表Cookie的'名字和值。Cookie類中提供了各種方法設定Cookie的屬性,如通過setMaxAge( )方法可以設定Cookie的生存時間。若生存時間為負值,代表瀏覽器關閉Cookie即消失。生存時間為0,代表刪除Cookie,生存時間為正數,代表Cookie存在多少秒。

同時Servlet中的HttpServletResponse類提供了addCookie()方法可以將建立好的Cookie寫入使用者計算機。

如下面的程式碼可向使用者的計算機寫入兩個Cookie,一個名稱為my1,值為hi1,另一個名稱為my2,值為hi2

import let.*;

import .*;

import .*;

public class xx extends HttpServlet

{

public void service(HttpServletRequest rq, HttpServletResponse rp)

throws ServletException,IOException

{ Cookie c;

c=new Cookie("my1","hi1");

axAge(100*60);

ookie(c);

c=new Cookie("my2","hi2");

axAge(-1);

ookie(c);

}

}

該程式中,使用Cookie c=new Cookie("my1","hi1");建立了一個Cookie,它實際上是兩個配對的字串。第一個字串代表Cookie的名字,第二個字串代表Cookie的值。然後使用ookie(c);將其寫入使用者的計算機中。Cookie my1生存時間為100*60秒即100分鐘,而my2則在關閉瀏覽器時自動消失。

在前面的DOS視窗中輸入命令:

set path=c:jdk1.3bin;c:windows;c:windowscommand

set CLASSPATH=c:jdk1.3bin;d:

以設定好環境變數。

javac 編譯Java程式

copy *s D:appjswdk-1.0.1examplesWEB-INFservlets

將編譯後的程式拷貝到Java Servlet執行目錄。

* 若使用老版本的JDK1.2,為了執行該Java Servlet程式,還需要修改一個檔案:

D:erties

用文字編輯器開啟該檔案,在其最後加上幾行:

=xx

params=foo

在瀏覽器中輸入http://機器的IP地址:8080/examples/servlet/xx 便可以向用戶的計算機寫入Cookie了。

通過HttpServletRequest類的getCookies( )方法可以從相應使用者讀取Cookie列表,放在Cookie型別的陣列中。通過陣列中各個Cookie的getName()和getValue()方法可以獲取各個Cookie的名稱和值。

下面的例子可以打印出由Servlet所在伺服器寫入使用者機器上的Cookie名稱和值的列表。若有名稱為my1的Cookie,則將其值加上一個字元x。它類似一個計數器,可以簡單地統計在Cookie生存期間該使用者的訪問辭書。

import let.*;

import .*;

import .*;

public class yy extends HttpServlet

{ Cookie x[];

public void service(HttpServletRequest rq, HttpServletResponse rp)

throws ServletException,IOException

{ int have=0;

Cookie c;