




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第7章JSP開發(fā)中的常用技巧理論掌握J(rèn)SP中數(shù)據(jù)共享、錯(cuò)誤處理和文件操作的方法
技能學(xué)會(huì)使用一些JSP的高級開發(fā)技術(shù)
要求了解并會(huì)運(yùn)行一些JSP的高級開發(fā)技術(shù)
第7章JSP開發(fā)中的常用技巧理論掌握J(rèn)SP中數(shù)據(jù)共享、錯(cuò)本節(jié)將討論JSP開發(fā)經(jīng)常要使用的技術(shù)和技巧。通過學(xué)習(xí)本章,讀者不僅可以掌握一些技巧,也可以鞏固JSP、Servlet的基礎(chǔ)語法知識。
本章的主要內(nèi)容有:
1.在不同頁面或者用戶之間共享數(shù)據(jù)
2.創(chuàng)建錯(cuò)誤處理頁面
3.在JSP中操作文件
本節(jié)將討論JSP開發(fā)經(jīng)常要使用的技術(shù)和技巧。通過學(xué)習(xí)本章,讀7.1在不同頁面或者用戶之間共享數(shù)據(jù)
在JSP中共享數(shù)據(jù),大體上分為兩種情況,第一種是在同一個(gè)用戶的不同頁面之間共享數(shù)據(jù),另一種是在不同用戶之間共享數(shù)據(jù)。7.1在不同頁面或者用戶之間共享數(shù)據(jù)在JSP中共享數(shù)據(jù),對于同一個(gè)用戶的會(huì)話,要想在不同的頁面之間共享數(shù)據(jù),可有的選擇
①把數(shù)據(jù)保存在session中(這是比較常見的方式);
②通過Cookie;
③通過隱含的表單把數(shù)據(jù)提交到下一個(gè)頁面;
④通過ServletContext對象;
⑤通過Application對象;
⑥通過文件系統(tǒng)或者數(shù)據(jù)庫。對于同一個(gè)用戶的會(huì)話,要想在不同的頁面之間共享數(shù)據(jù),可有的選要在不同用戶之間共享數(shù)據(jù),通常方法
①通過ServletContext對象;
②通過Application對象;
③通過文件系統(tǒng)或者數(shù)據(jù)庫。
可見,對于在不同用戶之間共享數(shù)據(jù)的實(shí)現(xiàn)方法,同樣適用于在同一個(gè)用戶的不同頁面實(shí)現(xiàn)數(shù)據(jù)共享。要在不同用戶之間共享數(shù)據(jù),通常方法
7.1.1在不同頁面之間共享數(shù)據(jù)
使用Session共享數(shù)據(jù)
用戶在瀏覽網(wǎng)頁時(shí),由于Http協(xié)議是一種無狀態(tài)的協(xié)議,往往在不同的頁面之間存在數(shù)據(jù)交換的問題,這就需要在這些不同的頁面之間共享數(shù)據(jù)。最常見的實(shí)現(xiàn)方法是把要共享的數(shù)據(jù)保存到Session中。
將[x:]\tomcat\Webapps\examples\file\7\7_1_1\com目錄復(fù)制到[x:]\tomcat\Webapps\examples\Web-INF\classes下。
一個(gè)實(shí)際的用戶登錄例子。7.1.1在不同頁面之間共享數(shù)據(jù)使用Session共享數(shù)文件名功能userSession.java驗(yàn)證成功,就把登錄的信息保存在一個(gè)userSession的類中,在其他的頁面可以讀取這個(gè)值
文件login.html
登錄界面
login.jsp登錄界面,實(shí)現(xiàn)userSession類
welcome.jsp歡迎界面,把userSession對象讀取出來
login_userBean.jsp共享userSession的bean數(shù)據(jù)welcome_userBean.jsp共享userSession的bean數(shù)據(jù)文件名功能userSession.java驗(yàn)證成功,就使用Cookie
創(chuàng)建Cookie,然后通過response.addCookie()方法把Cookie添加到客戶端。
文件setCookie.jsp
客戶端的所有Cookie,然后從這些Cookie中獲得目標(biāo)的Cookie以讀取它的值。
文件getCookie.jsp使用Cookie
創(chuàng)建Cookie,然后通過respon使用隱含的表單
使用方法:
<formaction="target.jsp">
<inputtype=hiddenname="test"value="test">
<inputtype=hiddenname="test2"value="test2">
</form>
在另一個(gè)頁面中,通過以下的方式來獲得這些數(shù)據(jù):
Stringtest=request.getParameter("test1");
Stringtest2=request.getParameter("test2");
使用隱含的表單
使用方法:
<formac7.1.2在不同的用戶之間共享數(shù)據(jù)
使用ServletContext
在JSP頁面中可以通過getServletContext()方法來獲得ServletContext對象。在這種情況下,不同用戶的頁面之間可以通過ServletContext來共享數(shù)據(jù)。
文件servletContext_chat.jsp使用application對象
application對象對于每個(gè)Web應(yīng)用來說只有一個(gè)。
文件testApplication.jsp
7.1.2在不同的用戶之間共享數(shù)據(jù)使用ServletCo7.2創(chuàng)建錯(cuò)誤處理頁面
程序運(yùn)行難免會(huì)發(fā)生異常和錯(cuò)誤。當(dāng)處理JSP頁面時(shí),遇到的異常分為兩個(gè)基本類型:
編譯時(shí)的錯(cuò)誤運(yùn)行時(shí)的錯(cuò)誤7.2創(chuàng)建錯(cuò)誤處理頁面程序運(yùn)行難免會(huì)發(fā)生異常和錯(cuò)誤。當(dāng)處7.2.1在JSP中聲明出錯(cuò)頁面
由于JSP文件被編譯成Servlet執(zhí)行,出現(xiàn)異常的默認(rèn)操作就是顯示異常的堆棧。JSP頁面提供了重寫這個(gè)默認(rèn)行為的功能,并且將異常處理轉(zhuǎn)到另一個(gè)文件中:
<%@pageerrorPage="error.jsp"%>
這樣在這個(gè)JSP頁面中,如果遇到任何未捕獲到的Throwable對象,那么就會(huì)顯示指定的出錯(cuò)頁面。7.2.1在JSP中聲明出錯(cuò)頁面由于JSP文件被編譯成S例子一
文件
mustBeError.jsperror.jsp例子二
文件AddJavaBean.javaadd.jsp
例子一
文件mustBeError.jspe7.3JSP操作文件
本節(jié)介紹在JSP中操作文件的例子。由于JSP能使用Java的IO系統(tǒng),所以在JSP中對文件的操作和一般Java程序沒有什么大的區(qū)別。
操作文件主要有兩種類型:讀取內(nèi)容寫入內(nèi)容或者更改文件的屬性
7.3JSP操作文件本節(jié)介紹在JSP中操作文件的例子。由7.3.1讀取文件內(nèi)容
在讀取文件時(shí),可以有兩種選擇方式通過ServletContext來讀取將[x]:\tomcat\Webapps\examples\file\7\7_3_1\file.txt文件復(fù)制到[x]:\tomcat\Webapps\examples下。
只能獲得Servlet上下文之內(nèi)的資源文件readFile.jsp
使用帶緩沖的輸入流來讀取文件資源文件readFile2.jsp
7.3.1讀取文件內(nèi)容在讀取文件時(shí),可以有兩種選擇方式使用FileReader可以在JSP頁面中使用FileReader和FilelnputStream等類來讀取文件的內(nèi)容。
使用一個(gè)BufferedReader來封裝FileReader,這樣就可以每次讀取一行數(shù)據(jù)。
將[x]:\tomcat\Webapps\examples\file\7\7_3_1\UserSession.java文件復(fù)制到c:\下。
文件readFile3.jsp
使用FileReade
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB6101-T 3227-2025 基于漢代文化的禮服服飾設(shè)計(jì)指南
- 人胃癌細(xì)胞系中SP表型的深度剖析:特性、機(jī)制與臨床關(guān)聯(lián)
- 八年級數(shù)學(xué)實(shí)數(shù)綜合測試試卷及答案
- 八年級數(shù)學(xué)乘法公式應(yīng)用單元試卷及答案
- 八年級數(shù)學(xué)方程組應(yīng)用題單元試卷及答案
- 培訓(xùn)課件結(jié)尾剪輯
- 新解讀《GB-T 18993.3-2020冷熱水用氯化聚氯乙烯(PVC-C)管道系統(tǒng) 第3部分:管件》
- 培訓(xùn)班成果匯報(bào)課件
- 智聯(lián)招聘郵儲(chǔ)面試題及答案
- 老年模特面試題及答案
- 土力學(xué)與地基基礎(chǔ)(課件)
- 人員密集場所火災(zāi)撲救
- 2023年華南師范大學(xué)公共課《大學(xué)計(jì)算機(jī)基礎(chǔ)》期末試卷A(含答案)
- 公路工程施工招標(biāo)文件
- 電力市場交易體系規(guī)則培訓(xùn)PPT
- 小學(xué)六年級下冊數(shù)學(xué)校本教材
- 三非承諾書(共5篇)
- 人教版高中英語單詞匯總
- 衛(wèi)生專業(yè)技術(shù)資格考試合格人員登記表完整
- 巖上鋁土礦 礦業(yè)權(quán)出讓收益計(jì)算書
- WHO兒童身高體重參考值及評價(jià)標(biāo)準(zhǔn)
評論
0/150
提交評論