前言
相信大家都聽過 ASP ( ActiveServer Pages) 這個(gè)名詞吧。隨著網(wǎng)際網(wǎng)絡(luò)的快速興起,網(wǎng)絡(luò),已成為另一個(gè)重要的信息傳播媒介。以往以 HTML 所編輯而成的網(wǎng)頁( Homepages),只能靜態(tài)的呈現(xiàn)資料。現(xiàn)在新一代使用者所要求的網(wǎng)頁,必須能夠動(dòng)態(tài)的呈現(xiàn)網(wǎng)頁、與使用者產(chǎn)生互動(dòng)、甚而可以完成數(shù)據(jù)處理的網(wǎng)頁。 因此許多新的標(biāo)準(zhǔn)應(yīng)運(yùn)而生, JSP 便是其中一例。除了具有與 ASP 相當(dāng)?shù)墓δ苤猓瑫r(shí)還有許多 ASP 所無法比擬的優(yōu)點(diǎn)。以下將對 JSP 及 DBMaker 所提供的 JSP 應(yīng)用程序范例做更進(jìn)一步詳細(xì)的說明。
有關(guān) JSP 的相關(guān)訊息,您也可以連結(jié)至 Java 網(wǎng)站參考。
什么是 JSP
JavaServer Pages (JSP),是由 Sun Microsystem 公司所發(fā)展出來一種新的規(guī)格標(biāo)準(zhǔn)。隨著網(wǎng)際網(wǎng)絡(luò)的快速發(fā)展,附加在網(wǎng)際網(wǎng)絡(luò)上的功能越來越多樣化,網(wǎng)頁的設(shè)計(jì),也已從最初單純靜態(tài)的呈現(xiàn)數(shù)據(jù)、簡單的數(shù)據(jù)處理,進(jìn)展到可以與使用者互動(dòng),也可以加入各種對象使之更富有變化;更進(jìn)一步的,是將原本在使用者端執(zhí)行的網(wǎng)頁,提升至服務(wù)器端來執(zhí)行程序,大大的提升執(zhí)行效率,也增加了網(wǎng)頁處理繁復(fù)資料的能力。
JSP 是使用 XML – like 卷標(biāo)和 Scriptlet 將 Java 程序包裹在卷標(biāo) ( tag ) 中,執(zhí)行.JSP 程序時(shí),程序部分由服務(wù)器端處理,而使用者端只需作 HTML 的處理,提供了網(wǎng)頁設(shè)計(jì)者一個(gè)更簡捷、更快速的方法,以動(dòng)態(tài)產(chǎn)生的方式來設(shè)計(jì)、維護(hù)一個(gè)網(wǎng)頁。
JSP 既然是 Java 家族的一員,自然也承襲了 Java 一直以來所強(qiáng)調(diào)的優(yōu)點(diǎn),那就是跨平臺的設(shè)計(jì), JSP 并不限定在特定的作業(yè)平臺或網(wǎng)絡(luò)服務(wù)器上才能執(zhí)行 (請參考 "安裝說明" 一節(jié)的說明 ),因此,給予網(wǎng)頁設(shè)計(jì)者更大的發(fā)揮空間。
JavaServer Pages 包括下列的優(yōu)點(diǎn):
可在 Apache、Netscape、IIS 等服務(wù)器上執(zhí)行。
支持的作業(yè)平臺有 Solaris、Windows、Mac、Linux 等。
JSP 允許程序設(shè)計(jì)師使用 Java 語言來撰寫程序,給予程序設(shè)計(jì)人員較多的選擇。
第一次執(zhí)行 .jsp 程序時(shí)即執(zhí)行 Compile,不需要每次執(zhí)行 .jsp 程序時(shí)都 Compile 一次。
可以與任何 ODBC、JDBC 兼容的數(shù)據(jù)庫整合。
JSP 范例程序重點(diǎn)功能
此次新增在 DBMaker for Linux 版本中的 JSP 應(yīng)用程序,最主要的目的是讓使用者了解如何透過 DBMaker 提供的 JDBC – ODBC Bridge 接口開發(fā)網(wǎng)絡(luò)伺服端應(yīng)用程序。
以下的文章中,將針對下列兩個(gè)主題來做說明:
JSP 基本卷標(biāo) ( tag )介紹
以 JSP 一些基本的卷標(biāo)作為示范,說明 JSP 的基本應(yīng)用。
使用JDBC 來存取數(shù)據(jù)庫中的資料
將一般常用于對數(shù)據(jù)庫的建立、新增、刪除、修改等功能,經(jīng)由 JSP 語法,透過 JDBC 來達(dá)成數(shù)據(jù)庫中資料的存取。
安裝說明
在執(zhí)行 JSP 應(yīng)用程序范例前,必須先執(zhí)行相關(guān)的安裝及設(shè)定。以下我們以使用
Red Hat Linux 6.0
JDK ( Java Develop Kit ) 1.2.2或 JDK 1.1.7
Apache Web Server
Allaire JRun 2.3.3 (注一)
為例,說明安裝的程序,您可以依照下列的程序來操作。
安裝 JRun。您可以參考 DBMaker 光盤上的 jsp-startup.html 檔案,那里有如何安裝 JRun 詳細(xì)的說明。
將 JRun 安裝完成后,我們先做 dmjdbc.zip 這個(gè)檔案的路徑設(shè)定。請從 JRun 所在的目錄中找到 jsm.properties 的檔案,將下列路徑加到 jsm.properties 檔案 java.classpath 設(shè)定中
<DBMaker>/3.5/samples/driver/JDBC/dmjdbc.zip
*<DBMaker>代表的是您 DBMaker 的安裝路徑
接下來您必須要確定在Java 程序執(zhí)行時(shí),能夠找到 libdmjdbc.so 這個(gè)檔案。有下列兩種方法可以達(dá)成:
修改 jsm.properties 檔案中 java.exe 的設(shè)定
我們提供了一個(gè) “dmjava” sample script,您可以在 jsm.properties 檔案中更改 java.exe 如下,以執(zhí)行這個(gè) sample script
java.exe = <DBMaker>/3.5/samples/JSP/dmjava
將 libdmjdbc.so 檔案放置在指定目錄下。
例如,假設(shè)您安裝的是 JDK1.2.2,libdmjdbc.so 檔案將放置在下列路徑下
<JDK1.2.2>/jre/lib/i386/libdmjdbc.so
請確定安裝完成的JRun 是否支持 Sun Microsystem 的 JSP1.0 spec.(注二)
復(fù)制 <DBMaker>/3.5/samples/JSP/ 路徑下所有檔案到您網(wǎng)頁服務(wù)器的 html目錄下
例如,假設(shè)您的帳號為 tony,則您需要在使用者根目錄下建立一個(gè) html 的目錄,將檔案復(fù)制到
$ ~tony/html/ 的目錄下
激活 Apache web server
激活 Jrun
將 DBMaker ‘DBSAMPLE’ 數(shù)據(jù)庫激活成為 client-server 的模式
激活瀏覽器,輸入范例的 URL 地址
例如,承上例,輸入
http:// <MACHINE URL>/~tony/StartUp.jsp
<MACHINE URL> 指的是您網(wǎng)頁服務(wù)器的 IP 地址
若您成功的開啟網(wǎng)頁,恭喜您,您已成功的完成安裝程序,接下來,就請您依照網(wǎng)頁上的指示,一步一步的操作范例程序。
范例展示
JSP 基本卷標(biāo)( tag )介紹
Format
Category
description
<!-- -- >
Comments
為程序或指令批注時(shí)用,兩者不同之處在于使用<!-- -- >所批注的文字在 HTML source 檔案中會(huì)顯示出來,而使用 <%-- -- >則不會(huì)。
<%-- -- >
<!-- 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 區(qū)別
<%
String name = null;
if (myResult.getValue( ) > 1)
%>
Format
Category
Description
<%! -- >
Declaration
宣告變量用。
<%! String name=”Alexander”; %>
Format
Category
Description
<%= %>
Expression
在此 tag 中所設(shè)定變量的值會(huì)轉(zhuǎn)換以字符串格式表示。需注意的是不能使用分號(;)
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
可以將一個(gè)檔案 include到 jsp檔案中使用,include的意思是說被 include檔案中的文字或程序會(huì)加入到 include file 檔案這個(gè)tag 所在的位置。可以使用的檔案包括 jsp檔案、HTML檔案以及純文本文件。要注意的是,include 進(jìn)來的檔案不能有<html></html>、<body></body>等 tags,才不會(huì)和原始 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
設(shè)定整個(gè) JSP page 的屬性。
<%@ page language=”java” %>
<%@ page import= “java.util.*,java.sql.* %>
接下來,我們來看一下這個(gè)應(yīng)用程序范例的操作畫面。
這個(gè)應(yīng)用程序是以一個(gè)動(dòng)物實(shí)驗(yàn)室為架構(gòu),紀(jì)錄動(dòng)物在這個(gè)實(shí)驗(yàn)室接受實(shí)驗(yàn)的情形,經(jīng)由這個(gè)程序,我們可以依照種類名( order)、名稱( name)、學(xué)名( scientific name)來查詢實(shí)驗(yàn)室中現(xiàn)有的動(dòng)物,也可以新增、修改或刪除動(dòng)物的資料。