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

下載本文檔

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

文檔簡(jiǎn)介

第7章JSP開(kāi)發(fā)中的常用技巧理論掌握J(rèn)SP中數(shù)據(jù)共享、錯(cuò)誤處理和文件操作的方法

技能學(xué)會(huì)使用一些JSP的高級(jí)開(kāi)發(fā)技術(shù)

要求了解并會(huì)運(yùn)行一些JSP的高級(jí)開(kāi)發(fā)技術(shù)

第7章JSP開(kāi)發(fā)中的常用技巧理論掌握J(rèn)SP中數(shù)據(jù)共享、錯(cuò)本節(jié)將討論JSP開(kāi)發(fā)經(jīng)常要使用的技術(shù)和技巧。通過(guò)學(xué)習(xí)本章,讀者不僅可以掌握一些技巧,也可以鞏固JSP、Servlet的基礎(chǔ)語(yǔ)法知識(shí)。

本章的主要內(nèi)容有:

1.在不同頁(yè)面或者用戶(hù)之間共享數(shù)據(jù)

2.創(chuàng)建錯(cuò)誤處理頁(yè)面

3.在JSP中操作文件

本節(jié)將討論JSP開(kāi)發(fā)經(jīng)常要使用的技術(shù)和技巧。通過(guò)學(xué)習(xí)本章,讀7.1在不同頁(yè)面或者用戶(hù)之間共享數(shù)據(jù)

在JSP中共享數(shù)據(jù),大體上分為兩種情況,第一種是在同一個(gè)用戶(hù)的不同頁(yè)面之間共享數(shù)據(jù),另一種是在不同用戶(hù)之間共享數(shù)據(jù)。7.1在不同頁(yè)面或者用戶(hù)之間共享數(shù)據(jù)在JSP中共享數(shù)據(jù),對(duì)于同一個(gè)用戶(hù)的會(huì)話(huà),要想在不同的頁(yè)面之間共享數(shù)據(jù),可有的選擇

①把數(shù)據(jù)保存在session中(這是比較常見(jiàn)的方式);

②通過(guò)Cookie;

③通過(guò)隱含的表單把數(shù)據(jù)提交到下一個(gè)頁(yè)面;

④通過(guò)ServletContext對(duì)象;

⑤通過(guò)Application對(duì)象;

⑥通過(guò)文件系統(tǒng)或者數(shù)據(jù)庫(kù)。對(duì)于同一個(gè)用戶(hù)的會(huì)話(huà),要想在不同的頁(yè)面之間共享數(shù)據(jù),可有的選要在不同用戶(hù)之間共享數(shù)據(jù),通常方法

①通過(guò)ServletContext對(duì)象;

②通過(guò)Application對(duì)象;

③通過(guò)文件系統(tǒng)或者數(shù)據(jù)庫(kù)。

可見(jiàn),對(duì)于在不同用戶(hù)之間共享數(shù)據(jù)的實(shí)現(xiàn)方法,同樣適用于在同一個(gè)用戶(hù)的不同頁(yè)面實(shí)現(xiàn)數(shù)據(jù)共享。要在不同用戶(hù)之間共享數(shù)據(jù),通常方法

7.1.1在不同頁(yè)面之間共享數(shù)據(jù)

使用Session共享數(shù)據(jù)

用戶(hù)在瀏覽網(wǎng)頁(yè)時(shí),由于Http協(xié)議是一種無(wú)狀態(tài)的協(xié)議,往往在不同的頁(yè)面之間存在數(shù)據(jù)交換的問(wèn)題,這就需要在這些不同的頁(yè)面之間共享數(shù)據(jù)。最常見(jiàn)的實(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í)際的用戶(hù)登錄例子。7.1.1在不同頁(yè)面之間共享數(shù)據(jù)使用Session共享數(shù)文件名功能userSession.java驗(yàn)證成功,就把登錄的信息保存在一個(gè)userSession的類(lèi)中,在其他的頁(yè)面可以讀取這個(gè)值

文件login.html

登錄界面

login.jsp登錄界面,實(shí)現(xiàn)userSession類(lèi)

welcome.jsp歡迎界面,把userSession對(duì)象讀取出來(lái)

login_userBean.jsp共享userSession的bean數(shù)據(jù)welcome_userBean.jsp共享userSession的bean數(shù)據(jù)文件名功能userSession.java驗(yàn)證成功,就使用Cookie

