CTO下載JSP實現(xiàn)留言板_第1頁
CTO下載JSP實現(xiàn)留言板_第2頁
CTO下載JSP實現(xiàn)留言板_第3頁
CTO下載JSP實現(xiàn)留言板_第4頁
CTO下載JSP實現(xiàn)留言板_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章 JSP實現(xiàn)留言板 留言板在網(wǎng)絡(luò)上的使用率是很高的,論壇、博客等都有留言板。相信讀者在網(wǎng)上都見過留言板的樣式,本章就來介紹如何使用JSP來實現(xiàn)留言板。在實現(xiàn)留言板的時候也使用到了前面所學(xué)習(xí)的內(nèi)容,如用戶的注冊、登錄等,另外在顯示留言內(nèi)容時要進行分頁顯示,這里將重點介紹自定義分頁標(biāo)簽實現(xiàn)分頁顯示。7.1 實現(xiàn)留言板的界面留言板界面的實現(xiàn),就是將同一個標(biāo)題的所有留言全部顯示出來,并且在界面下方有可以添加留言信息的輸入欄。一個難點就是要分頁顯示查詢到的信息,界面樣式如圖所示。這里一頁顯示的數(shù)據(jù)是2條,數(shù)據(jù)庫中一共有4條數(shù)據(jù),所以要分成兩頁。當(dāng)單擊“2”鏈接或者“尾頁”鏈接時,將顯示另外兩條數(shù)據(jù)

2、信息,7.2 JSP處理留言請求 在JSP中處理留言請求,首先通過request對象獲取到留言的內(nèi)容,留言人的姓名,并且通過JDBC將獲取到的內(nèi)容存儲到數(shù)據(jù)庫中,最后再返回到留言頁面將相關(guān)留言信息顯示出來的過程。下面就對以該過程分解開來一一介紹。通過form表單提交的數(shù)據(jù)信息,如果在另一個頁面中想要取得這個數(shù)據(jù)信息,就要使用request對象。通過form表單提交的有留言人姓名、留言內(nèi)容和留言標(biāo)題, 通過request對象獲取留言內(nèi)容等信息的目的就是將它們存儲到數(shù)據(jù)庫中,JSP要連接數(shù)據(jù)庫就要使用到JDBC。這里創(chuàng)建了一個DBMessage.java類處理與數(shù)據(jù)庫相關(guān)的代碼,并使用一個無參的構(gòu)

3、造函數(shù)來初始化JDBC的連接, 數(shù)據(jù)庫連接好后,就要將相關(guān)信息保存到數(shù)據(jù)庫中。這里保存留言內(nèi)容等信息的表為message,字段有留言標(biāo)題title、留言內(nèi)容content、留言人姓名username。在DBMessage.java類中定義了一個newMessage()方法,來實現(xiàn)向數(shù)據(jù)庫中添加數(shù)據(jù)信息。 同一個標(biāo)題的所有留言,對用戶都是可見的。當(dāng)用戶提交一個新的留言后就會在頁面的上方顯示出來。 title作為參數(shù)的目的是要查詢該title下的所有留言,同時將查詢結(jié)果保存到List中并返回。此外這里還用到了JavaBean來對查詢結(jié)果進行封裝,以達到數(shù)據(jù)的完整性。在頁面上要調(diào)用此方法與JavaB

4、ean來顯示信息,7.3 編寫自定義標(biāo)簽進行分頁處理JSP提供了一個標(biāo)簽庫(Tag Libraries)來使JSP的開發(fā)更容易,也更便于維護。與JavaBean相比標(biāo)簽庫能夠處理網(wǎng)頁內(nèi)容的數(shù)據(jù),而且能將復(fù)雜的操作縮減為簡潔的形式。同時標(biāo)簽庫對于網(wǎng)頁開發(fā)者而言,比JavaBean更容易上手,但建立標(biāo)簽庫比開發(fā)JavaBean困難。JSP標(biāo)簽庫(也被稱作定制標(biāo)簽)就是一種通過JavaBean生成基于XML腳本的方法。從概念上講,標(biāo)簽就是很簡單而且可重用的代碼結(jié)構(gòu)。在JSP中使用Taglib可以帶有屬性和主體,也可以沒有屬性和主體。沒有屬性和主體:;只有屬性沒有主體:;既有屬性又有主體:JSP內(nèi)容或

5、標(biāo)簽。 在定義完處理類后,要創(chuàng)建一個標(biāo)簽庫描述符(TLD)文件來描述自定義標(biāo)簽。此文件的內(nèi)容開始是對整個庫的描述,然后是對tag的描述。這里的標(biāo)簽庫描述文件叫做myTag.tld。 自定義標(biāo)簽實現(xiàn)的一個重要步驟就是要在web.xml中將TLD文件進行描述,如果不進行描述就無法在JSP頁面中引入該自定義標(biāo)簽。在web.xml中描述需要注意一個問題,就是兩個配置文件的版本號問題,如果不一致就會導(dǎo)致頁面報錯找不到標(biāo)簽。 描述標(biāo)簽要使用標(biāo)簽,下面的兩個子標(biāo)簽元素表示引用這個標(biāo)簽的URI,要與頁面上的引用同名,另外表示這個標(biāo)簽在本地的描述文件的位置。 至此,自定義分頁標(biāo)簽的創(chuàng)建就全部結(jié)束了,只需要在頁面

