JavaServer Pages (JSP)是基于Java的技術,用于創建可支持跨平臺及跨Web服務器的動態網頁。 JSP可與微軟的Active Server Pages (ASP)相媲美,但JSP使用的是類似于HTML的標記和Java 代碼片段而不是用VBScript。當你使用不提供ASP本地支持的Web服務器(例如 Apache或Netscape服務器)時,你就可以考慮使用JSP了。你雖然也可以為這些服務器弄一個ASP附加軟件模塊,但是太昂貴了。現在Sun公司并不會因你使用JSP向你收費(雖然將來可能要收),況且用于Solaris、 Linux以及Windows系統的組件都很容易獲得。 不要把JSP與服務器端的JavaScript語言搞混了。Web服務器自動將通過JSP生成的Java代碼片段轉換成Java 片段(servlets)。 JSP也可自動控制許多功能,如過去用Perl腳本編寫功能程序或像ASP這樣的服務器專用API(應用編程接口)。 我們馬上就要開始幫助你建立一個使用JSP 技術的網站范例了。 準備好計算機以使用JSP 你需要Java2軟件開發工具箱(J2SDK),過去稱之為Java開發工具箱(JDK)、JavaServer 網絡開發工具箱(JSWDK)、Tomcat,或者其它能支持JSP的Web服務器。系統為Windows、Solaris以及 Linux平臺提供J2SDK和JSWDK。 如果你想在現有的Web服務器上使用JSP,而此服務器本身不支持JSP和Java 代碼片段,可以試用Allaire公司的Jrun。它可以為Netscape的Enterprise Server和Fasttrack Server、微軟的Internet Information Server(IIS)和Personal Web Server(PWS)、Apache以及其他服務器充當Web服務器附件。你也可以使用Apache服務器的Java版,其中包含最新的JSWDK。 下載并安裝所需的軟件 目前,版本號為1.2.2-001的J2SDK可下載版以可安裝的歸檔文件形式出現。這個大約20MB的下載量軟件可提供一個徹底的Java開發環境,讓你創造任何基于Java并且利用了而標準核心API的解決方案。其實,你的Web服務器使用JSP的唯一條件是要有Java編輯器。要讓Web服務器知道編輯器的位置,需要JAVA_HOME 環境變量設置為J2SDK安裝目錄。如果你已經在Windows系統中進行了安裝并且接受了默認目錄, 請將“set JAVA_HOME=C:1.2.2”添加到你的“autoexec.bat”文件中,然后重新啟動。 安裝J2SDK后,下載并安裝JSWDK或者是Tomcat β版,即基于Java的Apache Web服務器的β版。你把JSWDK放在什么地方是無關緊要的,只要你以后能找到它就行。通常,將其放在頂層目錄中,這樣你在替換JSWDK或JSDK時無需刪除另一個軟件。安裝好這個文件后,準備工作已經就緒,你可以開始JSP開發工作了。 正確地安裝JSWDK后,請運行“startserver”腳本程序,以啟動Web服務器,使其按照默認情況監聽8080端口。你要在啟動服務器之后查看您是否已正確地安裝了此工具,請加載一個JSP樣本文件(http://locahost:8080/examples/jsp/)。如果你能成功地運行這些樣本文件,說明你已經正確地安裝了這個軟件。如果你在用來啟動服務器的控制臺窗口中看到報錯信息,你就需要做些修改。最經常發生的問題是沒有設置或不正確地設置了JAVA_HOME環境變量。要看到當前環境變量設置情況,要請在DOS提示符下鍵入“set”設置。 開始 在解釋 JSP語法前,創建一個快捷網頁,顯示目當前的日期和時間,并然后將之其保存為sample.jsp: <html> <head> <title>First Page</title> </head> <body> <H3>Today is: <%= new java.util.Date() %> </H3> </body> </html>. 把這個文件以及你所有的HTML 和 JSP 頁面放在JSWDK安裝目錄下的網頁目錄里。你可以從http://localhost:8080/sample.jsp加載此網頁。該網頁首次被訪問時,Web服務器會把JSP編譯成Java代碼片段,這樣你就能夠看到當前的日期和時間了。 你已經下載、安裝并配置好了開發環境,你可以開始學習JSP語法并創建自己的基于JSP的解決方案了。 JSP基本語法 講完安裝問題后,現在進入來討論JSP語法。一個投機取巧的辦法是下載語法卡片。如果你不熟悉Java編程,也許你想看一下Sun的指南 。然而網頁創建者并不需要進行太多的Java開發。除了一些方法調用,在你的JSP網頁里應盡可能少用Java代碼。 記住以上提示,我們首先來看一看JSP指令和腳本元素,之后我們會解釋JavaBeans和隱含對象。共有五種JSP指令和腳本元素。在JSP 1.0版中,大部分JSP被一個以“<%” 開頭和以“%>”結尾的的標記括在其中。在更新的JSP 1.1規范出臺后,就有了與XML兼容的版本。 JSP指令和腳本元素 Directives <%@ directive %> Declarations <%! declaration %> Expressions <%= expression %> Code Fragment/Scriptlet <% code fragment %> Comments <%-- comment --%> 指令 JSP指令是為JSP引擎而設計的。他們并不直接產生任何可見輸出,而只是告訴引擎如何處理其余JSP頁面。這些指令始終被括在 “<%@ ?%>”標記中。兩個最重要的指令是“pagePage”和“Include”。“Taglib”指令不在討論之列,但是在用JSP1.1創建自定義標記可以使用它。 幾乎在所有JSP頁面頂部都會看到“Page”指令。盡管不是必須的,但它可以讓你指定: 到何處查找起支持作用的Java類別: <%@ page import="java.util.Date" %>, 出現Java運行問題時,將網上沖浪者引向何處: <%@ page errorPage="errorPage.jsp" %>, 還有你是否需要管理用戶的會話級信息,這些信息可能來自多個網頁(在下面的JavaBeans一節將對此做進一步講)述: <%@ page session="true" %>. “Include”指令可以把你的內容分成更多可管理的元素,比如包括一個普通頁面頁眉或頁腳的元素。包含的網頁可以是一個固定的HTML 頁面或更多的JSP內容: <%@ include file="filename.jsp" %> 聲明 JSP聲明用來讓你定義頁面級變量,以保存信息或定義JSP頁面的其余部分可能需要的支持方法。如果你發現代碼太多,通常最好把它們寫成一個獨立的Java類別。聲明一般都在“<%! ?%>”標記中。一定要以分號(;)結束變量聲明,因為任何內容都必須是有效的Java語句: <%! int i=0; %>。 表達式 有了JSP表達式,表達式評估結果會被轉換成一個字符串,并且被直接包括在輸出頁面之內。JSP 表達式包含在“<%= ?%>” 標記中,沒有分號,除非在加引號的字符串部分使用分號。 <%= i %> <%= "Hello" %> . 代碼片段/腳本片段 代碼片段/腳本片段(Scriptlets) JSP代碼片段或腳本片段是嵌在“<% ?%>”標記中的。這種Java代碼在Web服務器響應請求時就會運行。在腳本片段周圍可能是原始的HTML或XML語句,在這些地方,代碼片段可以使你創建條件執行代碼,或要用到另外一段代碼的代碼。例如,以下的代碼組合使用表達式和代碼片段,顯示H1、H2、H3和H4標記中的字符串“Hello”。代碼片段并不局限于一行源代碼: <% for (int i=1; i<=4; i++) { %> <H<%=i%>>Hello</H<%=i%>> <% } %>. 注釋 最后一個主要的JSP元素是嵌入式注釋。盡管你始終可以在文件中加入HTML注釋,但用戶在查看頁面源代碼時會看到這些注釋。如果你不想讓用戶看到它,你就應該將其嵌入“<%-- ?--%>” 標記中: |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信