JSP 應用範例

撰文整理 / DBMaker Team

前言

相信大家都聽過 ASP ( ActiveServer Pages) 這個名詞吧。隨著網際網路的快速興起,網路,已成為另一個重要的資訊傳播媒介。以往以 HTML 所編輯而成的網頁( Homepages),只能靜態的呈現資料。現在新一代使用者所要求的網頁,必須能夠動態的呈現網頁、與使用者產生互動、甚而可以完成資料處理的網頁。 因此許多新的標準應運而生, JSP 便是其中一例。除了具有與 ASP 相當的功能之外,同時還有許多 ASP 所無法比擬的優點。以下將對 JSP 及 DBMaker 所提供的 JSP 應用程式範例做更進一步詳細的說明。

有關 JSP 的相關訊息,您也可以連結至 Java 網站參考。

什麼是 JSP

JavaServer Pages (JSP),是由 Sun Microsystem 公司所發展出來一種新的規格標準。隨著網際網路的快速發展,附加在網際網路上的功能越來越多樣化,網頁的設計,也已從最初單純靜態的呈現資料、簡單的資料處理,進展到可以與使用者互動,也可以加入各種物件使之更富有變化;更進一步的,是將原本在使用者端執行的網頁,提昇至伺服器端來執行程式,大大的提昇執行效率,也增加了網頁處理繁複資料的能力。

JSP 是使用 XML – like 標籤和 Scriptlet 將 Java 程式包裹在標籤 ( tag ) 中,執行.JSP 程式時,程式部分由伺服器端處理,而使用者端只需作 HTML 的處理,提供了網頁設計者一個更簡捷、更快速的方法,以動態產生的方式來設計、維護一個網頁。

JSP 既然是 Java 家族的一員,自然也承襲了 Java 一直以來所強調的優點,那就是跨平台的設計, JSP 並不限定在特定的作業平台或網路伺服器上才能執行 (請參考 "安裝說明" 一節的說明 ),因此,給予網頁設計者更大的發揮空間。

JavaServer Pages 包括下列的優點:

  • 可在 Apache、Netscape、IIS 等伺服器上執行。

  • 支援的作業平台有 Solaris、Windows、Mac、Linux 等。

  • JSP 允許程式設計師使用 Java 語言來撰寫程式,給予程式設計人員較多的選擇。

  • 第一次執行 .jsp 程式時即執行 Compile,不需要每次執行 .jsp 程式時都 Compile 一次。

  • 可以與任何 ODBC、JDBC 相容的資料庫整合。

JSP 範例程式重點功能

此次新增在 DBMaker for Linux 版本中的 JSP 應用程式,最主要的目的是讓使用者瞭解如何透過 DBMaker 提供的 JDBC – ODBC Bridge 介面開發網路伺服端應用程式。

以下的文章中,將針對下列兩個主題來做說明:

  1. JSP 基本標籤 ( tag )介紹
  2. 以 JSP 一些基本的標籤作為示範,說明 JSP 的基本應用。

  3. 使用JDBC 來存取資料庫中的資料
  4. 將一般常用於對資料庫的建立、新增、刪除、修改等功能,經由 JSP 語法,透過 JDBC 來達成資料庫中資料的存取。

安裝說明

在執行 JSP 應用程式範例前,必須先執行相關的安裝及設定。以下我們以使用

  • Red Hat Linux 6.0

  • JDK ( Java Develop Kit ) 1.2.2或 JDK 1.1.7

  • Apache Web Server

  • Allaire JRun 2.3.3 (註一)

為例,說明安裝的程序,您可以依照下列的程序來操作。

  1. 安裝 JRun。您可以參考 DBMaker 光碟上的 jsp-startup.html 檔案,那裡有如何安裝 JRun 詳細的說明。

  2. 將 JRun 安裝完成後,我們先做 dmjdbc.zip 這個檔案的路徑設定。請從 JRun 所在的目錄中找到 jsm.properties 的檔案,將下列路徑加到 jsm.properties 檔案 java.classpath 設定中

  3. <DBMaker>/3.5/samples/driver/JDBC/dmjdbc.zip

    *<DBMaker>代表的是您 DBMaker 的安裝路徑

  4. 接下來您必須要確定在Java 程式執行時,能夠找到 libdmjdbc.so 這個檔案。有下列兩種方法可以達成:

    1. 修改 jsm.properties 檔案中 java.exe 的設定

    2. 我們提供了一個 “dmjava” sample script,您可以在 jsm.properties 檔案中更改 java.exe 如下,以執行這個 sample script

      java.exe = <DBMaker>/3.5/samples/JSP/dmjava

    3. 將 libdmjdbc.so 檔案放置在指定目錄下。

    4. 例如,假設您安裝的是 JDK1.2.2,libdmjdbc.so 檔案將放置在下列路徑下

      <JDK1.2.2>/jre/lib/i386/libdmjdbc.so

  5. 請確定安裝完成的JRun 是否支援 Sun Microsystem 的 JSP1.0 spec.(註二)

  6. 複製 <DBMaker>/3.5/samples/JSP/ 路徑下所有檔案到您網頁伺服器的 html目錄下

  7. 例如,假設您的帳號為 tony,則您需要在使用者根目錄下建立一個 html 的目錄,將檔案複製到

     $ ~tony/html/ 的目錄下
  8. 啟動 Apache web server

  9. 啟動 Jrun

  10. 將 DBMaker ‘DBSAMPLE’ 資料庫啟動成為 client-server 的模式

  11. 啟動瀏覽器,輸入範例的 URL 位址

  12. 例如,承上例,輸入

    http:// <MACHINE URL>/~tony/StartUp.jsp

    <MACHINE URL> 指的是您網頁伺服器的 IP 位址

若您成功的開啟網頁,恭喜您,您已成功的完成安裝程序,接下來,就請您依照網頁上的指示,一步一步的操作範例程式。

範例展示

JSP 基本標籤( tag )介紹

    Format

    Category

    description

    <!--   -- >

    Comments

    為程式或指令註解時用,兩者不同之處在於使用<!--  -- >所註解的文字在 HTML source 檔案中會顯示出來,而使用 <%--  -- >則不會。

    <%--  -- >

    <!-- This is my first JSP program --> # This comment will appear in HTML source
    <%-- Function for connect to database -- ># This comment won’t appear in HTML

    Format

    Category

    description

    <%  %>

    Scriplet

    將 Java 程式 包裹在此 tag 中,用以和 HTML tag 區別

    <%
    String name = null;
    if (myResult.getValue( ) > 1)
    %>

    Format

    Category

    Description

    <%!  -- >

    Declaration

    宣告變數用。

    <%! String name=”Alexander”; %>

    Format

    Category

    Description

    <%=  %>

    Expression

    在此 tag 中所設定變數的值會轉換以字串格式表示。需注意的是不能使用分號(;)

    This is <%=name%>’s first JSP page.

    Display in the page:

    This is Alexander’s first JSP page

    Format

    Category

    Description

    <%@ include file =%>

    Include Directive

    可以將一個檔案 include到 jsp檔案中使用,include的意思是說被 include檔案中的文字或程式會加入到 include file 檔案這個tag 所在的位置。可以使用的檔案包括 jsp檔案、HTML檔案以及純文字檔案。要注意的是,include 進來的檔案不能有<html></html>、<body></body>等 tags,才不會和原始 JSP檔案的 tag 相衝突。

    <HTML>
    <HEAD><TITLE>Include file example</TITLE></HEAD>
    
    <BODY >
    
    <P>
    The current date and time are
    <%@ include file="time.jsp" %>
    
    </P>
    </BODY>
    
    </HTML>
    time.jsp :
    <%@ page import="java.util.*" %>
    <%= (new java.util.Date() ).toLocaleString() %>
    The result displays in the page as following :
    The current date and time are
    Dec 25, 1999 23:59:59

    Format

    Category

    Description

    <%@ page %>

    Page Directive

    設定整個 JSP page 的屬性。

    <%@ page language=”java” %>
    <%@ page import= “java.util.*,java.sql.* %>

接下來,我們來看一下這個應用程式範例的操作畫面。

這個應用程式是以一個動物實驗室為架構,紀錄動物在這個實驗室接受實驗的情形,經由這個程式,我們可以依照種類名( order)、名稱( name)、學名( scientific name)來查詢實驗室中現有的動物,也可以新增、修改或刪除動物的資料。

歡迎畫面

查詢所有實驗室中動物資料

查詢結果如下

新增一筆資料

我們以新增一筆無尾熊的資料為例,依序輸入其種類名、名稱、學名及其觀察的時間

查詢新增的資料

除了前面提到可以不使用條件查詢之外,我們也可以依照我們已知的條件來做查詢。接著就以新增的無尾熊資料為例,任意輸入一項我們已知的條件來查詢

查詢結果如下

修改資料

說明:本應用範例以設定值來修改資料,並無提供可選擇資料的功能畫面,有興趣的讀者可自行參考原始檔案來作修改。

刪除資料

說明:本應用範例以設定值來修改資料,並無提供可選擇資料的功能畫面,有興趣的讀者可自行參考原始檔案來作修改。

Endsession

參考資料

有關本應用程式範例的詳細說明,請參考產品光碟上 JSP 的 README.txt 檔案。

有關 JSP 的詳細資料,可以連結至 Java 的網站。

 

 

(註一)以目前 Apache 和 JRun 的組合,對於 JSP 而言,在使用的設定上的確是較困難且不簡便。因此, Sun Microsystem 公司和 Apache 目前正進行一項計劃,該計劃將使得 Apache 可以直接支援 JSP,而不用再藉助其他軟體的支援。屆時,使用上就會大大的方便了喔! 按下它,您可以得到更多的相關訊息。

(註二) Allaire JRun 2.3.3 的預設值為支援 JSP 0.92 的版本,因此您必須以手動方式更改設定,相關的設定請參考 DBMaker 所提供的 DBMaker Starting Guide 中 jsp-startup.html 檔案的說明。

[ Back ]

Linux Home Page Go To DBMaker Home Page