在 Sun 正式發布 JSP(JavaServer Pages) 之後,這種新的 Web 應用程式開發技術很快引起了人們的關注。 JSP 為建立高度動態 Web 應用程式提供了一個獨特的開發環境。按照 Sun 的說法, JSP 能夠適應市場上包括 Apache WebServer 、 IIS4.0 在內的 85% 的伺服器產品。即使您對 ASP “一往情深”,我們認為,關注 JSP 的發展仍舊很有必要。
㈠ JSP 與 ASP 的簡單比較
JSP 與 Microsoft 的 ASP 技術非常相似。兩者都提供在 HTML 程式碼中混合某種程式碼、由語言引擎解釋執行程式代碼的能力。在 ASP 或 JSP 環境下, HTML 程式碼主要負責描述資訊的顯示樣式,而程式碼則用來描述處理邏輯。普通的 HTML 頁面只依賴於 Web 服務器,而 ASP 和 JSP 頁面需要附加的語言引擎分析和執行程式代碼。程式碼的執行結果被重新嵌入到 HTML 程式碼中,然後一起發送給瀏覽器。 ASP 和 JSP 都是面向 Web 服務器的技術,用戶端瀏覽器不需要任何附加的軟體支援。
ASP 的程式設計語言是 VBScript 之類的指令碼語言, JSP 使用的是 Java ,這是兩者最明顯的區別。此外, ASP 與 JSP 還有一個更為本質的區別:兩種語言引擎用完全不同的方式處理頁面中嵌入的程式碼。在 ASP 下, VBScript 代碼被 ASP 引擎解釋執行;在 JSP 下,代碼被編譯成 Servlet 並由 JAVA 虛擬機器執行,這種編譯操作僅在對 JSP 頁面的第一次請求時發生。
㈡運行環境
Sun 公司的 JSP 首頁在 http://www.javasoft.com/products/jsp/index.html ,從這裡還可以下載 JSP 規範,這些規範定義了供應商在建立 JSP 引擎時所必須遵從的一些規則。
執行 JSP 代碼需要在伺服器上安裝 JSP 引擎。此處我們使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。為便於學習,這個軟體包提供了大量可供修改的樣本。安裝 JSWDK 之後,只需執行 startserver 命令即可啟動伺服器。在預設配置下伺服器在連接埠 8080 監聽,使用 http://localhost:8080 即可開啟預設頁面。
在運行 JSP 樣本頁面之前,請注意一下安裝 JSWDK 的目錄,特別是“ work ”子目錄下的內容。執行樣本頁面時,可以在這裡看到 JSP 頁面如何被轉換成 Java 源檔案,然後又被編譯成 class 檔案(即 Servlet )。 JSWDK 軟體包中的樣本頁面分為兩類,它們或者是 JSP 檔案,或者是包含一個表單的 HTML 檔案,這些表單均由 JSP 代碼處理。與 ASP 一樣, JSP 中的 Java 代碼均在伺服器端執行。因此,在瀏覽器中使用“查看源檔案”菜單是無法看到 JSP 原始碼的,只能看到結果 HTML 程式碼。所有樣本的原始碼均通過一個單獨的“ examples ”頁面提供。
㈢ JSP 頁面樣本
下面我們分析一個簡單的 JSP 頁面。您可以在 JSWDK 的 examples 目錄下建立另外一個目錄存放此檔案,檔案名稱字可以任意,但副檔名必須為 .jsp 。從下面的代碼清單中可以看到, JSP 頁面除了比普通 HTML 頁面多一些 Java 代碼外,兩者具有基本相同的結構。 Java 代碼是通過 < % 和 %> 符號加入到 HTML 程式碼中間的,它的主要功能是產生並顯示一個從 0 到 9 的字串。在這個字串的前面和後面都是一些通過 HTML 程式碼輸出的文本。