




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
JSP動態(tài)網(wǎng)頁制作技術(shù)
JavaServerPages(JSP)是一種結(jié)合了跨平臺與跨網(wǎng)站服務(wù)器機制,以Java為主的技術(shù)來產(chǎn)生動態(tài)網(wǎng)頁。JSP與微軟的ASP(ActiveServerPages)相容,但它是使用類似HTML的標簽以及Java代碼片段而不是VBScript。當你所使用的網(wǎng)站服務(wù)器沒有提供本地ASP支援,也確實是Apache或Netscape服務(wù)器時,你能夠考慮使用JSP。盡管你能夠取得這些服務(wù)器的ASP附加配備程序,但價格相當昂貴,而目前Sun并沒有對你所要的JSP組件收取費用(盡管Sun以后有可能會收費)。對於Solaris與Linux以及Windows,這些組件也都專門容易取得。
請不要將JSP與服務(wù)器端的JavaScript混為一談。網(wǎng)站服務(wù)器會自動將以JSP寫成的Java代碼片段轉(zhuǎn)換成Javaservlets。而許多先前必須以Perl手寫程式或服務(wù)器特定的API(如ASP)操縱的功能也都可透過JSP來自動化處理。
現(xiàn)在就讓我們開始動手關(guān)心你建立一個可執(zhí)行JSP范例網(wǎng)站。
一、如何安裝好你的機器來使用JSP
你將需要Java2軟件開發(fā)工具(JSDK),它原來的名稱是Java開發(fā)工具(JDK)以及JavaServer網(wǎng)站開發(fā)工具(JSWDK),Tomcat,或是其他支援JSP的網(wǎng)絡(luò)服務(wù)器。Sun免費提供JSDK與JSWDK來供Windows,Solaris,以及Linux平臺使用。
假如你想要在你目前的網(wǎng)絡(luò)服務(wù)器上使用JSP,但服務(wù)器本身并不支援JSP與Javaservlets,你能夠試試看Allaire的Jrun,它的作用就像是針對Netscape企業(yè)版與FastTrack服務(wù)器、微軟的網(wǎng)絡(luò)資訊服務(wù)器(IIS)與個人網(wǎng)絡(luò)服務(wù)器(PWS)、Apache、以及其他服務(wù)器的網(wǎng)絡(luò)服務(wù)器附加設(shè)備。你也能夠使用Apache網(wǎng)絡(luò)服務(wù)器的Java版本,最新的JSWDK里有提供。
1、下載與安裝你需要的組件
目前發(fā)表的1.2.2-001,JSDK可下載的版本是以可安裝的壓縮文檔形式。下載的文件大約是20MB,可提供完整的Java進展環(huán)境,讓你能建立利用標準API為核心的Java解決之道。然而,你的網(wǎng)絡(luò)服務(wù)器需要應(yīng)用到JSP的唯一一件事是Java編譯器。要讓網(wǎng)絡(luò)服務(wù)器明白編譯器的位置,將環(huán)境參數(shù)JAVA.HOME設(shè)到JSDK的安裝目錄。假如你是在Windows上安裝同時同意預(yù)設(shè)目錄,將這行代碼setJAVA.HOME=C:\1.2.2加到你的autoexec.bat文件同時重新開機。在安裝好JSDK之後,下載同時安裝JSWDK或beta版的Tomcat,以Java為主的Apache網(wǎng)絡(luò)服務(wù)器。安裝在哪里并不重要,重要的是你能夠找到它。一般而言,它會放在上層目錄,這種方式能夠讓你取代JSWDK或JSDK的網(wǎng)絡(luò)服務(wù)器,不需要移動其他的網(wǎng)絡(luò)服務(wù)器。在你安裝好那個文件之後,你就能夠預(yù)備使用JSP了。
在你正確的安裝JSWDK之後,執(zhí)行startserver指令來啟動網(wǎng)絡(luò)服務(wù)器,預(yù)設(shè)通訊口為8080。要看你在啟動服務(wù)器之後是否有正確的安裝工具,你能夠載入范例JSP文件中的任何一個(http://localhost:8080/examples/jsp/)。假如你能夠成功的執(zhí)行一個范例文件,你能夠明白你差不多正確的設(shè)定好軟件了。假如你在啟動服務(wù)器的操縱臺視窗看到錯誤訊息,那麼你需要解決那個問題。最常發(fā)生的問題是沒有設(shè)定(或者不正確設(shè)定)環(huán)境參數(shù)JAVA.HOME。要檢查目前的環(huán)境設(shè)定,在DOS模式下鍵入set。
2、開始解釋JSP語法之前,先建立一個顯示目前日期與時刻的快速網(wǎng)頁同時將它儲存成sample.jsp:
<html>
<head>
<title>FirstPage</title>
</head>
<body>
<H3>Todayis:
<%=newjava.util.Date()%>
</H3>
</body>
</html>.
將那個文件與你所有的HTML與JSP網(wǎng)頁放在你JSWDK安裝目錄下的網(wǎng)頁目錄里.你能夠在http://localhost:8080/sample.jsp下載此頁.當你第一次參觀那個網(wǎng)頁時,網(wǎng)站服務(wù)器會將JSP翻譯成Javaservlet代碼,那你就會看到目前的日期與時刻.
現(xiàn)在你差不多下載,安裝,同時架構(gòu)好環(huán)境,你差不多預(yù)備好要了解JSP語法與建立你自己的JSP為主的解決之道.
二、JSP語法的差不多原理
安裝之後,接下來我們要討論JSP的語法.假如要偷懶,你能夠下載語法卡,假如你不熟悉Java的程序設(shè)計,你可能會想要參考Sun的使用手冊;然而,網(wǎng)站建立者不應(yīng)該做太多的Java使用程序,除了幾個函數(shù)式之外,出現(xiàn)在你JSP網(wǎng)頁上的Java程序碼應(yīng)該將它減到最少。
記住這點之後,現(xiàn)在讓我們先來看看JSP的編譯器指引與指令元件,之後我們將解釋JavaBeans與內(nèi)部物件.JSP編譯器指引與指令元件有五種型態(tài).JSP1.0之後,大部分的JSP是包含在以<%作為開始%>作為結(jié)束的單一標簽里,新的JSP1.1規(guī)格差不多發(fā)表了,它同時也與XML相容。
1、JSP的編譯器指引與指令元件
編譯器指引<%@編譯器指引%>
預(yù)定義<%!預(yù)定義%>
運算式<%=運算式%>
程序碼片段/小型指令<%程序碼片段%>
注解<%--注解--%>
2、編譯器指引
JSP的編譯器指引是針對JSP引擎。它們并可不能直接產(chǎn)生任何看得見的輸出;相反的,它們是在告訴引擎如何處理其他的JSP網(wǎng)頁。它們永久包含在<%@?%>標簽里。兩個要緊的指引是page與include。我們可不能討論taglib編譯器指引但它能夠在JSP1.1里用來建立自訂標簽。
你幾乎能夠在你所有的JSP網(wǎng)頁最上面找到page編譯器指引。盡管這不是必須的,但它能夠讓你指定到那兒能夠找到支持的Java類不:<%@pageimport="java.util.Date"%>,當發(fā)生Java問題的事件時應(yīng)該將信息傳送到那兒:<%@pageerrorPage="errorPage.jsp"%>,以及你是否要為使用者治理通話期的通信,可能存取多個網(wǎng)頁(稍後在JavaBeans里會有更多通話期的討論):<%@pagesession="true"%>。
include編譯器指引讓你將你的內(nèi)容分成幾個可治理的元件,就像那些有表頭或注腳的網(wǎng)頁。所包含的網(wǎng)頁能夠是固定格式的HTML網(wǎng)頁或者是JSP內(nèi)容的網(wǎng)頁:
<%@includefile="filename.jsp"%>。
3、JSP預(yù)定義讓你定義網(wǎng)頁層的參數(shù),來儲存信息或定義支持的函數(shù)式,讓JSP網(wǎng)頁的其余部分能夠使用。假如你發(fā)覺自己有太多的程序碼,你最好將它們放在不同的Java類不里。你能夠在<%!?%>標簽里找到預(yù)定義。記住要在參數(shù)預(yù)定義的後面加上分號,就跟任何有效的Java敘述的形式一樣:<%!inti=0;%>。
4、JSP里有運算式,評估運算式的結(jié)果能夠轉(zhuǎn)換成字串同時直接使用在輸出網(wǎng)頁上。JSP運確實是屬於<%=?%>標簽里,并不包含分號,加引號字串的無用部分:
<%=i%>
<%="Hello"%>。
5、JSP程序碼片段或小型指令文件是包含在<%?%>標簽里。當網(wǎng)絡(luò)服務(wù)器同意這段請求時,這段Java程序碼會執(zhí)行。小型指令文件能夠是原始的HTML或XML,其內(nèi)部的程序碼片段能夠讓你建立有條件的執(zhí)行程序碼,或者只是一些使用另一塊程序碼的東西。舉例來講,下列的程序碼結(jié)合了運算式與小型指令文件,在H1,H2,H3,以及H4標簽里顯示字串"Hello"。小型指令文件不限於一行的原始程序碼:
<%for(inti=1;i<=4;i++){%>
<H<%=i%>>Hello</H<%=i%>>
<%}%>。
注解.
最後一個要緊JSP元件是嵌入式注解。盡管你能夠在你的文件里包含HTML注解,假如使用者檢視網(wǎng)頁的原始碼,他們也會看到這些注解。假如你不要讓使用者看到你的注解,你能夠?qū)⑺旁?lt;%--?--%>標簽里:
<%--針對服務(wù)器端的注解--%>。
三、JSP與JavaBean
盡管你能夠在小型指令檔里放入一大塊的代碼,然而大多數(shù)的Java代碼是屬於能夠重復(fù)使用的元件,稱為JavaBean。JavaBean就跟ActiveX操縱項一樣:它們提供已知的功能,同時是為了可隨時重復(fù)使用的目的而設(shè)計的。
JavaBean的¤值在於它能夠經(jīng)由一組特性來使用,而這些特性則提供對JavaBean設(shè)定的存取。以人來作范例,此人確實是JavaBean,而他的姓名,社會福利安全號碼,以及住址能夠是特性。對於JSP網(wǎng)站,差不多上你是將'JavaBean'動態(tài)的連接到你的網(wǎng)站。
假設(shè)JavaBean是在建立網(wǎng)站之前建好的,你要做的第一件事是告訴JSP網(wǎng)頁它所需要使用JavaBean,這工作能夠用<jsp:useBean>標簽來完成:
<jsp:useBeanid="localName"class="com.jjj.Person"scope="application"/>.
<jsp:useBean>標簽需要你以id屬性來辨識usebean.在那個地點,你提供一個名稱讓JSP網(wǎng)頁來辨識usebean,除了id屬性之外,你也必須告訴網(wǎng)頁要到哪里去找那個usebean,或者是它的Java類不名稱。類不屬性提供如何在各式方法之中找到它,最後一個需要的元件是scope屬性。有了范圍屬性的關(guān)心,你能夠告訴usebean,要它為單一網(wǎng)頁(預(yù)設(shè))[scope="page"];為一個被請求的網(wǎng)頁[scope="request"];為通話期[scope="session"];或為整個應(yīng)用程式[scope="application"]來維護它自己的資源。對於通話期范圍,你能夠?qū)iT容易的維護JSP網(wǎng)頁里的項目,例如購物車:一旦你宣告了JavaBean之後,你就能夠存取它的特性來訂購它。要取得一特性的值,使用<jsp:getProperty>標簽。有了<jsp:getProperty>標簽,你能夠指定要使用的usebean名稱(從useBean的id欄位),以及你要取得值的特性。接著,真正的值就會放在輸出里:
<jsp:getPropertyid="localName"property="name"/>.
要更改JavaBean的特性,你需要使用<jsp:setProperty>標簽.對那個標簽,你也需要辨認usebean以及要修正的特性,除此之外,你還需要提供新值。假如命名正確,這些能夠直接經(jīng)由規(guī)定的格式取得:
<jsp:setPropertyid="localName"property="*"/>;
要從一參數(shù)取得,你必須直接命名此特性以及參數(shù):
<jsp:setPropertyid="localName"property="address"param="parameterName"/>;
或是直接以名稱與值來設(shè)定:
<jsp:setPropertyid="localName"property="serialNumber"value="string"/>or<jsp:setPropertyid="localName"property="serialNumber"value=<%=expression%>/>.
有關(guān)JavaBean的最後一點:要讓網(wǎng)絡(luò)服務(wù)器能夠找到JavaBean,你要將它們的類不文件放在特不位置。對JSWDK而言,最簡單的地點是在安裝目錄里的類不目錄,例如\jswdk-1.0.1\classes.
四、JSP的內(nèi)部物件
最後一個與JSP語法有關(guān)的元件叫做內(nèi)部物件.在JSP小型指令檔內(nèi),你能夠存取這些內(nèi)部物件來與執(zhí)行JSP網(wǎng)頁的servlet環(huán)境相互作用。許多對內(nèi)部物件的存取應(yīng)該要簡化。然而,這些是范例,它們的存取差不多上可同意的,要完整的利用內(nèi)部物件設(shè)定則要對最新的JavaServletAPI有所了解。
有關(guān)內(nèi)部物件講明:
request用戶端請求,此請求會包含來自GET/POST請求的參數(shù)
response網(wǎng)頁傳回用戶端的回應(yīng)
pageContext網(wǎng)頁的屬性是在那個地點治理
session與請求有關(guān)的通話期
applicationservlet正在執(zhí)行的內(nèi)容
out用來傳送回應(yīng)的輸出資料流
configservlet的架構(gòu)物件
pageJSP網(wǎng)頁本身
exception針對錯誤網(wǎng)頁,未捕捉的例外
那麼,這些是做什麼的,而你應(yīng)該如何使用它們呢?差不多上,在你的小型指令檔里,你能夠使用它們來存取執(zhí)行JSP代碼的servlet。為了幸免談?wù)摰教郤ervletAPI的細節(jié),讓我們來檢驗一些你能夠利用它們來做的事:不必使用運算式,你能夠直接存取內(nèi)部out物件來列印一些東西到response:
<%out.println("Hello");%>.
不必直接傳送參數(shù)到JavaBean,你能夠藉由請求物件來取得參數(shù)的值:
<%Stringname=request.getParameter("name");out.println(name);%>。
當你以JSP寫了許多的應(yīng)用程式之後,假如你建立了JavaBeans或者發(fā)覺你自己將太多的Java原始碼放入你的JSP檔案,你需要建立支援的Java類不,如此能夠鼓舞重復(fù)使用同時降低JSP網(wǎng)頁轉(zhuǎn)換時所需要的時刻。當你需要建立Java類不時,你必須:將JDSWK的安裝目錄\bin目錄加到你的PATH。在你的autoexec.bat檔案的PATH行的最後,加入C:\1.2.2\bin;。
以下面的指令將JAR檔案復(fù)制到\jre\lib\ext目錄:
copyc:\jswdk-1.0.1\lib\servlet.jarc:\jdk1.2.2\jre\lib\ext.
五、建立一JSP網(wǎng)站
現(xiàn)在到了將所有的JSP語法放在一起使用的時候了。我們將會建立一個具有輸入格式的網(wǎng)站,讓使用者來輸入股票代號同時獲得目前股票的價格(大約延遲20分鐘)。假如有錯誤,則錯誤網(wǎng)頁會顯示。
quote.jsp
首先,以這段代碼建立quote.jsp同時將它儲存在JSWDK安裝目錄的網(wǎng)頁目錄里。網(wǎng)頁的大部分內(nèi)容是標準的HTML格式,而JSP代碼分散各處。第6行是網(wǎng)頁編輯器指引,指示將任何錯誤傳送到errorPage.jsp檔案。第13行到15行是小型指示碼,差不多上是講只有當"symbol"參數(shù)存在時才顯示表格。那個if區(qū)段包含了第32行到34行的代碼。第17行定義要使用的JavaBean,而第18行從參數(shù)載入它的符號特性。第27行到29行指示顯示usebean的特性。除了if區(qū)段之外,并沒有其他的Java代碼。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童詩搖籃教案
- 中班美術(shù)教案房子
- 中暑的安全培訓(xùn)總結(jié)
- 湖南省長沙市周南教育集團重點中學(xué)2025屆中考生物模試卷含解析
- 吉林省吉林市永吉縣重點名校2025屆中考聯(lián)考生物試卷含解析
- 浙江省嘉興市2024-2025學(xué)年九年級數(shù)學(xué)上學(xué)期期末試卷
- 《啤酒企業(yè)內(nèi)部控制問題及對策-以蘭州黃河啤酒公司為例開題報告(含提綱)》
- 2024-2025學(xué)年河北省邢臺市高一上冊9月聯(lián)考數(shù)學(xué)學(xué)情檢測試題(含解析)
- 倉庫作業(yè)質(zhì)量控制的關(guān)鍵點計劃
- 促進社區(qū)多元文化融合的舉措計劃
- 社保知識競賽考試題及答案
- 華為HCSA-Presales-IT售前認證備考試題及答案
- 2024-2030年中國纖維板行業(yè)發(fā)展趨勢與投資戰(zhàn)略研究報告
- 小學(xué)二年級上冊數(shù)學(xué)思維訓(xùn)練題100道及答案解析
- 2024年品酒師職業(yè)技能大賽理論考試題庫及答案
- 2024-2025學(xué)年全國中學(xué)生天文知識競賽考試題庫(含答案)
- 2024至2030年中國細胞農(nóng)業(yè)動向追蹤與發(fā)展前景現(xiàn)狀探索報告
- 2025初級社會工作實務(wù)考試要點速記
- 數(shù)據(jù)中心全生命周期綠色算力指數(shù)白皮書 2024
- 接觸網(wǎng)工高級技師理論試題庫及答案
- 初中美術(shù)備課組工作計劃
評論
0/150
提交評論