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