創(chuàng)建Cookie,然后通過(guò)response.addCookie()方法把Cookie添加到客戶(hù)端。

文件setCookie.jsp

客戶(hù)端的所有Cookie,然后從這些Cookie中獲得目標(biāo)的Cookie以讀取它的值。

文件getCookie.jsp使用Cookie

創(chuàng)建Cookie,然后通過(guò)respon使用隱含的表單

使用方法:

<formaction="target.jsp">

<inputtype=hiddenname="test"value="test">

<inputtype=hiddenname="test2"value="test2">

</form>

在另一個(gè)頁(yè)面中,通過(guò)以下的方式來(lái)獲得這些數(shù)據(jù):

Stringtest=request.getParameter("test1");

Stringtest2=request.getParameter("test2");

使用隱含的表單

使用方法:

<formac7.1.2在不同的用戶(hù)之間共享數(shù)據(jù)

使用ServletContext

在JSP頁(yè)面中可以通過(guò)getServletContext()方法來(lái)獲得ServletContext對(duì)象。在這種情況下,不同用戶(hù)的頁(yè)面之間可以通過(guò)ServletContext來(lái)共享數(shù)據(jù)。

文件servletContext_chat.jsp使用application對(duì)象

application對(duì)象對(duì)于每個(gè)Web應(yīng)用來(lái)說(shuō)只有一個(gè)。

文件testApplication.jsp

7.1.2在不同的用戶(hù)之間共享數(shù)據(jù)使用ServletCo7.2創(chuàng)建錯(cuò)誤處理頁(yè)面

程序運(yùn)行難免會(huì)發(fā)生異常和錯(cuò)誤。當(dāng)處理JSP頁(yè)面時(shí),遇到的異常分為兩個(gè)基本類(lèi)型:

編譯時(shí)的錯(cuò)誤運(yùn)行時(shí)的錯(cuò)誤7.2創(chuàng)建錯(cuò)誤處理頁(yè)面程序運(yùn)行難免會(huì)發(fā)生異常和錯(cuò)誤。當(dāng)處7.2.1在JSP中聲明出錯(cuò)頁(yè)面

由于JSP文件被編譯成Servlet執(zhí)行,出現(xiàn)異常的默認(rèn)操作就是顯示異常的堆棧。JSP頁(yè)面提供了重寫(xiě)這個(gè)默認(rèn)行為的功能,并且將異常處理轉(zhuǎn)到另一個(gè)文件中:

<%@pageerrorPage="error.jsp"%>

這樣在這個(gè)JSP頁(yè)面中,如果遇到任何未捕獲到的Throwable對(duì)象,那么就會(huì)顯示指定的出錯(cuò)頁(yè)面。7.2.1在JSP中聲明出錯(cuò)頁(yè)面由于JSP文件被編譯成S例子一

文件

mustBeError.jsperror.jsp例子二

文件AddJavaBean.javaadd.jsp

例子一

文件mustBeError.jspe7.3JSP操作文件

本節(jié)介紹在JSP中操作文件的例子。由于JSP能使用Java的IO系統(tǒng),所以在JSP中對(duì)文件的操作和一般Java程序沒(méi)有什么大的區(qū)別。

操作文件主要有兩種類(lèi)型:讀取內(nèi)容寫(xiě)入內(nèi)容或者更改文件的屬性

7.3JSP操作文件本節(jié)介紹在JSP中操作文件的例子。由7.3.1讀取文件內(nèi)容

在讀取文件時(shí),可以有兩種選擇方式通過(guò)ServletContext來(lái)讀取將[x]:\tomcat\Webapps\examples\file\7\7_3_1\file.txt文件復(fù)制到[x]:\tomcat\Webapps\examples下。

只能獲得Servlet上下文之內(nèi)的資源文件readFile.jsp

使用帶緩沖的輸入流來(lái)讀取文件資源文件readFile2.jsp

7.3.1讀取文件內(nèi)容在讀取文件時(shí),可以有兩種選擇方式使用FileReader可以在JSP頁(yè)面中使用FileReader和FilelnputStream等類(lèi)來(lái)讀取文件的內(nèi)容。

使用一個(gè)BufferedReader來(lái)封裝FileReader,這樣就可以每次讀取一行數(shù)據(jù)。

將[x]:\tomcat\Webapps\examples\file\7\7_3_1\UserSession.java文件復(fù)制到c:\下。

文件readFile3.jsp

使用FileReade

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論