版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 元旦節(jié)假日安全教育課件
- 食品安全追溯課件
- 二年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)匯編
- 新高考數(shù)學(xué)題型全歸納之排列組合專題19列舉法策略含答案及解析
- 高中信息技術(shù)選修3說課稿-1.2.2 網(wǎng)絡(luò)應(yīng)用中的安全-教科版001
- 2021年高考英語三輪復(fù)習(xí):閱讀理解+完形填空+讀后續(xù)寫+七選五+應(yīng)用文寫作 試題匯編(含答案解析)
- 滬科版高中信息技術(shù)必修3.2.3信息的發(fā)布與交流-說課稿
- 《護(hù)佑生命安康》課件
- 2024版商業(yè)樓宇裝修維護(hù)合同模板版B版
- 2024版委托裝修合同范本
- 滯銷風(fēng)險(xiǎn)管理制度內(nèi)容
- 排污許可證辦理合同1(2025年)
- GB/T 44890-2024行政許可工作規(guī)范
- 上??颇恳豢荚囶}庫參考資料1500題-上海市地方題庫-0
- 軍工合作合同范例
- 【7地XJ期末】安徽省宣城市寧國市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試地理試題(含解析)
- 2025年中國稀土集團(tuán)總部部分崗位社會(huì)公開招聘管理單位筆試遴選500模擬題附帶答案詳解
- 超市柜臺(tái)長期出租合同范例
- 廣東省廣州市2025屆高三上學(xué)期12月調(diào)研測(cè)試語文試題(含答案)
- 【8物(科)期末】合肥市第四十五中學(xué)2023-2024學(xué)年八年級(jí)上學(xué)期期末物理試題
- 統(tǒng)編版2024-2025學(xué)年三年級(jí)語文上冊(cè)期末學(xué)業(yè)質(zhì)量監(jiān)測(cè)試卷(含答案)
評(píng)論
0/150
提交評(píng)論