JavaWeb程序設(shè)計(jì) 課件 ch04 JSP 基本語法_第1頁
JavaWeb程序設(shè)計(jì) 課件 ch04 JSP 基本語法_第2頁
JavaWeb程序設(shè)計(jì) 課件 ch04 JSP 基本語法_第3頁
JavaWeb程序設(shè)計(jì) 課件 ch04 JSP 基本語法_第4頁
JavaWeb程序設(shè)計(jì) 課件 ch04 JSP 基本語法_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第4章JSP基本語法本課教學(xué)內(nèi)容第一個(gè)JSP頁面注釋jsp表達(dá)式、程序段和聲明URL傳值jsp指令和動(dòng)作第一個(gè)JSP頁面JSP屬于動(dòng)態(tài)網(wǎng)頁,動(dòng)態(tài)網(wǎng)頁隨時(shí)都可以遇到。當(dāng)在google上輸入關(guān)鍵詞,如"Java"時(shí),提交搜索,google能夠?qū)⑺信cJava有關(guān)的搜索結(jié)果呈現(xiàn)在頁面上。此時(shí),google在服務(wù)器端進(jìn)行了一次搜索工作,這次搜索工作顯然不可能是人工完成的,人工不可能在幾秒的時(shí)間之內(nèi),搜索到成千上萬的結(jié)果。因此,搜索過程是程序完成的,程序進(jìn)行了查詢數(shù)據(jù)庫的操作。HTML不能夠查詢數(shù)據(jù)庫,Java代碼卻訪問數(shù)據(jù)庫。因此,在HTML代碼中間混合Java代碼,就能夠讓網(wǎng)頁擁有動(dòng)態(tài)的功能。而嵌入了Java代碼的網(wǎng)頁,就是JSP。JSP與HTML區(qū)別JSP和HTML有什么區(qū)別?

HTML頁面是靜態(tài)頁面,也就是事先由用戶寫好放在服務(wù)器上,由Web服務(wù)器向客戶端發(fā)送。JSP頁面是由JSP容器執(zhí)行該頁面的Java代碼部分,然后,實(shí)時(shí)生成的HTML頁面,因而說其是服務(wù)器端動(dòng)態(tài)頁面。JSP與JavaScript區(qū)別頁面效果,用JavaScript也能夠?qū)崿F(xiàn),有何區(qū)別?最大的區(qū)別是:JavaScript源代碼是被服務(wù)器發(fā)送到客戶端,由客戶端執(zhí)行,因此,客戶端可以看到JavaScript源代碼;而Java代碼卻不會(huì)。注釋JSP注釋可以分為兩類:一類是能發(fā)送給客戶端,可以在源代碼文件中顯示出其內(nèi)容。主要是以HTML注釋語法出現(xiàn)。格式為:<!--注釋內(nèi)容-->注釋另一類是不能發(fā)送給客戶端的,也就是說不會(huì)在客戶端的源代碼文件中顯示其內(nèi)容,僅提供給程序員閱讀的,分為兩種:

JSP注釋語法:<%--注釋內(nèi)容--%>Java代碼注釋://注釋內(nèi)容 /*注釋內(nèi)容*/表達(dá)式JSP表達(dá)式的作用是定義JSP的一些輸出。表達(dá)式基本語法如下所示: <%=變量/返回值/表達(dá)式%>JSP表達(dá)式的作用是將其里面內(nèi)容所運(yùn)算的結(jié)果輸出到客戶端表達(dá)式例:“<%=msg%>”是JSP表達(dá)式,即將msg內(nèi)容輸出給客戶端。等價(jià)于“<%out.print(msg);%>”。表達(dá)式使用JSP表達(dá)式,需要注意幾個(gè)細(xì)節(jié):JSP表達(dá)式中不能用";"結(jié)束在JSP表達(dá)式中不能出現(xiàn)多條語句JSP表達(dá)式的內(nèi)容一定是字符串類型,或者能通過toString()函數(shù)轉(zhuǎn)換成字符串的形式

*詳細(xì)代碼示例見課本程序段如果需要在JSP程序中既要輸出數(shù)據(jù),也要實(shí)現(xiàn)定義變量等一系列復(fù)雜的邏輯操作,表達(dá)式是不能滿足要求的,這時(shí)候需要JSP程序段。實(shí)際上,JSP程序段就是插入到JSP程序的Java代碼段。程序段JSP程序段的用法如下:

<%Java代碼%>不能在JSP程序段中定義方法。JSP中可以放入HTML,也可以放入JSP程序段和JSP表達(dá)式,可以靈活地混合使用。JSP聲明JSP中提供了聲明,JSP聲明中可以定義網(wǎng)頁中的全局變量,這些變量在JSP頁面中的任何地方都能夠使用。在實(shí)際的應(yīng)用中,方法、頁面全局變量、甚至類的聲明都可以放在JSP聲明部分。JSP聲明使用方法如下:

