?? 0002.htm
字號:
<html>
<head>
<title>新時代軟件教程:操作系統 主頁制作 服務器 設計軟件 網絡技術 編程語言 文字編輯</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋體}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1 {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
<p align="center"><big><strong>用JSP構建動態網站</strong></big></p>
<div align="right">(文/孫以義 杜鵑)</div>
<br>
一、 什么是JSP JSP(JavaServer Pages)是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準,其網址為http://www.javasoft.com/products/jsp。 在傳統的網頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標記(tag),就構成了JSP網頁(*.jsp)。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序片段,然后將執行結果以HTML格式返回給客戶。程序片段可以操作數據庫、重新定向網頁以及發送 email 等等,這就是建立動態網站所需要的功能。所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果,對客戶瀏覽器的要求最低,可以實現無Plugin,無ActiveX,無Java Applet,甚至無Frame。 本文將介紹利用JSP技術開發動態網頁的方法,還將簡要分析JSP技術和 Microsoft 公司的 ASP 技術的不同之處。 <br>
二、 如何安裝和啟動 為了實驗JSP技術,首先需要建立運行環境,這個過程相當簡單:<br>
1、在 http://java.sun.com/jdk/處下載JDK(Java 2 SDK、Standard Edition、v 1.2.2)。 <br>
2、在http://java.sun.com/products/jsp/處下載JSWDK(JavaServer Web Development Kit 1.0.1)。Linux用戶可以在ttp://jakarta.apache.org/處下載Tomcat 3.0。 <br>
3、安裝 以Windows NT環境為例,JDK的安裝是首先運行下載得到的jdk1_2_2-win.exe,然后修改系統環境參數,在PATH參數中加入[x:]\jdk1.2.2\bin以及增加新的環境參數 CLASSPATH=[x:]\jdk1.2.2\lib\tools.jar,其中[x:]是安裝JDK的硬盤符(c:、d: 等)。 JSWDK的安裝僅需將jswdk1_0_1-win.zip帶目錄釋放到硬盤根目錄下(c:\、d:\ 等),然后就可以在硬盤上找到\jswdk-1.0.1\目錄。將來如果不想保留JSWDK,刪除這個目錄就可以了,沒有任何系統文件和注冊表遺留問題。更詳細的安裝過程以及Solaris/Unix和Linux下JDK、Tomcat的安裝可以參考下載得到的文件包中的安裝說明。 <br>
4、啟動 以Windows NT環境為例,在\jswdk-1.0.1\目錄下執行startserver.bat,就可啟動JSWDK中一個支持JSP網頁技術的Web服務器。為了不與現有的Web服務器(例如IIS、PWS等)沖突,JSWDK的Web服務器使用了8080端口。 在瀏覽器的地址欄中鍵入http://localhost:8080或者http://127.0.0.1:8080后,如果能看到 JSWDK 的歡迎頁就說明JSP實驗環境已經建成,可進入下一步實驗。 要關閉Web服務器則運行stopserver.bat。<br>
三、 JSP簡單示例 JSWDK中包含的Web服務器的文檔目錄在缺省狀態下為\jswdk-1.0.1\webpages,主文檔在缺省狀態下為index.html和index.jsp。也就是說訪問http://localhost:8080等于訪問\jswdk-1.0.1\webpages\index.html。 用文本編輯器,如Windows中的記事本(Notepad),創建一個文本文件hi.jsp,保存在\jswdk-1.0.1\webpages\目錄下,其內容如下: <br>
<html><br>
<head><br>
<title>Hi-JSP實驗</title><br>
</head><br>
<body> <br>
<%<br>
String Msg = "This JSP test."; <br>
out.print("Hello World!");<br>
%><br>
<h2><%=Msg%></h2><br>
</body><br>
</html> <br>
<br>
在瀏覽器的地址欄中鍵入http://localhost:8080/hi.jsp,JSWDK中的Web服務器會執行JSP 文件中用<%以及%>括起來的Java程序語句,其中out.print是將文字輸出到網頁,語句<%= 變量 | 表達式 %>的作用是將Java Scriptlet中變量或表達式的值輸出到網頁,執行結果如圖1。 圖1 將變量Msg賦值為中文字符串,用<%= %>輸出,或者用out.print輸出中文字符串,則在英文版NT4及Redhat 6.1下實驗運行結果正常,而在中文NT 4.0和中文98下,則反而會出現亂碼。<br>
四、 統一的網站界面 JSP支持服務器端的文件包含,即可以在一個JSP文件中插入多個其他文件,用來實現統一的網站界面。修改上述hi.jsp并另存為mypage.jsp:<br>
<%@ include file="top.htm" %><br>
<%<br>
String Msg = "This JSP test.";<br>
out.print("Hello World!");<br>
%><br>
<h2><%=Msg%></h2><br>
<%@ include file="bot.htm" %><br>
<br>
用可視化HTML編輯器,例如FrontPage、Dreamweave等設計網站的框架結構,將設計好的框架結構文件分割成兩個部分,上面一半保存為top.htm, 下面一半保存為bot.htm,代碼如下面所示:<br>
<html><br>
<head><br>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br>
<title>我的主頁</title><br>
</head><br>
<body><br>
<table border="0" width="100%" cellpadding="4" cellspacing="0" align="center"><br>
<tr><br>
<td width="100%" colspan="2" bgcolor="#837ED1" align="center"><font face="隸書"<br>
color="#FFFF00" size=5>主頁標題</font><br>
</td><br>
</tr><br>
<tr><br>
<td bgcolor="#837ED1" width="15%" valign="top" align="center"><br><br>
<font color="#FFFFFF">選項</font><p><font color="#FFFFFF">選項</font></p><br>
<p><font color="#FFFFFF">選項</font></p><br>
<p><font color="#FFFFFF">......</font></p><br>
<p> </p><br>
</td><br>
<td width="85%" valign="top"><br>
----------------------------------------------------------------------------------------------------------------<br>
</td><br>
</tr><br>
</table><br>
</body><br>
</html><br>
<br>
在瀏覽器的地址欄中鍵入http://localhost:8080/mypage.jsp,得到結果如圖2。 圖2 這樣網站的界面就能統一起來,而設計者可以集中精力在功能模塊上處理用戶登錄、連接數據庫、發送email等等。每個JSP文件都有如下結構: <br>
<br>
<br>
<%@ include file="top.htm" %><br>
<%<br>
// 實現某些功能<br>
%><br>
<%@ include file="bot.htm" %><br>
<br>
維護網站的界面也相對比較容易,只要修改top.htm和bot.htm,就能影響到所有網頁。<br>
<br>
五、 服務器參數設置<br>
JSWDK的Web服務器參數保存在\jswdk-1.0.1\webserver.xml中,用Windows寫字板打開并編輯這個文件就可以修改缺省設置值。本節內容主要針對JSWDK,Linux下Tomcat的設置方法略有不同。<br>
JSWDK缺省的文檔目錄是\jswdk-1.0.1\webpages,在此目錄下可以建立子目錄,例如\jswdk-1.0.1\webpages\test,就能在瀏覽器中用http://localhost/test訪問這個目錄,為了使得這個子目錄能執行JSP程序,還必須在webserver.xml中的<Service></Service>節加入:<br>
<WebApplication id="test" mapping="/test" docBase="webpages/test" /><br>
并且,還必須建立\jswdk-1.0.1\webpages\test\WEB-INF目錄,并從\jswdk-1.0.1\webpages\WEB-INF目錄中復制過來以下四個文件:mappings.properties、mime.properties、servlets.properties以及webapp.properties。完成這些過程,才能通知JSWDK的Web服務器執行http://localhost/test 中的JSP程序。<br>
<br>
六、 JavaBean<br>
JSP網頁吸引人的地方之一就是能結合JavaBean技術來擴充網頁中程序的功能。<br>
JavaBean是一種Java類 (class),通過封裝屬性和方法成為具有某種功能或者處理某個業務的對象。JavaBean被組織成為package(數據包)以便進行管理,實際上就是把一組JavaBean一起放在某某目錄中,每個類的定義前加上package某某,本例中為test。目錄test必須放在系統環境CLASSPATH包含的目錄下,系統才能找到其中的JavaBean。JSWDK在缺省狀態下將\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\ 加入CLASSPATH。建立自己的JavaBean和package時,就放在這個目錄中也不失為一種簡易的方法。<br>
下面介紹一個簡單的JavaBean框架。用文本編輯器創建一個文本文件helloWorld.java,并保存在\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\test目錄下,其內容如下:<br>
package test;<br>
public class helloWorld {<br>
public String name = "My first bean"; <br>
public String getHi()<br>
{<br>
return "Hello from " + name;<br>
} <br>
}<br>
<br>
helloWorld.java編輯好后,在DOS狀態下,進入目錄\jswdk-1.0.1\webpages\WEB-INF\jsp\beans\,用JDK的javac命令編譯helloWorld.java如下:<br>
<br>
javac helloWorld.java<br>
<br>
注意,Java是區分大小寫的,在程序中,編譯命令行中字母的大小寫都不能寫錯。<br>
編譯成功就表示建立了一個JavaBean。下面看如何在JSP中使用這個JavaBean。用文本編輯器創建一個文本文件hi-bean.jsp,并保存在\jswdk-1.0.1\webpages\test目錄下,其內容如下:<br>
<br>
<html><br>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -