JSP開發(fā)中的常用技巧課件_第1頁
JSP開發(fā)中的常用技巧課件_第2頁
JSP開發(fā)中的常用技巧課件_第3頁
JSP開發(fā)中的常用技巧課件_第4頁
JSP開發(fā)中的常用技巧課件_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論