




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科生畢業(yè)論文(設(shè)計(jì))基于JSP的財(cái)大家園BBS論壇的設(shè)計(jì)與實(shí)現(xiàn)姓名學(xué)號(hào)專業(yè)指導(dǎo)教師2011年05月20日摘要隨著網(wǎng)絡(luò)應(yīng)用的興起,人們交流的方式也發(fā)生了翻天覆地的變化。網(wǎng)絡(luò)聊天、網(wǎng)絡(luò)視頻和郵箱系統(tǒng)等網(wǎng)絡(luò)應(yīng)用的出現(xiàn)正在改變著人們彼此之間溝通、交流的方式。此外,為了滿足人們?cè)谀骋惶囟ㄖ黝}下的知識(shí)獲取和信息發(fā)布,出現(xiàn)了在線網(wǎng)絡(luò)論壇。各種各樣的主題論壇幾乎囊括了人們生活的每個(gè)角落。人們根據(jù)自己的專業(yè)特長(zhǎng)和興趣愛(ài)好在論壇上提出自己的問(wèn)題,即提出主題。而后其他人根據(jù)主題內(nèi)容可以發(fā)表自己的意見(jiàn)和看法,即回復(fù)主題。一千個(gè)人有一千個(gè)哈姆雷特,論壇集大家之所長(zhǎng),所感,為每一個(gè)用戶提供了豐富的知識(shí)礦藏。論壇是一個(gè)讓
2、人足不出戶即可了解外界世界,了解他人所想的工具。在人們生活節(jié)奏逐步加快的今天,必有其存在的現(xiàn)實(shí)意義。正是基于這樣的認(rèn)識(shí),開(kāi)發(fā)了此BBS論壇系統(tǒng)。除了提供根本的看帖、發(fā)帖、回帖、搜帖的功能,針對(duì)管理員用戶系統(tǒng)還提供了用戶管理和帖子管理的操作。目的是基于現(xiàn)實(shí),為用戶提供一個(gè)模擬的網(wǎng)上交流環(huán)境。方便大家的溝通交流,豐富人們的娛樂(lè)文化生活。在論文的篇章上,本論文從系統(tǒng)分析、系統(tǒng)整體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)幾個(gè)方面對(duì)系統(tǒng)的開(kāi)發(fā)過(guò)程作了詳細(xì)的介紹,旨在全面地呈現(xiàn)系統(tǒng)由最初設(shè)計(jì)到最終定型的各個(gè)階段,便于大家對(duì)系統(tǒng)有一個(gè)更好的把握和認(rèn)識(shí)。系統(tǒng)的具體實(shí)現(xiàn)細(xì)節(jié)那么在論文的系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)一章給出了具
3、體的闡述,各個(gè)功能版塊的展示也包含在其中,能夠直觀地看到系統(tǒng)運(yùn)行后的演示效果。其間夾雜著局部主要代碼的輔助說(shuō)明,便于從底層查看系統(tǒng)的最終實(shí)現(xiàn)。關(guān)鍵詞:JSP;網(wǎng)上論壇;模擬社區(qū);在線交流?MACROBUTTON NoMacro Click and type abstract text here.AbstractWith the development of the Internet,the way of peoples communication has undergoned enormous changes.Web chat,Online Video and Mailbox System a
4、re changing the way of peoples mutual communication.And to meet the request of getting the knowledge and publishing information,Internet Forum has come to appear.All kinds of topic forum almost cover every corner of perples lives.Based on the major,speciality or interest,people pose questions on the
5、 forum,named Posting;Then,other people can publish his or her opinion or viewpoint aimed at the topic that has been released by other people before.This process named Post Followup.For there are a thousand Hamlets in a thousand peoples eyes,the forum gathering the speciality and thoughts of people,s
6、upplying very abundant resources for us.By means of it,people who never to go out can know the outside world and other peoples thoughts.Nowadays, pace of peoples life has been speeding up gradatim,the existence of the fourm must has its reala signifo itself.This BBS System is developed based on the
7、cognition.Besides the fundamental function,such as Reading post,Posting and Replying post,the BBS System also provide the function of managing post and users for adminstrat.The aim of the System is to create a virtual environment of communication online.What we want to do is to make peoples communic
8、ation more convenient,to rich peoples lives with culture and entertainment.The thesis descripts the progress of the developing of the system with four chapters.They are Analysis of system,Entire design of system,Design of Database,Detailed design and achievement of system.The aim is to entirely pres
9、ent every progress from initial design to finalizing the design of the system,to provide convenience for people to grasp or understand the system better.The relizing details of the system is showed at the chapter which is named Detailed design and achievement of system.The demonstration of every fun
10、ctional module is added to this chapter,so that we can see the running effect more directlier.Some main code is also added to make assist description.In this way,we can see the mechanism of the final realization of the system.Key Words: JSP,Web BBS,Simulation Community,Online Communication目錄 TOC o 1
11、-3 h z u HYPERLINK l _Toc294218943 1 引言 PAGEREF _Toc294218943 h 1 HYPERLINK l _Toc294218944 2 系統(tǒng)分析 PAGEREF _Toc294218944 h 2 HYPERLINK l _Toc294218945 2.1 需求分析 PAGEREF _Toc294218945 h 2 HYPERLINK l _Toc294218946 2.1.1 功能性需求 PAGEREF _Toc294218946 h 2 HYPERLINK l _Toc294218947 2.1.2 非功能性需求 PAGEREF _To
12、c294218947 h 6 HYPERLINK l _Toc294218948 2.2 可行性分析 PAGEREF _Toc294218948 h 6 HYPERLINK l _Toc294218949 3 系統(tǒng)總體設(shè)計(jì) PAGEREF _Toc294218949 h 8 HYPERLINK l _Toc294218950 3.1 系統(tǒng)目標(biāo) PAGEREF _Toc294218950 h 8 HYPERLINK l _Toc294218951 3.2 系統(tǒng)功能劃分 PAGEREF _Toc294218951 h 8 HYPERLINK l _Toc294218952 3.2.1 前臺(tái)功能結(jié)構(gòu)
13、 PAGEREF _Toc294218952 h 8 HYPERLINK l _Toc294218953 3.2.2 后臺(tái)功能結(jié)構(gòu) PAGEREF _Toc294218953 h 9 HYPERLINK l _Toc294218954 3.3 系統(tǒng)開(kāi)發(fā)環(huán)境 PAGEREF _Toc294218954 h 10 HYPERLINK l _Toc294218955 3.3.1 開(kāi)發(fā)環(huán)境 PAGEREF _Toc294218955 h 10 HYPERLINK l _Toc294218956 3.3.2 系統(tǒng)平臺(tái)體系結(jié)構(gòu)的選擇 PAGEREF _Toc294218956 h 11 HYPERLINK
14、 l _Toc294218957 3.3.3 JavaScript語(yǔ)言簡(jiǎn)介及特點(diǎn) PAGEREF _Toc294218957 h 11 HYPERLINK l _Toc294218958 3.3.4 JSP概述 PAGEREF _Toc294218958 h 11 HYPERLINK l _Toc294218959 3.3.5 MySQL PAGEREF _Toc294218959 h 12 HYPERLINK l _Toc294218960 3.3.6 JDBC技術(shù) PAGEREF _Toc294218960 h 12 HYPERLINK l _Toc294218961 4 數(shù)據(jù)庫(kù)設(shè)計(jì) PA
15、GEREF _Toc294218961 h 13 HYPERLINK l _Toc294218962 4.1 數(shù)據(jù)庫(kù)分析 PAGEREF _Toc294218962 h 13 HYPERLINK l _Toc294218963 4.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì) PAGEREF _Toc294218963 h 13 HYPERLINK l _Toc294218964 4.3 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì) PAGEREF _Toc294218964 h 15 HYPERLINK l _Toc294218965 5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc294218965 h 19 HYPERLINK l _Toc
16、294218966 5.1 前臺(tái)設(shè)計(jì) PAGEREF _Toc294218966 h 19 HYPERLINK l _Toc294218967 5.1.1 前臺(tái)頁(yè)面設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc294218967 h 19 HYPERLINK l _Toc294218968 5.1.2 用戶注冊(cè)/登錄、管理員登錄 PAGEREF _Toc294218968 h 20 HYPERLINK l _Toc294218969 5.1.3 論壇版塊的展示 PAGEREF _Toc294218969 h 23 HYPERLINK l _Toc294218970 5.1.4 發(fā)表新主題 PAGEREF
17、 _Toc294218970 h 25 HYPERLINK l _Toc294218971 5.1.5 搜索主題 PAGEREF _Toc294218971 h 26 HYPERLINK l _Toc294218972 5.1.6 查看及回復(fù)主題 PAGEREF _Toc294218972 h 27 HYPERLINK l _Toc294218973 5.1.7 優(yōu)化主題的一些小設(shè)計(jì) PAGEREF _Toc294218973 h 29 HYPERLINK l _Toc294218974 5.2 后臺(tái)設(shè)計(jì) PAGEREF _Toc294218974 h 32 HYPERLINK l _Toc2
18、94218975 5.2.1 管理員登錄 PAGEREF _Toc294218975 h 32 HYPERLINK l _Toc294218976 5.2.2 修改和刪除主題 PAGEREF _Toc294218976 h 32 HYPERLINK l _Toc294218977 用戶信息管理 PAGEREF _Toc294218977 h 33 HYPERLINK l _Toc294218978 結(jié)束語(yǔ) PAGEREF _Toc294218978 h 36 HYPERLINK l _Toc294218979 參考文獻(xiàn) PAGEREF _Toc294218979 h 381 引言網(wǎng)絡(luò)的興起與開(kāi)
19、展,極大地改變了人們的思維和行為習(xí)慣?;诰W(wǎng)絡(luò)的應(yīng)用也層出不窮,論壇就是最早興起的應(yīng)用之一。作為一種傳遞消息的方式,最早的BBS的作用是公布股市的即時(shí)消息,而隨著時(shí)代的開(kāi)展,現(xiàn)在的BBS的內(nèi)容已到達(dá)無(wú)所不包的程度。小到生活趣事,大到專業(yè)知識(shí),各種各樣的主題論壇讓人眼花繚亂。論壇網(wǎng)頁(yè)的形式也由最初的靜態(tài)頁(yè)面開(kāi)展到現(xiàn)在的動(dòng)態(tài)頁(yè)面,更好的實(shí)現(xiàn)了用戶之間的交互。把BBS作為一種對(duì)外的展示窗口,進(jìn)行內(nèi)外信息交流,已然成為群眾的廣泛需要。財(cái)大家園論壇就是通過(guò)動(dòng)態(tài)Web開(kāi)發(fā)技術(shù)和數(shù)據(jù)庫(kù)技術(shù)實(shí)現(xiàn)的以財(cái)大學(xué)生與老師為主要效勞對(duì)象的一個(gè)基于現(xiàn)實(shí)環(huán)境之上的一個(gè)網(wǎng)上論壇,力求創(chuàng)造出一個(gè)模擬的網(wǎng)上校園虛擬環(huán)境。財(cái)大人可
20、以足不出戶,在論壇上共享一切值得分享的主題,方便交流;外界人士也可以通過(guò)此論壇更好的了解財(cái)大學(xué)生的焦點(diǎn)和興趣所在,省時(shí)省力。在論壇的設(shè)計(jì)上,增加了版塊類別。不同的版塊區(qū)域所包含的討論主題會(huì)有所區(qū)分,這樣的話,就能以主題不同,分版塊分主題地記錄了你我他的點(diǎn)滴心聲。此論壇是基于B/S模式的一種JSP網(wǎng)頁(yè)論壇的設(shè)計(jì)與實(shí)現(xiàn),力求做到界面友好、簡(jiǎn)單和易于操作。論文從幾個(gè)大的方面來(lái)對(duì)系統(tǒng)的開(kāi)發(fā)做出了闡述。在系統(tǒng)分析一章從需求分析和可行性分析兩方面來(lái)做具體闡述;系統(tǒng)整體設(shè)計(jì)那么從系統(tǒng)目標(biāo)、系統(tǒng)功能劃分和系統(tǒng)開(kāi)發(fā)環(huán)境三大方面說(shuō)明,結(jié)合后面的系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)一章完成對(duì)系統(tǒng)從整體到細(xì)節(jié)的全方位的理解。數(shù)據(jù)庫(kù)設(shè)計(jì)
21、單獨(dú)設(shè)一章,對(duì)數(shù)據(jù)庫(kù)的分析、概念設(shè)計(jì)和邏輯設(shè)計(jì)給出了詳細(xì)說(shuō)明。系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)一章對(duì)系統(tǒng)的各個(gè)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)做了詳細(xì)說(shuō)明,分為前臺(tái)設(shè)計(jì)和后臺(tái)設(shè)計(jì)兩個(gè)局部。其中,前臺(tái)設(shè)計(jì)幾乎囊括了整個(gè)設(shè)計(jì)與實(shí)現(xiàn)的大半局部。在所有章節(jié)中,系統(tǒng)總體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)三章是主要內(nèi)容。論文盡可能的將與系統(tǒng)相關(guān)的內(nèi)容解釋清楚,目的就是將系統(tǒng)的整個(gè)開(kāi)發(fā)流程展示給大家。2 系統(tǒng)分析2.1 需求分析2.1.1 功能性需求開(kāi)發(fā)BBS論壇系統(tǒng)的目的是為了提供一個(gè)大家交流的平臺(tái),供人們發(fā)表看法、探討經(jīng)驗(yàn)、討論問(wèn)題。因此,BBS論壇系統(tǒng)的最根本的功能是發(fā)表主題,其次是其它人員根據(jù)主題發(fā)表自己的看法,即回復(fù)主
22、題??紤]到現(xiàn)實(shí)情況,并不是每一個(gè)訪問(wèn)的游客都具有發(fā)表主題的權(quán)利,所以必須用一個(gè)身份綁定用戶,賦予其發(fā)表主題的權(quán)利,這就需要實(shí)現(xiàn)用戶注冊(cè)及登錄的功能。每一個(gè)系統(tǒng)都需要管理員這個(gè)特殊群體的存在,所以也需要實(shí)現(xiàn)管理員登陸的功能。管理員區(qū)別于一般用戶的地方在于,管理員往往具有更高的權(quán)限,有權(quán)對(duì)用戶信息和帖子內(nèi)容作出某些“增刪改查的操作,所以,針對(duì)管理員,系統(tǒng)應(yīng)該實(shí)現(xiàn)刪除和修改帖子以及對(duì)用戶的管理等功能,以實(shí)現(xiàn)管理員對(duì)社區(qū)的管理 。考慮到社區(qū)訪問(wèn)量會(huì)很大,用戶發(fā)表的帖子的數(shù)量自然很多,在浩瀚的帖子海洋中,如何才能查看自己感興趣的帖子成為了一個(gè)不得不考慮的問(wèn)題。所以,系統(tǒng)還應(yīng)該實(shí)現(xiàn)搜索帖子的功能,用模糊查
23、詢的方法,對(duì)社區(qū)的帖子進(jìn)行篩檢的工作。本系統(tǒng)針對(duì)用戶還實(shí)現(xiàn)了一個(gè)特殊的功能,即郵件發(fā)送。如果某個(gè)用戶對(duì)其他的用戶感興趣,那么可以通過(guò)將郵件發(fā)送到指定用戶注冊(cè)時(shí)所填寫的郵箱地址,這樣的話,就能夠?qū)崿F(xiàn)即時(shí)通訊的功能。綜上所述,BBS論壇系統(tǒng)的功能就可以進(jìn)行如下劃分:1、前臺(tái)局部主要涉及系統(tǒng)前臺(tái),即用戶所能看到的網(wǎng)頁(yè)所涉及到的功能。主要包括:用戶注冊(cè)/登錄,發(fā)表新主題,回復(fù)主題,查看主題內(nèi)容,搜索主題,郵件發(fā)送。2、后臺(tái)管理局部主要是數(shù)據(jù)庫(kù)的操作,針對(duì)系統(tǒng)管理員設(shè)置的一些功能。主要包括:管理員登錄,刪除與修改主題和用戶信息管理。 SKIPIF 1 0 圖2-1 系統(tǒng)功能介紹數(shù)據(jù)庫(kù)局部,本系統(tǒng)新建了系
24、統(tǒng)用數(shù)據(jù)庫(kù)bbs,并在其下創(chuàng)立了五張表:user用戶表、article主題表、admin管理員表、grade用戶等級(jí)表和edit版塊類別。本系統(tǒng)在設(shè)計(jì)之初,為簡(jiǎn)單起見(jiàn),欲暫不考慮系統(tǒng)管理員的設(shè)置,默認(rèn)此系統(tǒng)只有一個(gè)管理員賬戶,用戶名和密碼均為“admin。但這種做法在現(xiàn)實(shí)生活中是很難滿足實(shí)際需求的。所以,最終創(chuàng)立了管理員表admin,以實(shí)現(xiàn)對(duì)管理員信息的統(tǒng)一存儲(chǔ)和管理。理論上應(yīng)該有四個(gè)業(yè)務(wù)角色:游客、用戶、管理員以及帖子。系統(tǒng)的用例圖如下: SKIPIF 1 0 圖2-2 系統(tǒng)用例圖從用例圖中我們可以看出,游客的權(quán)限最低,只能查看、回復(fù)和搜索主題;用戶的權(quán)限居中,能夠發(fā)布、回復(fù)、搜索和查看主題
25、;管理員的權(quán)限最高,除了能夠?qū)崿F(xiàn)用戶的所有功能,還能夠修改和刪除主題,并且能夠?qū)τ脩粜畔⑦M(jìn)行管理,具有行使系統(tǒng)所能夠提供的一切權(quán)利。說(shuō)明:用戶和游客非用戶的身份區(qū)別主要通過(guò)“用戶注冊(cè)的功能實(shí)現(xiàn),系統(tǒng)通過(guò)sql語(yǔ)句將注冊(cè)用戶信息保存到user表中,用戶登錄時(shí)查詢user表,并以返回結(jié)果的有無(wú)判斷個(gè)人的真實(shí)身份。系統(tǒng)的頂層數(shù)據(jù)流圖DFD如下: SKIPIF 1 0 圖2-3 頂層數(shù)據(jù)流圖DFD SKIPIF 1 平臺(tái)限制。本系統(tǒng)是在Window xp環(huán)境下開(kāi)發(fā),對(duì)系統(tǒng)沒(méi)有過(guò)高的其它要求。2效勞器支持。本系統(tǒng)是基于B/S模式下的論壇系統(tǒng),采用的效勞器是Tomcat 版本。3數(shù)據(jù)庫(kù)支持。本系統(tǒng)采用的數(shù)
26、據(jù)庫(kù)是MySQL 5.1版本,同類型或更高級(jí)別的數(shù)據(jù)庫(kù)管理軟件都能適用。4基于MyEclipse平臺(tái)下開(kāi)發(fā)。2.2 可行性分析需求分析答復(fù)的是“做什么,不做什么的問(wèn)題,而可行性分析答復(fù)的那么是“做,還是不做的問(wèn)題。可行性分析是在調(diào)查分析的根底上,針對(duì)新系統(tǒng)的開(kāi)發(fā)是否具有實(shí)用性和可能性,對(duì)新系統(tǒng)的開(kāi)發(fā)從經(jīng)濟(jì)、技術(shù)、社會(huì)環(huán)境和人等發(fā)面進(jìn)行分析和研究??尚行苑治鐾軌?qū)Q策者提供有價(jià)值的依據(jù),以防止投資失誤,保證新系統(tǒng)的開(kāi)發(fā)成功。聯(lián)想集團(tuán)領(lǐng)導(dǎo)人柳傳志2006曾說(shuō):“沒(méi)錢賺的事我們不干;有錢賺但投不起錢的事不干;有錢賺也投的起錢但沒(méi)有可靠的人選,這樣的事也不干??梢?jiàn)可行性分析的重要性。1、技術(shù)可行性
27、技術(shù)上的可行性分析主要指在現(xiàn)有可用的技術(shù)根底上,是否能夠順利完成新系統(tǒng)的開(kāi)發(fā)工作。從硬件方面來(lái)看,計(jì)算機(jī)硬件的更新速度正在不斷提高,與此同時(shí),系統(tǒng)的穩(wěn)定性也在不斷加強(qiáng)。容量越來(lái)越大,性能越來(lái)越強(qiáng),而價(jià)錢卻越來(lái)越低。所以,僅從硬件方面來(lái)看,完全能夠提供滿意的系統(tǒng)開(kāi)發(fā)環(huán)境。從軟件方面來(lái)看,該BBS論壇采用了流行的動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)技術(shù)JSP和當(dāng)前流行的B/S瀏覽器/效勞器設(shè)計(jì)模式進(jìn)行開(kāi)發(fā)。B/S模式本身是隨著Internet技術(shù)的興起,對(duì)傳統(tǒng)C/S結(jié)構(gòu)的一種變化或者改良結(jié)構(gòu),具有很多傳統(tǒng)結(jié)構(gòu)所不具有的優(yōu)點(diǎn)。先進(jìn)的Internet/Intranet國(guó)際互聯(lián)網(wǎng)/企業(yè)內(nèi)部互聯(lián)網(wǎng)技術(shù),保證了B/S結(jié)構(gòu)的強(qiáng)有力態(tài)
28、勢(shì),將B/S結(jié)構(gòu)的應(yīng)用轉(zhuǎn)變成為一種特定時(shí)代條件下的大勢(shì)所趨。本系統(tǒng)的效勞器采用的是Tomcat 版本,Tomcat開(kāi)展至今,技術(shù)上自不必說(shuō),性能也很穩(wěn)定,完全能夠擔(dān)負(fù)效勞器的重任,輔助完成中小型應(yīng)用的成功開(kāi)發(fā)。數(shù)據(jù)庫(kù)效勞器選用的是MySQL 5.1版本,是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù),能夠同時(shí)處理大量數(shù)據(jù),并保證數(shù)據(jù)的完整性。它的靈活性、易用性和平安性為新系統(tǒng)的開(kāi)發(fā)提供了一個(gè)良好的環(huán)境。2、經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性所作的工作主要是對(duì)工程整體的經(jīng)濟(jì)效益進(jìn)行評(píng)估,本系統(tǒng)的目的是模擬一個(gè)網(wǎng)上交流的平臺(tái),供用戶在社區(qū)交流經(jīng)驗(yàn)、探討問(wèn)題。但實(shí)際只是用于個(gè)人畢業(yè)設(shè)計(jì),不涉及商業(yè)上的運(yùn)作,純粹模擬,故不存
29、在資金上的流動(dòng),也不存在經(jīng)濟(jì)不可行的問(wèn)題。3、社會(huì)可行性隨著Internet技術(shù)的迅猛開(kāi)展,BBS論壇已成為越來(lái)越多網(wǎng)民彼此交流,獲取信息的重要途徑。在論壇上,人們可以發(fā)表自己一切感興趣的話題,也可以根據(jù)別人所發(fā)的主題發(fā)表一些自己的看法,心得體會(huì)等。通過(guò)BBS論壇獲取信息及發(fā)表主題已成為一種時(shí)尚的生活方式。BBS論壇縮短了人們之間的距離,在不知不覺(jué)間,早已成為人們網(wǎng)上生活的必備工具,可見(jiàn)論壇存在的必要性和開(kāi)展的前景。3 系統(tǒng)總體設(shè)計(jì)3.1 系統(tǒng)目標(biāo)基于BBS論壇在現(xiàn)實(shí)生活的實(shí)際應(yīng)用,本系統(tǒng)的系統(tǒng)目標(biāo)是提供一個(gè)以現(xiàn)實(shí)環(huán)境為根底的網(wǎng)上模擬交流平臺(tái),通過(guò)它,人們可以不必拘泥于空間和時(shí)間上的限制,方便
30、交流,暢所欲言,同時(shí)也能夠更加便利的看到周圍人的想法,觀點(diǎn),最大化的豐富人們的視野和生活,讓人隨時(shí)都能身在其中,隨時(shí)也能置身事外。3.2 系統(tǒng)功能劃分 前臺(tái)功能結(jié)構(gòu)系統(tǒng)的前臺(tái)初始頁(yè)面如下,登錄地址為“ :/localhost:8080/BBS:圖3-1財(cái)大家園網(wǎng)首頁(yè)當(dāng)用戶登錄到論壇首頁(yè)時(shí),其默認(rèn)的身份就是游客,只能查看、回復(fù)、搜索帖子,而不能執(zhí)行發(fā)帖等其它操作。如果用戶為非注冊(cè)用戶,那么其可以進(jìn)行注冊(cè)以獲得一個(gè)登錄身份。如果用戶為已注冊(cè)用戶,那么其可以直接進(jìn)行登錄,然后以注冊(cè)用戶的身份執(zhí)行諸如發(fā)表新主題、查看新主題、回復(fù)主題、搜索主題等一系列操作。前臺(tái)系統(tǒng)流程圖具體如下: SKIPIF 1 0
31、 圖3-2 前臺(tái)系統(tǒng)流程圖此時(shí),用戶已經(jīng)具有了一種身份,此后用戶可以以此種身份執(zhí)行諸如發(fā)表新主題、查看主題、搜索主題、回復(fù)主題等操作。 后臺(tái)功能結(jié)構(gòu)后臺(tái)功能主要是針對(duì)管理員而設(shè)置的,用戶以管理員的身份登陸后,就能執(zhí)行后臺(tái)管理的操作,具體到此BBS論壇,主要是指刪除和修改主題以及對(duì)用戶信息的管理。后臺(tái)系統(tǒng)流程圖如下: SKIPIF 1 0 圖3-3 后臺(tái)系統(tǒng)流程圖3.3 系統(tǒng)開(kāi)發(fā)環(huán)境 開(kāi)發(fā)環(huán)境在建立工程前,需要首先搭建開(kāi)發(fā)環(huán)境。此BBS論壇系統(tǒng)的開(kāi)發(fā)需要用到以下幾種工具,故開(kāi)發(fā)前需要進(jìn)行相應(yīng)的下載和安裝:開(kāi)發(fā)平臺(tái):MyEclipse 9.0M2Web效勞器:Tomcat 數(shù)據(jù)庫(kù)效勞器:MySQL
32、 5.1Java開(kāi)發(fā)工具:JDK 輔助工具:Dreamweaver CS4 系統(tǒng)平臺(tái)體系結(jié)構(gòu)的選擇在系統(tǒng)開(kāi)發(fā)領(lǐng)域內(nèi),目前存在兩大主流系統(tǒng)平臺(tái)的開(kāi)發(fā)結(jié)構(gòu),一種是C/S結(jié)構(gòu),而另一種是B/S結(jié)構(gòu)。C/S結(jié)構(gòu),即大家熟知的客戶端/效勞器結(jié)構(gòu),是一種應(yīng)用較早,相對(duì)傳統(tǒng)的開(kāi)發(fā)模式。通過(guò)它,可以充分利用兩端硬件環(huán)境的優(yōu)勢(shì),將任務(wù)合理的分配到Client端和Server端,降低了系統(tǒng)的通訊開(kāi)銷。B/S結(jié)構(gòu),即瀏覽器/效勞器結(jié)構(gòu),是隨著Internet的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改良。在這種結(jié)構(gòu)下,用戶不需要借助于客戶端軟件,通過(guò)WWW瀏覽器,即可實(shí)現(xiàn)系統(tǒng)的全部既定功能。在這種模式下,一局部事務(wù)邏輯在前
33、段實(shí)現(xiàn),但是主要事務(wù)邏輯在效勞器端實(shí)現(xiàn),大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的本錢,從而降低了用戶的整體本錢。從開(kāi)放程度來(lái)說(shuō),傳統(tǒng)的C/S結(jié)構(gòu)雖然采用的是開(kāi)放模式,但這個(gè)開(kāi)放性只是針對(duì)系統(tǒng)開(kāi)發(fā)一級(jí)的,在特定的應(yīng)用中,無(wú)論是客戶端還是效勞器端都還需要特定的軟件支持。而B/S結(jié)構(gòu),是一次性到位的開(kāi)發(fā),應(yīng)用此模式開(kāi)發(fā)的系統(tǒng),不同人員,在不同地點(diǎn),以不同的接入方式比方LAN、WAN等訪問(wèn)并操作共同的數(shù)據(jù)庫(kù),能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,效勞器的數(shù)據(jù)庫(kù)也很平安。特別是在Java這樣的跨平臺(tái)語(yǔ)言出現(xiàn)之后,B/S架構(gòu)管理軟件起來(lái)更是顯得方便,快捷和高效。可以說(shuō),B/S是乘著Internet興
34、起的風(fēng)而楊風(fēng)遠(yuǎn)航的,是適應(yīng)時(shí)代的產(chǎn)物。但是,B/S也存在著自己的缺乏,比方說(shuō)其在大量數(shù)據(jù)分析,實(shí)時(shí)控制應(yīng)用方面就存在著需要改良的地方。綜合考慮,本系統(tǒng)還是考慮使用當(dāng)下流行的B/S結(jié)構(gòu)作為系統(tǒng)的開(kāi)發(fā)模式。 JavaScript語(yǔ)言簡(jiǎn)介及特點(diǎn)JavaScript語(yǔ)言是Netscape公司開(kāi)發(fā)的一種腳本性語(yǔ)言Scripting language,或者稱其為描述性語(yǔ)言。作為一種編程語(yǔ)言,其出現(xiàn)的使命就是為了適合動(dòng)態(tài)網(wǎng)頁(yè)制作的需要,頗具工具色彩。在靜態(tài)網(wǎng)頁(yè)Html的根底上,使用JavaScript可以開(kāi)發(fā)交互式Web網(wǎng)頁(yè),能夠使網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使得網(wǎng)頁(yè)包含更多活潑的
35、元素和更加精彩內(nèi)容。可以說(shuō),JavaScript是專門為制作Web網(wǎng)頁(yè)而量身定做的一種簡(jiǎn)單的編程語(yǔ)言。JavaScript是在客戶機(jī)上執(zhí)行的,其特點(diǎn)和功能主要是短小精悍,能夠大大提高網(wǎng)頁(yè)的瀏覽速度和交互能力。其特有的工具色彩讓其在動(dòng)態(tài)網(wǎng)頁(yè)的開(kāi)發(fā)中找到了用武之地。 JSP概述JSP是由Sun公司在Java語(yǔ)言的根底上開(kāi)發(fā)出來(lái)的一種動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù),其將標(biāo)記插入到頁(yè)面中,從而使網(wǎng)頁(yè)中的靜態(tài)局部和動(dòng)態(tài)局部別離開(kāi)來(lái)。JSP是類似ASP的一種技術(shù),在傳統(tǒng)的靜態(tài)網(wǎng)頁(yè)HTML文件插入Java程序段和JSP標(biāo)記,就形成了JSP文件。 JSP技術(shù)的強(qiáng)勢(shì)在于:1、一次編寫,到處運(yùn)行。在更換系統(tǒng)時(shí),代碼不需要做任何
36、修改。2、系統(tǒng)的多平臺(tái)支持。根本上可以在所有平臺(tái)上的任意環(huán)境下開(kāi)發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。3、強(qiáng)大的可伸縮性。通過(guò)小小的jar文件運(yùn)行servlet/JSP,到由多臺(tái)效勞器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,一臺(tái)效勞器到無(wú)數(shù)臺(tái)效勞器,JSP表現(xiàn)了強(qiáng)大的可伸縮性。4、多樣化和功能強(qiáng)大的開(kāi)發(fā)工具支持,常用的編輯工具有Dreamweaver和MyEclipse等。 MySQLMySQL可以稱得上是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù),除了具有許多其他數(shù)據(jù)庫(kù)所不具備的功能和選擇外,MySQL數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫(kù),用于個(gè)人
37、和商業(yè)用途,而不必支付任何費(fèi)用。 JDBC技術(shù)數(shù)據(jù)庫(kù)管理是每個(gè)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程中不得不考慮的問(wèn)題,目前主流的數(shù)據(jù)庫(kù)有Oracle、SqlServer、MySql等。不管使用何種技術(shù),都離不開(kāi)JDBC技術(shù)的支持。JDBC的全稱是Java DataBases Connectivity standard,即Java數(shù)據(jù)庫(kù)連接,是一種數(shù)據(jù)庫(kù)通用接口采用的主流技術(shù)。其定義了用來(lái)訪問(wèn)數(shù)據(jù)庫(kù)源的標(biāo)準(zhǔn)Java類庫(kù),通過(guò)它使用一種標(biāo)準(zhǔn)方法,就能夠方便的訪問(wèn)數(shù)據(jù)庫(kù)資源。所以,JDBC又是一種標(biāo)準(zhǔn),其目標(biāo)是使應(yīng)用程序開(kāi)發(fā)人員通過(guò)它連接任何提供JDBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)系統(tǒng),這樣就使得程序員無(wú)需對(duì)某種數(shù)據(jù)庫(kù)有過(guò)多的了解
38、,大大加快了開(kāi)發(fā)過(guò)程。有了JDBC,向各種數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句就是一件再簡(jiǎn)單不過(guò)的事了。換言之,有了JDBC,就不必為訪問(wèn)數(shù)據(jù)庫(kù)A專門再寫一個(gè)程序,又為訪問(wèn)數(shù)據(jù)庫(kù)B專門寫一個(gè)程序。所以,JDBC為Java應(yīng)用程序與各種不同數(shù)據(jù)庫(kù)之間進(jìn)行對(duì)話提供了一個(gè)標(biāo)準(zhǔn)的方法,這也是Java語(yǔ)言“一次編寫,到處運(yùn)行的優(yōu)勢(shì)。4 數(shù)據(jù)庫(kù)設(shè)計(jì)4.1 數(shù)據(jù)庫(kù)分析數(shù)據(jù)庫(kù)的設(shè)計(jì),在應(yīng)用系統(tǒng)的開(kāi)發(fā)中起著舉足輕重的作用。一個(gè)合理、有效的數(shù)據(jù)庫(kù)設(shè)計(jì)不僅是做好系統(tǒng)的保證,也能降低程序的復(fù)雜性,使程序的開(kāi)發(fā)過(guò)程變得更加容易。本系統(tǒng)是一個(gè)中型的BBS論壇系統(tǒng),考慮到用戶信息量和用戶需求等問(wèn)題,決定采用MySQl作為工程用數(shù)據(jù)庫(kù)。My
39、SQl是一個(gè)中小關(guān)系型數(shù)據(jù)管理系統(tǒng),最初由MySQL AB公司發(fā)布。MySQL由于體積小、速度快、總體擁有本錢低等原因,成為許多中小型網(wǎng)站數(shù)據(jù)庫(kù)的首選。MySQL可以稱得上是目前運(yùn)行速度最快的SQL語(yǔ)言數(shù)據(jù)庫(kù),此外,MySQL數(shù)據(jù)庫(kù)是一種完全免費(fèi)的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫(kù),用于個(gè)人和商業(yè)用途,而不必支付任何費(fèi)用。4.2 數(shù)據(jù)庫(kù)概念設(shè)計(jì)ER圖是實(shí)體聯(lián)系圖,E-R模型是對(duì)現(xiàn)實(shí)世界的一種抽象。其組成局部主要包括實(shí)體、聯(lián)系和屬性。使用這三種成分,我們可以很好的抽象出現(xiàn)實(shí)世界中的個(gè)體,并通過(guò)彼此之間的聯(lián)系來(lái)抽象整個(gè)世界。E-R模型是設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)經(jīng)常使用到的方法。經(jīng)過(guò)分析,本系統(tǒng)創(chuàng)立了五張數(shù)據(jù)庫(kù)
40、表,即帖子表article、版塊表edit、用戶等級(jí)表grade、用戶表user和管理員表admin。下面劃分出本系統(tǒng)所使用的數(shù)據(jù)庫(kù)實(shí)體,它們分別為用戶User和帖子(Article)以及管理員admin。以下是帖子、用戶和管理員的實(shí)體圖: SKIPIF 1 0 圖4-1 帖子實(shí)體圖 SKIPIF 1 0 圖4-2 用戶實(shí)體表 SKIPIF 1 0 圖4-3 實(shí)體管理員表系統(tǒng)的E-R圖如下: SKIPIF 1 0 圖4-4 系統(tǒng)E-R圖4.3 數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì)根據(jù)數(shù)據(jù)庫(kù)的概念設(shè)計(jì),可以創(chuàng)立與實(shí)體對(duì)應(yīng)的數(shù)據(jù)表。1、用戶表User下面是對(duì)表User的具體設(shè)計(jì)表4-1 user字段名屬性約束意義1u
41、serNamevarchar(30)primary key用戶名2passwordvarchar(25)無(wú)密碼3rePasswordvarchar(25)無(wú)確認(rèn)密碼4mainUrlvarchar(50)無(wú)郵箱地址5loginTimedatetime無(wú)注冊(cè)時(shí)間6gradeNointForeign key用戶等級(jí)說(shuō)明:*userName是注冊(cè)用戶的用戶名,為User表的主鍵。 *password是用戶密碼,為用戶登錄時(shí)用。 *rePassword是確認(rèn)密碼,與用戶密碼對(duì)應(yīng)。 *mailUrl是用戶的郵箱地址,通過(guò)它,我們可以與之通過(guò)郵件通信。 *loginTime表示用戶注冊(cè)的時(shí)間。*gradeN
42、o表示用戶的等級(jí),與登記表grade中的gradeId相關(guān)聯(lián),組成表的外鍵。共分為四個(gè)等級(jí):菜鳥、列兵、星級(jí)標(biāo)兵和士官。 *在注冊(cè)過(guò)程中,password和rePassword必須一致,否那么無(wú)法成功注冊(cè)。2、管理員表admin表4-2 admin字段名屬性約束意義1adminIdintprimary key管理員編號(hào)2adminNamevarchar(25)無(wú)管理員姓名3passwordvarchar(25)無(wú)密碼4adminTimedatetime無(wú)創(chuàng)立時(shí)間3、帖子表Article下面是對(duì)表Article的具體設(shè)計(jì)表4-3 article字段名屬性約束意義1idintprimary key
43、帖子id2pid int無(wú)父親id3rootidint無(wú)根id4editNoInt無(wú)所屬版塊5titlevarchar(30)無(wú)標(biāo)題6conttext無(wú)內(nèi)容7pdatedatetime無(wú)發(fā)帖時(shí)間8writervarchar(30)foreign key作者9viewCountint無(wú)帖子查看量10replyCountint無(wú)帖子回復(fù)量11isleafint無(wú)判斷帖子是否為葉子節(jié)點(diǎn)12isEssenceint無(wú)判斷帖子是否為精華帖說(shuō)明:*id是帖子的編號(hào),為本表的主鍵。 *pid是父親id的編號(hào),表示被回復(fù)的帖子id號(hào)。 *rootid表示根貼的id號(hào),表示最初發(fā)起主題的帖子id號(hào)。 *edit
44、No表示帖子所屬的板塊號(hào),每個(gè)版塊的帖子分版塊區(qū)別顯示。 *title表示帖子的主題。 *cont表示帖子的內(nèi)容。 *pdate表示發(fā)帖的具體時(shí)間。 *writer表示發(fā)帖的作者,此外鍵對(duì)應(yīng)user表中userName字段。 *viewCount表示帖子的查看量。 *replyCount表示帖子的回復(fù)量。 *isLeaf判斷帖子是否為葉子節(jié)點(diǎn),值為1時(shí)表示為非葉子節(jié)點(diǎn);為0時(shí)表示為葉子節(jié)點(diǎn)。 *isEssence判斷帖子是否為精華帖,值為1是表示是精華帖;反之,那么不是。 4、用戶等級(jí)表grade圖4-4 grade字段名屬性約束意義1gradeIdintprimary key等級(jí)編號(hào)2gra
45、deContvarchar(25)無(wú)等級(jí)內(nèi)容 5、版塊類別表edit圖4-5 edit字段名屬性約束意義1editedintprimary key版塊編號(hào)2editNamevarchar(25)無(wú)版塊內(nèi)容 SKIPIF 1 0 圖4-5 數(shù)據(jù)庫(kù)模型圖5 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)5.1 前臺(tái)設(shè)計(jì)系統(tǒng)的前臺(tái),即是直接面向用戶的所有頁(yè)面。因?yàn)榍芭_(tái)的功能模塊較多,而各個(gè)模塊的實(shí)現(xiàn)過(guò)程都是類似的,所以對(duì)于系統(tǒng)前臺(tái)的介紹,只是做有選擇的系統(tǒng)重點(diǎn)設(shè)計(jì)介紹。 前臺(tái)頁(yè)面設(shè)計(jì)與實(shí)現(xiàn)本系統(tǒng)的所有頁(yè)面都采用了統(tǒng)一的簡(jiǎn)化頁(yè)面框架,包括頁(yè)頭和內(nèi)容顯示區(qū)。前臺(tái)首頁(yè)的頁(yè)面運(yùn)行結(jié)果已在前文中出現(xiàn)過(guò),此處不再累述。下面主要介紹前臺(tái)首頁(yè)
46、面index.jsp的具體實(shí)現(xiàn)。由于論壇是以主題分版塊展示的,下面以其中一個(gè)板塊頁(yè)面做詳細(xì)介紹。局部主要代碼如下:%List articles = new ArrayList();Connection conn = DB.getConn();/創(chuàng)立與數(shù)據(jù)庫(kù)的連結(jié)Statement stmt = DB.createStmt(conn);/通過(guò)連結(jié)創(chuàng)立Statement對(duì)象String sql = select * from article; ResultSet rs = DB.executeQuery(stmt, sql );/執(zhí)行sql語(yǔ)句,并返回結(jié)果集while (rs.next() Art
47、icle a = new Article();a.initFromRs(rs);articles.add(a);/記錄總查看量int totalViewNum=0;/記錄帖子總數(shù)int totalArticleNum=0;/*查詢出帖子的總查看量*/for (Iterator it = articles.iterator(); it.hasNext();) Article a = it.next();totalViewNum+=a.getViewCount();/*查詢出帖子的總回復(fù)量*/String sql1=select count(id) from article where pid=0
48、;ResultSet rs1 = DB.executeQuery(stmt, sql1);rs1.next();totalArticleNum = rs1.getInt(1);/*查詢出最后的發(fā)帖作者*/String sql2=select * from article order by pdate desc;ResultSet rs2 = DB.executeQuery(stmt, sql2);while (rs2.next() Article a = new Article();a.initFromRs(rs2);articles.add(a);Iterator it1 = article
49、s.iterator();Article a1=it1.next();String lastWriter=a1.getWriter();DB.close(rs2);DB.close(rs1);DB.close(rs);DB.close(stmt);DB.close(conn);%以上的語(yǔ)句實(shí)現(xiàn)的有三個(gè)功能:1、查詢出帖子的總查看量;2、查詢出帖子的總回復(fù)量;3、查詢出最后的發(fā)帖作者。這些都是對(duì)整個(gè)板塊的總體統(tǒng)計(jì),是對(duì)板塊信息的最直觀的展現(xiàn)。 用戶注冊(cè)/登錄、管理員登錄在論壇首頁(yè),提供了三個(gè)登錄、注冊(cè)入口,包括:用戶注冊(cè)/登錄、管理員登錄;通過(guò)點(diǎn)擊如下鏈接,進(jìn)入到對(duì)應(yīng)各個(gè)界面。普通用戶注冊(cè) 普通
50、用戶登錄 管理員登錄入口1用戶注冊(cè)用戶注冊(cè)的網(wǎng)頁(yè)文件對(duì)應(yīng)的是“l(fā)oginUser.jsp文件,在此頁(yè)面下,非注冊(cè)用戶可以進(jìn)行注冊(cè)的操作。運(yùn)行效果圖如下:圖5-1 用戶注冊(cè)界面用戶完成注冊(cè)后,注冊(cè)的用戶名和密碼就被寫入到用戶表user。之后,會(huì)出現(xiàn)一個(gè)用戶信息確認(rèn)頁(yè)面,以最終完成用戶的注冊(cè)。確認(rèn)無(wú)誤后,點(diǎn)擊鏈接,頁(yè)面就跳轉(zhuǎn)到論壇首頁(yè),此時(shí)的用戶身份還是“游客,之后可以通過(guò)登錄改變用戶身份狀態(tài)。在用戶注冊(cè)的時(shí)候,如果用戶輸入的密碼和重復(fù)密碼不一致,會(huì)出現(xiàn)“密碼和重復(fù)密碼不一致的錯(cuò)誤信息提示,然后頁(yè)面返回到注冊(cè)頁(yè)面。如果用戶所有待填項(xiàng)輸入無(wú)誤,那么進(jìn)入用戶信息確認(rèn)頁(yè)面。以下是用戶信息確認(rèn)頁(yè)面的展示圖
51、:圖5-2 用戶信息確認(rèn)頁(yè)面用戶登錄用戶完成注冊(cè)后,就可以進(jìn)行用戶登錄的操作,用戶登陸頁(yè)面如下:圖5-3 用戶登錄界面在用戶登錄時(shí),如果用戶名或密碼輸入有誤,那么會(huì)出現(xiàn)“invalid username or password的錯(cuò)誤信息提示,然后頁(yè)面返回到登陸頁(yè)面供用戶修正輸入繼續(xù)登錄。 論壇版塊的展示下面以“青蔥歲月區(qū)為例,來(lái)介紹論壇版塊的展示操作。在論壇首頁(yè),通過(guò)鏈接版塊鏈接,進(jìn)入到特定版塊的特定頁(yè)面?!白畛醯膲?mèng)想版塊頁(yè)面運(yùn)行效果圖5-4 “最初的夢(mèng)想“版塊頁(yè)面運(yùn)行效果圖從運(yùn)行效果來(lái)看,此處運(yùn)用了分頁(yè)技術(shù)。分頁(yè)技術(shù)實(shí)現(xiàn)的關(guān)鍵點(diǎn)依賴于一條重要的sql語(yǔ)句,具體如下:Select * from
52、 Table order by 參數(shù)1 limit startPage+, endPage;其中,Table是所要查詢的表名稱; startPage是起始頁(yè)面; endPage是結(jié)束頁(yè)面。執(zhí)行的效果是查詢出排序結(jié)果的制定起始行到指定結(jié)束行的所有頁(yè)面。板塊頁(yè)面的展示是通過(guò)一個(gè)循環(huán)來(lái)實(shí)現(xiàn)的,在循環(huán)的根底上,為頁(yè)面實(shí)現(xiàn)了一個(gè)優(yōu)化:奇偶行以不同的顯示效果展現(xiàn)。優(yōu)化的方式主要向jsp頁(yè)面導(dǎo)入class文件,在導(dǎo)入的時(shí)候,針對(duì)行數(shù)的奇偶性采取不同的對(duì)應(yīng)操作。主要代碼如下:%int lineNum = 0;for(Iterator it = articles.iterator(); it.hasNext()
53、;) Article a = it.next();String classStr = lineNum % 2 = 0 ? jive-even : jive-odd; /區(qū)分奇偶行,以不同效果區(qū)分顯示%實(shí)現(xiàn)代碼具體如下:代碼段1:獲取制定局部行的查詢結(jié)果%final int PAGE_SIZE = 8; /每頁(yè)顯示的主題數(shù)目int pageNo = 1; /記錄當(dāng)前頁(yè)數(shù)String strPageNo = request.getParameter(pageNo);if (strPageNo != null & !strPageNo.trim().equals() try pageNo = Int
54、eger.parseInt(strPageNo); catch (NumberFormatException e) pageNo = 1;if (pageNo = 0) pageNo = 1;int totalPages = 0; /記錄符合要求的總主題頁(yè)數(shù)List articles = new ArrayList();Connection conn = DB.getConn();Statement stmtCount = DB.createStmt(conn);ResultSet rsCount = DB.executeQuery(stmtCount,select count(*) from
55、 article where pid=0);rsCount.next();int totalRecords = rsCount.getInt(1);totalPages = (totalRecords + PAGE_SIZE - 1) / PAGE_SIZE;if (pageNo totalPages) pageNo = totalPages;Statement stmt = DB.createStmt(conn);int startPos = (pageNo - 1) * PAGE_SIZE;String sql = select * from article where pid=0 ord
56、er by pdate desc limit + startPos + , + PAGE_SIZE; ResultSet rs = DB.executeQuery(stmt, sql);while (rs.next() Article a = new Article();a.initFromRs(rs);articles.add(a);代碼段2:將獲取的結(jié)果根據(jù)行號(hào)的奇偶性分頁(yè)展示:%int lineNum = 0;for (Iterator it = articles.iterator(); it.hasNext();) Article a = it.next();String classS
57、tr = lineNum % 2 = 0 ? jive-even : jive-odd; /區(qū)分奇偶行,以不同效果區(qū)分顯示TR class=靜態(tài)局部 發(fā)表新主題在論壇版塊展示頁(yè)面中,注冊(cè)用戶可以執(zhí)行發(fā)表新主題的操作,對(duì)游客而言,那么不能實(shí)現(xiàn)此功能。這個(gè)功能是通過(guò)區(qū)分用戶登錄方式的不同而實(shí)現(xiàn)的,非注冊(cè)用戶點(diǎn)擊“發(fā)表新主題的連接后會(huì)出現(xiàn)一個(gè)錯(cuò)誤提示及跳轉(zhuǎn)頁(yè)面,以提示用戶目前處于“非登錄用戶狀態(tài),無(wú)權(quán)發(fā)表新主題。已注冊(cè)用戶成功登陸后,那么可以進(jìn)行發(fā)表新主題的操作,運(yùn)行頁(yè)面效果如下:圖5-5 發(fā)表主題頁(yè)面成功發(fā)表后,所發(fā)表主題會(huì)顯示在論壇版塊展示頁(yè)面下圖5-4。 搜索主題和發(fā)表新主題不同,所有的用戶都
58、能夠執(zhí)行搜索主題的操作。在論壇版塊展示頁(yè)面點(diǎn)擊“搜索主題“鏈接,進(jìn)入到搜索主題頁(yè)面。圖5-6 搜索頁(yè)面圖5-7 搜索結(jié)果頁(yè)面 查看及回復(fù)主題點(diǎn)擊主題鏈接,進(jìn)入主題查看頁(yè)面。圖5-8 主題顯示頁(yè)面在此頁(yè)面,用戶點(diǎn)擊“回復(fù)按鈕,即可進(jìn)入到回復(fù)主題頁(yè)面,運(yùn)行效果如下。圖5-9 主題回復(fù)頁(yè)面在此,需要說(shuō)明的是:為了美化回復(fù)的效果,在此參加了Fckeditor網(wǎng)頁(yè)編輯器。具體實(shí)現(xiàn)步驟為:首先從網(wǎng)上下載一個(gè)Fckeditor,將解壓文件拷貝到工程“WebRoot目錄下,然后到壓縮包解壓文件“FCKeditor2.6.4 ”下的路徑:“fckeditor_sampleshtmlsample02.html下,
59、翻開(kāi)靜態(tài)頁(yè)“sample02.html,然后將其代碼復(fù)制、粘貼到回復(fù)頁(yè)面“reply.jsp。修改即可。修改后的代碼段如下:window.onload = function()/ Automatically calculates the editor base path based on the _samples directory./ This is usefull only for these samples. A real application should use something like this:/ oFCKeditor.BasePath = /fckeditor/ ;/ /
60、fckeditor/ is the default value.var sBasePath = ;var oFCKeditor = new FCKeditor( cont ) ;oFCKeditor.BasePath= sBasePath ;oFCKeditor.ReplaceTextarea() ;點(diǎn)擊提交,回復(fù)內(nèi)容會(huì)顯示在上級(jí)頁(yè)面。圖5-10 回復(fù)后主題顯示頁(yè)面5.1.7 優(yōu)化主題的一些小設(shè)計(jì)1信息統(tǒng)計(jì)1、帖子查看量與回復(fù)量的統(tǒng)計(jì)如圖5-4所示,在論壇版塊的展示頁(yè)面,會(huì)有“查看、“回復(fù)兩個(gè)代表帖子被查看量和被回復(fù)量的信息提示,這個(gè)是通過(guò)對(duì)article表設(shè)置的兩個(gè)冗余變量“viewCoun
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學(xué)年高中化學(xué)下學(xué)期第一周教學(xué)實(shí)錄
- 8第九套廣播體操6-7節(jié)5 教學(xué)設(shè)計(jì)-八年級(jí)體育與健康
- 2024年春七年級(jí)地理下冊(cè) 第七章 第一節(jié) 日本教學(xué)實(shí)錄 (新版)新人教版
- 10 青山處處埋忠骨(教學(xué)設(shè)計(jì))-2023-2024學(xué)年統(tǒng)編版語(yǔ)文五年級(jí)下冊(cè)
- 2024年五年級(jí)數(shù)學(xué)下冊(cè) 四 長(zhǎng)方體(二)第1課時(shí) 體積與容積教學(xué)實(shí)錄 北師大版
- 4 藏戲 教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè)
- 誤差對(duì)產(chǎn)品質(zhì)量影響評(píng)估方案
- 企業(yè)資源規(guī)劃系統(tǒng)全面整合方案
- 2024-2025學(xué)年高中化學(xué) 第1章 物質(zhì)結(jié)構(gòu) 元素周期律 第1節(jié) 元素周期表教學(xué)實(shí)錄 新人教版必修2
- 2024年五年級(jí)英語(yǔ)上冊(cè) Unit 2 My Country and English-speaking Countries Lesson 11 Australia教學(xué)實(shí)錄 冀教版(三起)
- 2025教科版六年級(jí)科學(xué)下冊(cè)全冊(cè)教案【含反思】
- 2025年常州機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)含答案
- 南充經(jīng)濟(jì)開(kāi)發(fā)區(qū)投資集團(tuán)有限公司2024年招聘筆試參考題庫(kù)附帶答案詳解
- 甘肅四年級(jí)信息技術(shù)下冊(cè)教學(xué)設(shè)計(jì)(簡(jiǎn)版)(含核心素養(yǎng))
- 作文復(fù)習(xí):破繭成蝶逆天改命-《哪吒2》現(xiàn)象級(jí)成功的高考寫作啟示 課件
- 2025年湖南機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)1套
- 2025中建三局(中原)社會(huì)招聘高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 【生 物】光合作用課件-2024-2025學(xué)年人教版生物七年級(jí)下冊(cè)
- 人教版 七年級(jí)英語(yǔ)下冊(cè) UNIT 2 單元綜合測(cè)試卷(2025年春)
- 2024年“新能源汽車裝調(diào)工”技能及理論知識(shí)考試題與答案
- 【地理】非洲-位置與范圍 高原為主的地形課件-2024-2025學(xué)年湘教版(2024)七下
評(píng)論
0/150
提交評(píng)論