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

下載本文檔

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

文檔簡介

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

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

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

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

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

<%!代碼%>可以看到其與JSP程序段的用法相似(只是多了一個感嘆號),但功能卻有所不同。在JSP程序段中定義的變量只能先聲明后使用。而JSP聲明中定義的變量是網(wǎng)頁級別的,系統(tǒng)會優(yōu)先執(zhí)行,也就是說使用JSP聲明可以在JSP的任何地方定義變量。JSP聲明使用JSP聲明時,要注意:在JSP聲明中,只能定義,不能實現(xiàn)控制邏輯。如:不能在其中使用out.println作輸出操作。URL傳值HTTP是無狀態(tài)的協(xié)議。Web頁面本身無法向下一個頁面?zhèn)鬟f信息,如果需要讓下一個頁面得知該頁面中的值,除非通過服務器。Web頁面之間傳遞數(shù)據(jù),是Web程序的重要功能,其流程如圖:URL傳值客戶端頁面1輸入guokehua客戶端頁面2顯示guokehuaP2發(fā)送guokehua響應服務器URL傳值URL,通俗地說,就是網(wǎng)址。如:http://localhost:8080/Prj04/page.jsp,表示訪問項目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ù)只能是字符串,對數(shù)據(jù)類型具有一定限制傳輸數(shù)據(jù)的值會在瀏覽器地址欄里面被看到, 秘密性要求很嚴格的數(shù)據(jù)(如密碼),不應該用URL方法來傳值URL傳值URL傳值的優(yōu)勢: 簡單性和平臺支持的多樣性(沒有瀏覽器不支持URL),很多程序還是用URL傳值比較方便JSP指令和動作JSP指令告訴JSP引擎對JSP頁面如何編譯,不包含控制邏輯,不會產(chǎn)生任何可見的輸出。其用法如下:

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論