<%!代碼%>可以看到其與JSP程序段的用法相似(只是多了一個(gè)感嘆號(hào)),但功能卻有所不同。在JSP程序段中定義的變量只能先聲明后使用。而JSP聲明中定義的變量是網(wǎng)頁級(jí)別的,系統(tǒng)會(huì)優(yōu)先執(zhí)行,也就是說使用JSP聲明可以在JSP的任何地方定義變量。JSP聲明使用JSP聲明時(shí),要注意:在JSP聲明中,只能定義,不能實(shí)現(xiàn)控制邏輯。如:不能在其中使用out.println作輸出操作。URL傳值HTTP是無狀態(tài)的協(xié)議。Web頁面本身無法向下一個(gè)頁面?zhèn)鬟f信息,如果需要讓下一個(gè)頁面得知該頁面中的值,除非通過服務(wù)器。Web頁面之間傳遞數(shù)據(jù),是Web程序的重要功能,其流程如圖:URL傳值客戶端頁面1輸入guokehua客戶端頁面2顯示guokehuaP2發(fā)送guokehua響應(yīng)服務(wù)器URL傳值URL,通俗地說,就是網(wǎng)址。如:http://localhost:8080/Prj04/page.jsp,表示訪問項(xiàng)目Prj04中的page.jsp,但是還可以在該頁面后面給出一些參數(shù),格式是,在原url后面添加:

?參數(shù)名1=參數(shù)值1&參數(shù)名2=參數(shù)值2&……如:http://localhost:8080/Prj04/page.jsp?m=3&n=5表示訪問http://localhost:8080/Prj04/page.jsp,并給其傳送參數(shù)m,值為3,參數(shù)n,值為5。URL傳值在http://localhost:8080/Prj04/page.jsp中獲得m和n的方法是:<%//獲得參數(shù)m,賦值給strStringstr=request.getParameter("m");%>URL傳值URL傳值的局限性:傳輸?shù)臄?shù)據(jù)只能是字符串,對(duì)數(shù)據(jù)類型具有一定限制傳輸數(shù)據(jù)的值會(huì)在瀏覽器地址欄里面被看到, 秘密性要求很嚴(yán)格的數(shù)據(jù)(如密碼),不應(yīng)該用URL方法來傳值URL傳值URL傳值的優(yōu)勢(shì): 簡單性和平臺(tái)支持的多樣性(沒有瀏覽器不支持URL),很多程序還是用URL傳值比較方便JSP指令和動(dòng)作JSP指令告訴JSP引擎對(duì)JSP頁面如何編譯,不包含控制邏輯,不會(huì)產(chǎn)生任何可見的輸出。其用法如下:

<%@指令類別屬性1="屬性值1"屬性n="屬性值n"%>*注意,屬性名大小寫是敏感的JSP指令和動(dòng)作JSP包含三個(gè)指令:page、include和taglib。其中,使用最多的是page指令和include指令JSP指令page指令的作用有:導(dǎo)入包:<%@pageimport="包名.類名"%>設(shè)定字符集:

<%@pagepageEncoding="編碼類名"%>JSP指令page指令的作用有:設(shè)定錯(cuò)誤頁面:

在發(fā)生異常的頁面上寫:<%@pageerrorPage="anErrorPage.jsp"%>

在anErrorPage.jsp頁面上寫:<%@pageisErrorPage="true"%>JSP指令page指令的作用有:設(shè)定MIME類型和字符編碼:<%@pagecontentType="MIME類型;charset=字符編碼"%>JSP指令在實(shí)際的應(yīng)用開發(fā)中經(jīng)常會(huì)遇到這樣的情況:在項(xiàng)目的每一個(gè)頁面底下都需要顯示公司的地址和圖標(biāo)信息。顯然,不可能在每一個(gè)網(wǎng)頁都編寫一次顯示該信息的代碼。為了保證代碼重用,可以使用include指令解決該需求。JSP指令include指令可以在JSP程序中插入多個(gè)外部文件,這些文件可以是JSP、HTML或者Java程序,甚至是文本。編譯時(shí),include指令就會(huì)把相應(yīng)的文件包含進(jìn)主文件。其語法格式如下:<%@includefile="文件名"%>JSP動(dòng)作JSP動(dòng)作指使用XML語法格式的標(biāo)記來控制服務(wù)器的行為。其用法如下:<jsp:動(dòng)作名屬性1="屬性值1"屬性n="屬性值n"/><jsp:動(dòng)作名>相關(guān)內(nèi)容</jsp:動(dòng)作名>

JSP動(dòng)作JSP動(dòng)作包括:1.jsp:include:當(dāng)頁面被請(qǐng)求的時(shí)候引入一個(gè)文件。2.jsp:forward:將請(qǐng)求轉(zhuǎn)到另外一個(gè)頁面。3.jsp:useBean:獲得JavaBean的一個(gè)實(shí)例。4.jsp:setProperty:設(shè)置JavaBean的屬性。5.jsp:getProperty:獲得JavaBean的屬性。6.jsp:plugin根據(jù)瀏覽器類型為Java插件生成OBJECT或EMBED兩種標(biāo)記。JSP動(dòng)作兩個(gè)常見的JSP動(dòng)作:jsp:include:當(dāng)頁面被請(qǐng)求時(shí)引入一個(gè)文件 <jsp:includepage="文件名"/>或者<jsp:includepage="文件名">相關(guān)標(biāo)簽</jsp:include>JSP動(dòng)作include動(dòng)作和include指令的區(qū)別?1.include動(dòng)作只會(huì)把文件中的輸出包含進(jìn)來。因此,前一節(jié)中提及到的被包含頁面與本頁面有相同變量的問題,在此處不會(huì)出現(xiàn)問題。2.include動(dòng)作還會(huì)自動(dòng)檢查被包含文件的變化。也就是說,當(dāng)被包含資源的內(nèi)容發(fā)生變化的時(shí)候,使用include指令的話,服務(wù)器可能不會(huì)檢測(cè)到。但是,include動(dòng)作則可以在每次客戶端發(fā)出請(qǐng)求

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論