JSP基礎(chǔ)與案例開發(fā)詳解:第5章 JSP的應(yīng)用_第1頁
JSP基礎(chǔ)與案例開發(fā)詳解:第5章 JSP的應(yīng)用_第2頁
JSP基礎(chǔ)與案例開發(fā)詳解:第5章 JSP的應(yīng)用_第3頁
JSP基礎(chǔ)與案例開發(fā)詳解:第5章 JSP的應(yīng)用_第4頁
JSP基礎(chǔ)與案例開發(fā)詳解:第5章 JSP的應(yīng)用_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1第5章 JSP的應(yīng)用學(xué)前提示為了解決代碼與頁面相分離的問題,Sun公司推出了JSP技術(shù),使頁面代碼與Java代碼完全分離。本章主要介紹JSP的頁面構(gòu)成、執(zhí)行過程、字符轉(zhuǎn)譯、隱式對(duì)象等技術(shù)。知識(shí)要點(diǎn)JSP概述JSP頁面的構(gòu)成JSP的執(zhí)行過程JSP的異常處理機(jī)制JSP的隱式對(duì)象JSP的設(shè)計(jì)模式25.1JSP概述純粹基于Servlet的方法存在一些弊端,總結(jié)起來主要有以下幾條:開發(fā)者和維護(hù)應(yīng)用程序的成員必須對(duì)Java編程知識(shí)有全面的了解,因?yàn)樘幚泶a和處理HTML元素混合在一塊兒。如果要改變應(yīng)用的外觀,或者增加對(duì)新客戶類型的支持(如WML客戶),則需要對(duì)Servlet代碼進(jìn)行更新和重編譯。在設(shè)計(jì)應(yīng)用界面時(shí),很難充分利用Web頁面開發(fā)工具。如果這種工具用于開發(fā)Web頁面布局,所生成的HTML就必須手工地嵌入到Servlet代碼中,這個(gè)過程相當(dāng)耗費(fèi)時(shí)間,很容易出錯(cuò)。35.1JSP概述1.簡便性和有效性2.程序的獨(dú)立性3.程序的兼容性4.程序的可重用性45.2JSP頁面的構(gòu)成JSP頁面就是帶有JSP元素的常規(guī)Web頁面,它由靜態(tài)內(nèi)容和動(dòng)態(tài)內(nèi)容構(gòu)成。其中,靜態(tài)內(nèi)容指HTML元素,在前面的章節(jié)中已經(jīng)講到,此處不做深入介紹。這里主要學(xué)習(xí)動(dòng)態(tài)內(nèi)容的知識(shí),動(dòng)態(tài)內(nèi)容(JSP元素)包括指令元素、腳本元素、動(dòng)作元素、注釋等內(nèi)容。下面將一一進(jìn)行講解,最后再通過一個(gè)示例來加強(qiáng)對(duì)JSP元素的理解。55.2.1指令元素指令元素主要用于為轉(zhuǎn)換階段提供JSP頁面的相關(guān)信息,指令不會(huì)產(chǎn)生任何輸出到當(dāng)前的輸出流中,它指定了有關(guān)頁面本身的信息,這些信息在請(qǐng)求之間一直保持不變,指令的語法如下:<%@directive{attr="value"}*%>1.page指令(1) import=“導(dǎo)包列表”(2) language=“scriptingLangeuage”(3) contentType=“ctinfo”(4) pageEncoding=“peingo”2.include指令3.taglib指令65.2.2腳本元素使用JSP腳本元素可以將Java代碼嵌入到JSP頁面里,這些Java代碼將出現(xiàn)在由當(dāng)前JSP頁面生成的Servlet中,使JSP將靜態(tài)內(nèi)容與動(dòng)態(tài)內(nèi)容分離出來。1.表達(dá)式2.腳本3.聲明4.實(shí)例練習(xí)實(shí)例——JiuJiudemo。75.2.3JSP的動(dòng)作JSP的動(dòng)作元素用來控制JSP容器的動(dòng)作,可以動(dòng)態(tài)插入文件、重用JavaBean組件、導(dǎo)向另一個(gè)頁面等。動(dòng)作元素與指令元素不同,動(dòng)作元素是在客戶端請(qǐng)求時(shí)動(dòng)態(tài)執(zhí)行的,每次有客戶端請(qǐng)求時(shí),可能都會(huì)被執(zhí)行一次,而指令元素是在編譯時(shí)被編譯執(zhí)行,它只會(huì)被編譯一次。1.<jsp:useBean>2.<jsp:setProperty>3.<jsp:getProperty>4.<jsp:include>(1) 不帶參數(shù)的include動(dòng)作:(2) 帶參數(shù)的include動(dòng)作:5.<jsp:forward>(1) 不帶參數(shù)的forward動(dòng)作(2) 帶參數(shù)的forward動(dòng)作6.<jsp:param>7.<jsp:plugin>85.2.4注釋JSP有兩種注釋方式。<!--...-->:在客戶端查看源代碼時(shí)能看見注釋。<%--...--%>:在客戶端查看源代碼時(shí)不能看見注釋。95.3JSP的執(zhí)行過程JSP的執(zhí)行過程主要可以分為以下幾點(diǎn)。(1) 客戶端發(fā)出請(qǐng)求。(2) Web容器將JSP轉(zhuǎn)譯成Servlet源代碼。(3) Web容器將產(chǎn)生的源代碼進(jìn)行編譯。(4) Web容器加載編譯后的代碼并執(zhí)行。(5) 把執(zhí)行結(jié)果響應(yīng)至客戶端。執(zhí)行過程如圖5.4所示。105.4JSP的異常處理機(jī)制JSP規(guī)范中定義了異常處理機(jī)制。JSP異常處理有以下兩個(gè)步驟。1.撰寫一個(gè)JSP“錯(cuò)誤頁面”<%@pageisErrorPage="true"%>2.在JSP內(nèi)指定異常發(fā)生時(shí)應(yīng)該回應(yīng)到哪個(gè)“錯(cuò)誤頁面”要想讓頁面產(chǎn)生異常的時(shí)候由專門的異常處理文件對(duì)異常進(jìn)行處理,需要在該頁面中使用page指令的errorPage指定專門的異常處理頁面,格式如下:<%@pageerrorPage="異常處理文件"%>假設(shè)要設(shè)置前面編寫的errorPage.jsp頁面為當(dāng)前頁面的異常處理文件,可以使用下面的代碼:<%@pageerrorPage="errorPage.jsp"%>115.5JSP的隱式對(duì)象JSP隱式對(duì)象是Web容器加載的一組類的實(shí)例。它是可以直接在JSP頁面使用的對(duì)象。分為4個(gè)主要類別。輸入和輸出對(duì)象:控制頁面的輸入和輸出(request、response、out)。作用域通信對(duì)象:檢索與JSP頁面的Servlet相關(guān)的信息(session、application、pageContext)。Servlet對(duì)象:提供有關(guān)頁面環(huán)境的信息(page、config)。錯(cuò)誤對(duì)象:處理頁面中的錯(cuò)誤(exception)。讀者可以參照?qǐng)D5.7來快速記憶9大隱式對(duì)象。125.5.1輸入和輸出對(duì)象1.request對(duì)象2.response對(duì)象3.out對(duì)象135.5.2作用域通信對(duì)象1.pageContext對(duì)象2.session對(duì)象3.application對(duì)象145.5.3Servlet對(duì)象1.page對(duì)象2.config對(duì)象155.5.4錯(cuò)誤對(duì)象exceptionexception對(duì)象處理JSP頁面中的錯(cuò)誤。printStackTrace()方法用于顯示異常的堆棧跟蹤。165.5.5表單驗(yàn)證的示例這個(gè)示列通過一頁面提交表單信息給Servlet,Servlet獲取信息,經(jīng)過處理后,把信息放入request對(duì)象中,如果用戶提交的姓名為空,將重新返回到登錄首頁,否則,把提交的信息全部顯示出來。具體操作如下。(1) 新建一個(gè)WebProject工程(JSPdemo2)。(2) 編寫formtt.jsp頁面,頁面效果如圖5.8所示。175.5.5表單驗(yàn)證的示例(4) 在web.xml文件中注冊(cè)Servlet信息(5) 編寫result.jsp頁面(6) 發(fā)布運(yùn)行程序,運(yùn)行程序顯示首頁index.jsp的效果,如圖5.9所示。輸入信息后單擊submit按鈕,顯示結(jié)果頁面result.jsp,效果如圖5.10所示。185.5.5表單驗(yàn)證的示例 如果用戶在username這個(gè)輸入框中提交的是中文字符,則有可能出現(xiàn)亂碼,下面提供兩種解決方案。1.硬編碼方式2.采用過濾器方式195.6JSP的設(shè)計(jì)模式1.JSP模型1(JSP+JavaBean)2.JSP模型2(MVC)

溫馨提示

  • 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)論