6、上引用它就可以實現(xiàn)分頁顯示。7.4 將回顯的結(jié)果利用自定義標(biāo)簽進行分頁顯示 自定義的分頁標(biāo)簽配置完成后,要想在頁面上使用它就得先將標(biāo)簽導(dǎo)入到JSP頁面中,然后再引用標(biāo)簽。 在JSP頁面中導(dǎo)入標(biāo)簽庫要執(zhí)行Taglib指令,該指令有3個功能:即將taglib倒入JSP頁面中,將URI與taglib相關(guān)聯(lián)以便唯一地識別它,將URI映射到perfix以便在頁面中使用。下面就是在JSP頁面中引入自定義分頁標(biāo)簽的代碼。 這里的uri就是在web.xml中配置的標(biāo)簽,prefix是把該標(biāo)簽庫在頁面中的引用重新起了名字,這里叫“my”。 導(dǎo)入了標(biāo)簽庫,最后一步就是從標(biāo)簽庫中調(diào)用自定義的標(biāo)簽。在JSP頁面中在需

7、要進行分頁顯示的位置調(diào)用自定義標(biāo)簽,代碼如下所示。 my:pagination formId= page= maxPage= / 此處的是標(biāo)簽的名稱,在前面配置過了。其中“my”是標(biāo)簽庫的別名,pagination是在myTag.tld文件中配置的名稱。標(biāo)簽內(nèi)的3個屬性是根據(jù)自定義標(biāo)簽處理類PaginationTld.java的需要傳入的。7.5 完整的留言板功能實現(xiàn) 通過前幾節(jié)的介紹,簡單的留言板功能基本完成了。本節(jié)將一個完整的留言板實現(xiàn)展示給讀者。該留言板的流程是:用戶先登錄,如果沒有注冊要先注冊,注冊頁面如圖7-8所示;注冊完成后將跳到登錄頁面,登錄后的用戶可以看見目前所有留言的標(biāo)題;可

8、以單擊標(biāo)題的名稱查看詳細內(nèi)容并可以添加留言;也可以新建一個留言題目;在查看留言詳細信息頁面時,可以單擊留言人名稱來查看該用戶詳細信息, 創(chuàng)建register.jsp文件,該頁面用于提交用戶的注冊信息。該頁面包含一個form表單,表單中有6個字段,name、password、sex、age、qq、email, 創(chuàng)建addUser.jsp文件,該文件主要用于處理register.jsp提交的用戶信息。在該頁面中首先通過request對象獲得表單提交的數(shù)據(jù)信息,再將數(shù)據(jù)信息通過DBMessage對象存儲到數(shù)據(jù)庫中,具體代碼如下所示。DBMessage類中封裝了添加、刪除、查詢、更新用戶信息的方法,在

9、以后章節(jié)中會進行介紹, 創(chuàng)建login.jsp文件,該文件用于提交用戶登錄信息。該頁面包含一個form表單,表單中有兩個字段,name、password, check.jsp頁面用于處理登錄信息的核對。先在頁面中通過request獲得name、password數(shù)據(jù)信息,通過DBMessage對象中的login方法判斷登錄數(shù)據(jù)信息是否正確。如果正確,則將登錄用戶的信息存儲在session中,然后跳轉(zhuǎn)到allMessage.jsp頁面;否則跳轉(zhuǎn)到login.jsp頁面,并且顯示錯誤信息, 在check.jsp頁面使用到了一個JSP標(biāo)簽,該標(biāo)簽代表將要跳轉(zhuǎn)到哪個頁面,屬性page就是標(biāo)識將要到達的頁

10、面。 創(chuàng)建allMessage.jsp文件,在該頁面中將所有的留言標(biāo)題以列表的形式顯示在頁面上, 創(chuàng)建newMessage.jsp文件,該頁面提供了新建留言的功能。在該頁面中創(chuàng)建一個form表單,該表單中有兩個字段,title和content, 創(chuàng)建messageNew.jsp文件,該頁面用于處理newMessage.jsp提交的數(shù)據(jù)信息。在該頁面中通過request對象獲得newMessage.jsp頁面提交的數(shù)據(jù)信息,再調(diào)用DBMessage對象的newMessage方法將留言存儲在數(shù)據(jù)庫中, 創(chuàng)建addMessage.jsp文件,該頁面提供了發(fā)表留言的功能。在該頁面中列出所有的留言標(biāo)題信

11、息,并且利用自定義標(biāo)簽提供分頁功能。該頁面中還提供了form表單,主要提供了發(fā)表留言的功能, 創(chuàng)建messageAdd.jsp文件,該頁面提供了添加新信息的處理功能, 創(chuàng)建queryUser.jsp文件,該頁面提供了查看用戶詳細信息的功能,對用戶信息的查看通過用戶名進行查詢, 創(chuàng)建UserJavaBean.java文件,該文件用于封裝用戶相關(guān)的數(shù)據(jù)信息。該文件中包含一組私有的變量和一組get、set方法,通過get、set方法對這些變量進行封裝, 創(chuàng)建MessageJavaBean.java文件,該文件用于封裝留言的數(shù)據(jù)信息。該類中同樣也是包含一組私有變量和一組get、set方法, 創(chuàng)建DBMessage.java文件,該類用于處理與數(shù)據(jù)庫的交互操作。在該類中提供了數(shù)據(jù)庫連接,并且包含了操作數(shù)據(jù)的一些方法,通常這樣的類被稱

溫馨提示

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

評論

0/150

提交評論