版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、本科生畢業(yè)論文(設計)基于JSP的財大家園BBS論壇的設計與實現(xiàn)姓名學號專業(yè)指導教師2011年05月20日摘要隨著網(wǎng)絡應用的興起,人們交流的方式也發(fā)生了翻天覆地的變化。網(wǎng)絡聊天、網(wǎng)絡視頻和郵箱系統(tǒng)等網(wǎng)絡應用的出現(xiàn)正在改變著人們彼此之間溝通、交流的方式。此外,為了滿足人們在某一特定主題下的知識獲取和信息發(fā)布,出現(xiàn)了在線網(wǎng)絡論壇。各種各樣的主題論壇幾乎囊括了人們生活的每個角落。人們根據(jù)自己的專業(yè)特長和興趣愛好在論壇上提出自己的問題,即提出主題。而后其他人根據(jù)主題內(nèi)容可以發(fā)表自己的意見和看法,即回復主題。一千個人有一千個哈姆雷特,論壇集大家之所長,所感,為每一個用戶提供了豐富的知識礦藏。論壇是一個讓
2、人足不出戶即可了解外界世界,了解他人所想的工具。在人們生活節(jié)奏逐步加快的今天,必有其存在的現(xiàn)實意義。正是基于這樣的認識,開發(fā)了此BBS論壇系統(tǒng)。除了提供根本的看帖、發(fā)帖、回帖、搜帖的功能,針對管理員用戶系統(tǒng)還提供了用戶管理和帖子管理的操作。目的是基于現(xiàn)實,為用戶提供一個模擬的網(wǎng)上交流環(huán)境。方便大家的溝通交流,豐富人們的娛樂文化生活。在論文的篇章上,本論文從系統(tǒng)分析、系統(tǒng)整體設計、數(shù)據(jù)庫設計、系統(tǒng)詳細設計與實現(xiàn)幾個方面對系統(tǒng)的開發(fā)過程作了詳細的介紹,旨在全面地呈現(xiàn)系統(tǒng)由最初設計到最終定型的各個階段,便于大家對系統(tǒng)有一個更好的把握和認識。系統(tǒng)的具體實現(xiàn)細節(jié)那么在論文的系統(tǒng)詳細設計與實現(xiàn)一章給出了具
3、體的闡述,各個功能版塊的展示也包含在其中,能夠直觀地看到系統(tǒng)運行后的演示效果。其間夾雜著局部主要代碼的輔助說明,便于從底層查看系統(tǒng)的最終實現(xià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)總體設計 PAGEREF _Toc294218949 h 8 HYPERLINK l _Toc294218950 3.1 系統(tǒng)目標 PAGEREF _Toc294218950 h 8 HYPERLINK l _Toc294218951 3.2 系統(tǒng)功能劃分 PAGEREF _Toc294218951 h 8 HYPERLINK l _Toc294218952 3.2.1 前臺功能結構
13、 PAGEREF _Toc294218952 h 8 HYPERLINK l _Toc294218953 3.2.2 后臺功能結構 PAGEREF _Toc294218953 h 9 HYPERLINK l _Toc294218954 3.3 系統(tǒng)開發(fā)環(huán)境 PAGEREF _Toc294218954 h 10 HYPERLINK l _Toc294218955 3.3.1 開發(fā)環(huán)境 PAGEREF _Toc294218955 h 10 HYPERLINK l _Toc294218956 3.3.2 系統(tǒng)平臺體系結構的選擇 PAGEREF _Toc294218956 h 11 HYPERLINK
14、 l _Toc294218957 3.3.3 JavaScript語言簡介及特點 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技術 PAGEREF _Toc294218960 h 12 HYPERLINK l _Toc294218961 4 數(shù)據(jù)庫設計 PA
15、GEREF _Toc294218961 h 13 HYPERLINK l _Toc294218962 4.1 數(shù)據(jù)庫分析 PAGEREF _Toc294218962 h 13 HYPERLINK l _Toc294218963 4.2 數(shù)據(jù)庫概念設計 PAGEREF _Toc294218963 h 13 HYPERLINK l _Toc294218964 4.3 數(shù)據(jù)庫的邏輯設計 PAGEREF _Toc294218964 h 15 HYPERLINK l _Toc294218965 5 系統(tǒng)詳細設計與實現(xiàn) PAGEREF _Toc294218965 h 19 HYPERLINK l _Toc
16、294218966 5.1 前臺設計 PAGEREF _Toc294218966 h 19 HYPERLINK l _Toc294218967 5.1.1 前臺頁面設計與實現(xiàn) PAGEREF _Toc294218967 h 19 HYPERLINK l _Toc294218968 5.1.2 用戶注冊/登錄、管理員登錄 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 查看及回復主題 PAGEREF _Toc294218972 h 27 HYPERLINK l _Toc294218973 5.1.7 優(yōu)化主題的一些小設計 PAGEREF _Toc294218973 h 29 HYPERLINK l _Toc294218974 5.2 后臺設計 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 結束語 PAGEREF _Toc294218978 h 36 HYPERLINK l _Toc294218979 參考文獻 PAGEREF _Toc294218979 h 381 引言網(wǎng)絡的興起與開
19、展,極大地改變了人們的思維和行為習慣?;诰W(wǎng)絡的應用也層出不窮,論壇就是最早興起的應用之一。作為一種傳遞消息的方式,最早的BBS的作用是公布股市的即時消息,而隨著時代的開展,現(xiàn)在的BBS的內(nèi)容已到達無所不包的程度。小到生活趣事,大到專業(yè)知識,各種各樣的主題論壇讓人眼花繚亂。論壇網(wǎng)頁的形式也由最初的靜態(tài)頁面開展到現(xiàn)在的動態(tài)頁面,更好的實現(xiàn)了用戶之間的交互。把BBS作為一種對外的展示窗口,進行內(nèi)外信息交流,已然成為群眾的廣泛需要。財大家園論壇就是通過動態(tài)Web開發(fā)技術和數(shù)據(jù)庫技術實現(xiàn)的以財大學生與老師為主要效勞對象的一個基于現(xiàn)實環(huán)境之上的一個網(wǎng)上論壇,力求創(chuàng)造出一個模擬的網(wǎng)上校園虛擬環(huán)境。財大人可
20、以足不出戶,在論壇上共享一切值得分享的主題,方便交流;外界人士也可以通過此論壇更好的了解財大學生的焦點和興趣所在,省時省力。在論壇的設計上,增加了版塊類別。不同的版塊區(qū)域所包含的討論主題會有所區(qū)分,這樣的話,就能以主題不同,分版塊分主題地記錄了你我他的點滴心聲。此論壇是基于B/S模式的一種JSP網(wǎng)頁論壇的設計與實現(xiàn),力求做到界面友好、簡單和易于操作。論文從幾個大的方面來對系統(tǒng)的開發(fā)做出了闡述。在系統(tǒng)分析一章從需求分析和可行性分析兩方面來做具體闡述;系統(tǒng)整體設計那么從系統(tǒng)目標、系統(tǒng)功能劃分和系統(tǒng)開發(fā)環(huán)境三大方面說明,結合后面的系統(tǒng)詳細設計與實現(xiàn)一章完成對系統(tǒng)從整體到細節(jié)的全方位的理解。數(shù)據(jù)庫設計
21、單獨設一章,對數(shù)據(jù)庫的分析、概念設計和邏輯設計給出了詳細說明。系統(tǒng)的詳細設計與實現(xiàn)一章對系統(tǒng)的各個功能模塊的設計與實現(xiàn)做了詳細說明,分為前臺設計和后臺設計兩個局部。其中,前臺設計幾乎囊括了整個設計與實現(xiàn)的大半局部。在所有章節(jié)中,系統(tǒng)總體設計、數(shù)據(jù)庫設計和系統(tǒng)詳細設計與實現(xiàn)三章是主要內(nèi)容。論文盡可能的將與系統(tǒng)相關的內(nèi)容解釋清楚,目的就是將系統(tǒng)的整個開發(fā)流程展示給大家。2 系統(tǒng)分析2.1 需求分析2.1.1 功能性需求開發(fā)BBS論壇系統(tǒng)的目的是為了提供一個大家交流的平臺,供人們發(fā)表看法、探討經(jīng)驗、討論問題。因此,BBS論壇系統(tǒng)的最根本的功能是發(fā)表主題,其次是其它人員根據(jù)主題發(fā)表自己的看法,即回復主
22、題??紤]到現(xiàn)實情況,并不是每一個訪問的游客都具有發(fā)表主題的權利,所以必須用一個身份綁定用戶,賦予其發(fā)表主題的權利,這就需要實現(xiàn)用戶注冊及登錄的功能。每一個系統(tǒng)都需要管理員這個特殊群體的存在,所以也需要實現(xiàn)管理員登陸的功能。管理員區(qū)別于一般用戶的地方在于,管理員往往具有更高的權限,有權對用戶信息和帖子內(nèi)容作出某些“增刪改查的操作,所以,針對管理員,系統(tǒng)應該實現(xiàn)刪除和修改帖子以及對用戶的管理等功能,以實現(xiàn)管理員對社區(qū)的管理 ??紤]到社區(qū)訪問量會很大,用戶發(fā)表的帖子的數(shù)量自然很多,在浩瀚的帖子海洋中,如何才能查看自己感興趣的帖子成為了一個不得不考慮的問題。所以,系統(tǒng)還應該實現(xiàn)搜索帖子的功能,用模糊查
23、詢的方法,對社區(qū)的帖子進行篩檢的工作。本系統(tǒng)針對用戶還實現(xiàn)了一個特殊的功能,即郵件發(fā)送。如果某個用戶對其他的用戶感興趣,那么可以通過將郵件發(fā)送到指定用戶注冊時所填寫的郵箱地址,這樣的話,就能夠?qū)崿F(xiàn)即時通訊的功能。綜上所述,BBS論壇系統(tǒng)的功能就可以進行如下劃分:1、前臺局部主要涉及系統(tǒng)前臺,即用戶所能看到的網(wǎng)頁所涉及到的功能。主要包括:用戶注冊/登錄,發(fā)表新主題,回復主題,查看主題內(nèi)容,搜索主題,郵件發(fā)送。2、后臺管理局部主要是數(shù)據(jù)庫的操作,針對系統(tǒng)管理員設置的一些功能。主要包括:管理員登錄,刪除與修改主題和用戶信息管理。 SKIPIF 1 0 圖2-1 系統(tǒng)功能介紹數(shù)據(jù)庫局部,本系統(tǒng)新建了系
24、統(tǒng)用數(shù)據(jù)庫bbs,并在其下創(chuàng)立了五張表:user用戶表、article主題表、admin管理員表、grade用戶等級表和edit版塊類別。本系統(tǒng)在設計之初,為簡單起見,欲暫不考慮系統(tǒng)管理員的設置,默認此系統(tǒng)只有一個管理員賬戶,用戶名和密碼均為“admin。但這種做法在現(xiàn)實生活中是很難滿足實際需求的。所以,最終創(chuàng)立了管理員表admin,以實現(xiàn)對管理員信息的統(tǒng)一存儲和管理。理論上應該有四個業(yè)務角色:游客、用戶、管理員以及帖子。系統(tǒng)的用例圖如下: SKIPIF 1 0 圖2-2 系統(tǒng)用例圖從用例圖中我們可以看出,游客的權限最低,只能查看、回復和搜索主題;用戶的權限居中,能夠發(fā)布、回復、搜索和查看主題
25、;管理員的權限最高,除了能夠?qū)崿F(xiàn)用戶的所有功能,還能夠修改和刪除主題,并且能夠?qū)τ脩粜畔⑦M行管理,具有行使系統(tǒng)所能夠提供的一切權利。說明:用戶和游客非用戶的身份區(qū)別主要通過“用戶注冊的功能實現(xiàn),系統(tǒng)通過sql語句將注冊用戶信息保存到user表中,用戶登錄時查詢user表,并以返回結果的有無判斷個人的真實身份。系統(tǒng)的頂層數(shù)據(jù)流圖DFD如下: SKIPIF 1 0 圖2-3 頂層數(shù)據(jù)流圖DFD SKIPIF 1 平臺限制。本系統(tǒng)是在Window xp環(huán)境下開發(fā),對系統(tǒng)沒有過高的其它要求。2效勞器支持。本系統(tǒng)是基于B/S模式下的論壇系統(tǒng),采用的效勞器是Tomcat 版本。3數(shù)據(jù)庫支持。本系統(tǒng)采用的數(shù)
26、據(jù)庫是MySQL 5.1版本,同類型或更高級別的數(shù)據(jù)庫管理軟件都能適用。4基于MyEclipse平臺下開發(fā)。2.2 可行性分析需求分析答復的是“做什么,不做什么的問題,而可行性分析答復的那么是“做,還是不做的問題??尚行苑治鍪窃谡{(diào)查分析的根底上,針對新系統(tǒng)的開發(fā)是否具有實用性和可能性,對新系統(tǒng)的開發(fā)從經(jīng)濟、技術、社會環(huán)境和人等發(fā)面進行分析和研究??尚行苑治鐾軌?qū)Q策者提供有價值的依據(jù),以防止投資失誤,保證新系統(tǒng)的開發(fā)成功。聯(lián)想集團領導人柳傳志2006曾說:“沒錢賺的事我們不干;有錢賺但投不起錢的事不干;有錢賺也投的起錢但沒有可靠的人選,這樣的事也不干??梢娍尚行苑治龅闹匾?。1、技術可行性
27、技術上的可行性分析主要指在現(xiàn)有可用的技術根底上,是否能夠順利完成新系統(tǒng)的開發(fā)工作。從硬件方面來看,計算機硬件的更新速度正在不斷提高,與此同時,系統(tǒng)的穩(wěn)定性也在不斷加強。容量越來越大,性能越來越強,而價錢卻越來越低。所以,僅從硬件方面來看,完全能夠提供滿意的系統(tǒng)開發(fā)環(huán)境。從軟件方面來看,該BBS論壇采用了流行的動態(tài)網(wǎng)頁設計技術JSP和當前流行的B/S瀏覽器/效勞器設計模式進行開發(fā)。B/S模式本身是隨著Internet技術的興起,對傳統(tǒng)C/S結構的一種變化或者改良結構,具有很多傳統(tǒng)結構所不具有的優(yōu)點。先進的Internet/Intranet國際互聯(lián)網(wǎng)/企業(yè)內(nèi)部互聯(lián)網(wǎng)技術,保證了B/S結構的強有力態(tài)
28、勢,將B/S結構的應用轉(zhuǎn)變成為一種特定時代條件下的大勢所趨。本系統(tǒng)的效勞器采用的是Tomcat 版本,Tomcat開展至今,技術上自不必說,性能也很穩(wěn)定,完全能夠擔負效勞器的重任,輔助完成中小型應用的成功開發(fā)。數(shù)據(jù)庫效勞器選用的是MySQL 5.1版本,是目前運行速度最快的SQL語言數(shù)據(jù)庫,能夠同時處理大量數(shù)據(jù),并保證數(shù)據(jù)的完整性。它的靈活性、易用性和平安性為新系統(tǒng)的開發(fā)提供了一個良好的環(huán)境。2、經(jīng)濟可行性經(jīng)濟可行性所作的工作主要是對工程整體的經(jīng)濟效益進行評估,本系統(tǒng)的目的是模擬一個網(wǎng)上交流的平臺,供用戶在社區(qū)交流經(jīng)驗、探討問題。但實際只是用于個人畢業(yè)設計,不涉及商業(yè)上的運作,純粹模擬,故不存
29、在資金上的流動,也不存在經(jīng)濟不可行的問題。3、社會可行性隨著Internet技術的迅猛開展,BBS論壇已成為越來越多網(wǎng)民彼此交流,獲取信息的重要途徑。在論壇上,人們可以發(fā)表自己一切感興趣的話題,也可以根據(jù)別人所發(fā)的主題發(fā)表一些自己的看法,心得體會等。通過BBS論壇獲取信息及發(fā)表主題已成為一種時尚的生活方式。BBS論壇縮短了人們之間的距離,在不知不覺間,早已成為人們網(wǎng)上生活的必備工具,可見論壇存在的必要性和開展的前景。3 系統(tǒng)總體設計3.1 系統(tǒng)目標基于BBS論壇在現(xiàn)實生活的實際應用,本系統(tǒng)的系統(tǒng)目標是提供一個以現(xiàn)實環(huán)境為根底的網(wǎng)上模擬交流平臺,通過它,人們可以不必拘泥于空間和時間上的限制,方便
30、交流,暢所欲言,同時也能夠更加便利的看到周圍人的想法,觀點,最大化的豐富人們的視野和生活,讓人隨時都能身在其中,隨時也能置身事外。3.2 系統(tǒng)功能劃分 前臺功能結構系統(tǒng)的前臺初始頁面如下,登錄地址為“ :/localhost:8080/BBS:圖3-1財大家園網(wǎng)首頁當用戶登錄到論壇首頁時,其默認的身份就是游客,只能查看、回復、搜索帖子,而不能執(zhí)行發(fā)帖等其它操作。如果用戶為非注冊用戶,那么其可以進行注冊以獲得一個登錄身份。如果用戶為已注冊用戶,那么其可以直接進行登錄,然后以注冊用戶的身份執(zhí)行諸如發(fā)表新主題、查看新主題、回復主題、搜索主題等一系列操作。前臺系統(tǒng)流程圖具體如下: SKIPIF 1 0
31、 圖3-2 前臺系統(tǒng)流程圖此時,用戶已經(jīng)具有了一種身份,此后用戶可以以此種身份執(zhí)行諸如發(fā)表新主題、查看主題、搜索主題、回復主題等操作。 后臺功能結構后臺功能主要是針對管理員而設置的,用戶以管理員的身份登陸后,就能執(zhí)行后臺管理的操作,具體到此BBS論壇,主要是指刪除和修改主題以及對用戶信息的管理。后臺系統(tǒng)流程圖如下: SKIPIF 1 0 圖3-3 后臺系統(tǒng)流程圖3.3 系統(tǒng)開發(fā)環(huán)境 開發(fā)環(huán)境在建立工程前,需要首先搭建開發(fā)環(huán)境。此BBS論壇系統(tǒng)的開發(fā)需要用到以下幾種工具,故開發(fā)前需要進行相應的下載和安裝:開發(fā)平臺:MyEclipse 9.0M2Web效勞器:Tomcat 數(shù)據(jù)庫效勞器:MySQL
32、 5.1Java開發(fā)工具:JDK 輔助工具:Dreamweaver CS4 系統(tǒng)平臺體系結構的選擇在系統(tǒng)開發(fā)領域內(nèi),目前存在兩大主流系統(tǒng)平臺的開發(fā)結構,一種是C/S結構,而另一種是B/S結構。C/S結構,即大家熟知的客戶端/效勞器結構,是一種應用較早,相對傳統(tǒng)的開發(fā)模式。通過它,可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理的分配到Client端和Server端,降低了系統(tǒng)的通訊開銷。B/S結構,即瀏覽器/效勞器結構,是隨著Internet的興起,對C/S結構的一種變化或者改良。在這種結構下,用戶不需要借助于客戶端軟件,通過WWW瀏覽器,即可實現(xiàn)系統(tǒng)的全部既定功能。在這種模式下,一局部事務邏輯在前
33、段實現(xiàn),但是主要事務邏輯在效勞器端實現(xiàn),大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的本錢,從而降低了用戶的整體本錢。從開放程度來說,傳統(tǒng)的C/S結構雖然采用的是開放模式,但這個開放性只是針對系統(tǒng)開發(fā)一級的,在特定的應用中,無論是客戶端還是效勞器端都還需要特定的軟件支持。而B/S結構,是一次性到位的開發(fā),應用此模式開發(fā)的系統(tǒng),不同人員,在不同地點,以不同的接入方式比方LAN、WAN等訪問并操作共同的數(shù)據(jù)庫,能有效地保護數(shù)據(jù)平臺和管理訪問權限,效勞器的數(shù)據(jù)庫也很平安。特別是在Java這樣的跨平臺語言出現(xiàn)之后,B/S架構管理軟件起來更是顯得方便,快捷和高效??梢哉f,B/S是乘著Internet興
34、起的風而楊風遠航的,是適應時代的產(chǎn)物。但是,B/S也存在著自己的缺乏,比方說其在大量數(shù)據(jù)分析,實時控制應用方面就存在著需要改良的地方。綜合考慮,本系統(tǒng)還是考慮使用當下流行的B/S結構作為系統(tǒng)的開發(fā)模式。 JavaScript語言簡介及特點JavaScript語言是Netscape公司開發(fā)的一種腳本性語言Scripting language,或者稱其為描述性語言。作為一種編程語言,其出現(xiàn)的使命就是為了適合動態(tài)網(wǎng)頁制作的需要,頗具工具色彩。在靜態(tài)網(wǎng)頁Html的根底上,使用JavaScript可以開發(fā)交互式Web網(wǎng)頁,能夠使網(wǎng)頁和用戶之間實現(xiàn)一種實時性的、動態(tài)的、交互性的關系,使得網(wǎng)頁包含更多活潑的
35、元素和更加精彩內(nèi)容。可以說,JavaScript是專門為制作Web網(wǎng)頁而量身定做的一種簡單的編程語言。JavaScript是在客戶機上執(zhí)行的,其特點和功能主要是短小精悍,能夠大大提高網(wǎng)頁的瀏覽速度和交互能力。其特有的工具色彩讓其在動態(tài)網(wǎng)頁的開發(fā)中找到了用武之地。 JSP概述JSP是由Sun公司在Java語言的根底上開發(fā)出來的一種動態(tài)網(wǎng)頁制作技術,其將標記插入到頁面中,從而使網(wǎng)頁中的靜態(tài)局部和動態(tài)局部別離開來。JSP是類似ASP的一種技術,在傳統(tǒng)的靜態(tài)網(wǎng)頁HTML文件插入Java程序段和JSP標記,就形成了JSP文件。 JSP技術的強勢在于:1、一次編寫,到處運行。在更換系統(tǒng)時,代碼不需要做任何
36、修改。2、系統(tǒng)的多平臺支持。根本上可以在所有平臺上的任意環(huán)境下開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展。3、強大的可伸縮性。通過小小的jar文件運行servlet/JSP,到由多臺效勞器進行集群和負載均衡,到多臺Application進行事務處理,一臺效勞器到無數(shù)臺效勞器,JSP表現(xiàn)了強大的可伸縮性。4、多樣化和功能強大的開發(fā)工具支持,常用的編輯工具有Dreamweaver和MyEclipse等。 MySQLMySQL可以稱得上是目前運行速度最快的SQL語言數(shù)據(jù)庫,除了具有許多其他數(shù)據(jù)庫所不具備的功能和選擇外,MySQL數(shù)據(jù)庫是一種完全免費的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個人
37、和商業(yè)用途,而不必支付任何費用。 JDBC技術數(shù)據(jù)庫管理是每個應用系統(tǒng)開發(fā)過程中不得不考慮的問題,目前主流的數(shù)據(jù)庫有Oracle、SqlServer、MySql等。不管使用何種技術,都離不開JDBC技術的支持。JDBC的全稱是Java DataBases Connectivity standard,即Java數(shù)據(jù)庫連接,是一種數(shù)據(jù)庫通用接口采用的主流技術。其定義了用來訪問數(shù)據(jù)庫源的標準Java類庫,通過它使用一種標準方法,就能夠方便的訪問數(shù)據(jù)庫資源。所以,JDBC又是一種標準,其目標是使應用程序開發(fā)人員通過它連接任何提供JDBC驅(qū)動程序的數(shù)據(jù)庫系統(tǒng),這樣就使得程序員無需對某種數(shù)據(jù)庫有過多的了解
38、,大大加快了開發(fā)過程。有了JDBC,向各種數(shù)據(jù)庫發(fā)送SQL語句就是一件再簡單不過的事了。換言之,有了JDBC,就不必為訪問數(shù)據(jù)庫A專門再寫一個程序,又為訪問數(shù)據(jù)庫B專門寫一個程序。所以,JDBC為Java應用程序與各種不同數(shù)據(jù)庫之間進行對話提供了一個標準的方法,這也是Java語言“一次編寫,到處運行的優(yōu)勢。4 數(shù)據(jù)庫設計4.1 數(shù)據(jù)庫分析數(shù)據(jù)庫的設計,在應用系統(tǒng)的開發(fā)中起著舉足輕重的作用。一個合理、有效的數(shù)據(jù)庫設計不僅是做好系統(tǒng)的保證,也能降低程序的復雜性,使程序的開發(fā)過程變得更加容易。本系統(tǒng)是一個中型的BBS論壇系統(tǒng),考慮到用戶信息量和用戶需求等問題,決定采用MySQl作為工程用數(shù)據(jù)庫。My
39、SQl是一個中小關系型數(shù)據(jù)管理系統(tǒng),最初由MySQL AB公司發(fā)布。MySQL由于體積小、速度快、總體擁有本錢低等原因,成為許多中小型網(wǎng)站數(shù)據(jù)庫的首選。MySQL可以稱得上是目前運行速度最快的SQL語言數(shù)據(jù)庫,此外,MySQL數(shù)據(jù)庫是一種完全免費的產(chǎn)品,用戶可以直接從網(wǎng)上下載數(shù)據(jù)庫,用于個人和商業(yè)用途,而不必支付任何費用。4.2 數(shù)據(jù)庫概念設計ER圖是實體聯(lián)系圖,E-R模型是對現(xiàn)實世界的一種抽象。其組成局部主要包括實體、聯(lián)系和屬性。使用這三種成分,我們可以很好的抽象出現(xiàn)實世界中的個體,并通過彼此之間的聯(lián)系來抽象整個世界。E-R模型是設計數(shù)據(jù)庫時經(jīng)常使用到的方法。經(jīng)過分析,本系統(tǒng)創(chuàng)立了五張數(shù)據(jù)庫
40、表,即帖子表article、版塊表edit、用戶等級表grade、用戶表user和管理員表admin。下面劃分出本系統(tǒng)所使用的數(shù)據(jù)庫實體,它們分別為用戶User和帖子(Article)以及管理員admin。以下是帖子、用戶和管理員的實體圖: SKIPIF 1 0 圖4-1 帖子實體圖 SKIPIF 1 0 圖4-2 用戶實體表 SKIPIF 1 0 圖4-3 實體管理員表系統(tǒng)的E-R圖如下: SKIPIF 1 0 圖4-4 系統(tǒng)E-R圖4.3 數(shù)據(jù)庫的邏輯設計根據(jù)數(shù)據(jù)庫的概念設計,可以創(chuàng)立與實體對應的數(shù)據(jù)表。1、用戶表User下面是對表User的具體設計表4-1 user字段名屬性約束意義1u
41、serNamevarchar(30)primary key用戶名2passwordvarchar(25)無密碼3rePasswordvarchar(25)無確認密碼4mainUrlvarchar(50)無郵箱地址5loginTimedatetime無注冊時間6gradeNointForeign key用戶等級說明:*userName是注冊用戶的用戶名,為User表的主鍵。 *password是用戶密碼,為用戶登錄時用。 *rePassword是確認密碼,與用戶密碼對應。 *mailUrl是用戶的郵箱地址,通過它,我們可以與之通過郵件通信。 *loginTime表示用戶注冊的時間。*gradeN
42、o表示用戶的等級,與登記表grade中的gradeId相關聯(lián),組成表的外鍵。共分為四個等級:菜鳥、列兵、星級標兵和士官。 *在注冊過程中,password和rePassword必須一致,否那么無法成功注冊。2、管理員表admin表4-2 admin字段名屬性約束意義1adminIdintprimary key管理員編號2adminNamevarchar(25)無管理員姓名3passwordvarchar(25)無密碼4adminTimedatetime無創(chuàng)立時間3、帖子表Article下面是對表Article的具體設計表4-3 article字段名屬性約束意義1idintprimary key
43、帖子id2pid int無父親id3rootidint無根id4editNoInt無所屬版塊5titlevarchar(30)無標題6conttext無內(nèi)容7pdatedatetime無發(fā)帖時間8writervarchar(30)foreign key作者9viewCountint無帖子查看量10replyCountint無帖子回復量11isleafint無判斷帖子是否為葉子節(jié)點12isEssenceint無判斷帖子是否為精華帖說明:*id是帖子的編號,為本表的主鍵。 *pid是父親id的編號,表示被回復的帖子id號。 *rootid表示根貼的id號,表示最初發(fā)起主題的帖子id號。 *edit
44、No表示帖子所屬的板塊號,每個版塊的帖子分版塊區(qū)別顯示。 *title表示帖子的主題。 *cont表示帖子的內(nèi)容。 *pdate表示發(fā)帖的具體時間。 *writer表示發(fā)帖的作者,此外鍵對應user表中userName字段。 *viewCount表示帖子的查看量。 *replyCount表示帖子的回復量。 *isLeaf判斷帖子是否為葉子節(jié)點,值為1時表示為非葉子節(jié)點;為0時表示為葉子節(jié)點。 *isEssence判斷帖子是否為精華帖,值為1是表示是精華帖;反之,那么不是。 4、用戶等級表grade圖4-4 grade字段名屬性約束意義1gradeIdintprimary key等級編號2gra
45、deContvarchar(25)無等級內(nèi)容 5、版塊類別表edit圖4-5 edit字段名屬性約束意義1editedintprimary key版塊編號2editNamevarchar(25)無版塊內(nèi)容 SKIPIF 1 0 圖4-5 數(shù)據(jù)庫模型圖5 系統(tǒng)詳細設計與實現(xiàn)5.1 前臺設計系統(tǒng)的前臺,即是直接面向用戶的所有頁面。因為前臺的功能模塊較多,而各個模塊的實現(xiàn)過程都是類似的,所以對于系統(tǒng)前臺的介紹,只是做有選擇的系統(tǒng)重點設計介紹。 前臺頁面設計與實現(xiàn)本系統(tǒng)的所有頁面都采用了統(tǒng)一的簡化頁面框架,包括頁頭和內(nèi)容顯示區(qū)。前臺首頁的頁面運行結果已在前文中出現(xiàn)過,此處不再累述。下面主要介紹前臺首頁
46、面index.jsp的具體實現(xiàn)。由于論壇是以主題分版塊展示的,下面以其中一個板塊頁面做詳細介紹。局部主要代碼如下:%List articles = new ArrayList();Connection conn = DB.getConn();/創(chuàng)立與數(shù)據(jù)庫的連結Statement stmt = DB.createStmt(conn);/通過連結創(chuàng)立Statement對象String sql = select * from article; ResultSet rs = DB.executeQuery(stmt, sql );/執(zhí)行sql語句,并返回結果集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();/*查詢出帖子的總回復量*/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);%以上的語句實現(xiàn)的有三個功能:1、查詢出帖子的總查看量;2、查詢出帖子的總回復量;3、查詢出最后的發(fā)帖作者。這些都是對整個板塊的總體統(tǒng)計,是對板塊信息的最直觀的展現(xiàn)。 用戶注冊/登錄、管理員登錄在論壇首頁,提供了三個登錄、注冊入口,包括:用戶注冊/登錄、管理員登錄;通過點擊如下鏈接,進入到對應各個界面。普通用戶注冊 普通
50、用戶登錄 管理員登錄入口1用戶注冊用戶注冊的網(wǎng)頁文件對應的是“l(fā)oginUser.jsp文件,在此頁面下,非注冊用戶可以進行注冊的操作。運行效果圖如下:圖5-1 用戶注冊界面用戶完成注冊后,注冊的用戶名和密碼就被寫入到用戶表user。之后,會出現(xiàn)一個用戶信息確認頁面,以最終完成用戶的注冊。確認無誤后,點擊鏈接,頁面就跳轉(zhuǎn)到論壇首頁,此時的用戶身份還是“游客,之后可以通過登錄改變用戶身份狀態(tài)。在用戶注冊的時候,如果用戶輸入的密碼和重復密碼不一致,會出現(xiàn)“密碼和重復密碼不一致的錯誤信息提示,然后頁面返回到注冊頁面。如果用戶所有待填項輸入無誤,那么進入用戶信息確認頁面。以下是用戶信息確認頁面的展示圖
51、:圖5-2 用戶信息確認頁面用戶登錄用戶完成注冊后,就可以進行用戶登錄的操作,用戶登陸頁面如下:圖5-3 用戶登錄界面在用戶登錄時,如果用戶名或密碼輸入有誤,那么會出現(xiàn)“invalid username or password的錯誤信息提示,然后頁面返回到登陸頁面供用戶修正輸入繼續(xù)登錄。 論壇版塊的展示下面以“青蔥歲月區(qū)為例,來介紹論壇版塊的展示操作。在論壇首頁,通過鏈接版塊鏈接,進入到特定版塊的特定頁面?!白畛醯膲粝氚鎵K頁面運行效果圖5-4 “最初的夢想“版塊頁面運行效果圖從運行效果來看,此處運用了分頁技術。分頁技術實現(xiàn)的關鍵點依賴于一條重要的sql語句,具體如下:Select * from
52、 Table order by 參數(shù)1 limit startPage+, endPage;其中,Table是所要查詢的表名稱; startPage是起始頁面; endPage是結束頁面。執(zhí)行的效果是查詢出排序結果的制定起始行到指定結束行的所有頁面。板塊頁面的展示是通過一個循環(huán)來實現(xiàn)的,在循環(huán)的根底上,為頁面實現(xiàn)了一個優(yōu)化:奇偶行以不同的顯示效果展現(xiàn)。優(yōu)化的方式主要向jsp頁面導入class文件,在導入的時候,針對行數(shù)的奇偶性采取不同的對應操作。主要代碼如下:%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ū)分顯示%實現(xiàn)代碼具體如下:代碼段1:獲取制定局部行的查詢結果%final int PAGE_SIZE = 8; /每頁顯示的主題數(shù)目int pageNo = 1; /記錄當前頁數(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; /記錄符合要求的總主題頁數(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:將獲取的結果根據(jù)行號的奇偶性分頁展示:%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ā)表新主題在論壇版塊展示頁面中,注冊用戶可以執(zhí)行發(fā)表新主題的操作,對游客而言,那么不能實現(xiàn)此功能。這個功能是通過區(qū)分用戶登錄方式的不同而實現(xiàn)的,非注冊用戶點擊“發(fā)表新主題的連接后會出現(xiàn)一個錯誤提示及跳轉(zhuǎn)頁面,以提示用戶目前處于“非登錄用戶狀態(tài),無權發(fā)表新主題。已注冊用戶成功登陸后,那么可以進行發(fā)表新主題的操作,運行頁面效果如下:圖5-5 發(fā)表主題頁面成功發(fā)表后,所發(fā)表主題會顯示在論壇版塊展示頁面下圖5-4。 搜索主題和發(fā)表新主題不同,所有的用戶都
58、能夠執(zhí)行搜索主題的操作。在論壇版塊展示頁面點擊“搜索主題“鏈接,進入到搜索主題頁面。圖5-6 搜索頁面圖5-7 搜索結果頁面 查看及回復主題點擊主題鏈接,進入主題查看頁面。圖5-8 主題顯示頁面在此頁面,用戶點擊“回復按鈕,即可進入到回復主題頁面,運行效果如下。圖5-9 主題回復頁面在此,需要說明的是:為了美化回復的效果,在此參加了Fckeditor網(wǎng)頁編輯器。具體實現(xiàn)步驟為:首先從網(wǎng)上下載一個Fckeditor,將解壓文件拷貝到工程“WebRoot目錄下,然后到壓縮包解壓文件“FCKeditor2.6.4 ”下的路徑:“fckeditor_sampleshtmlsample02.html下,
59、翻開靜態(tài)頁“sample02.html,然后將其代碼復制、粘貼到回復頁面“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() ;點擊提交,回復內(nèi)容會顯示在上級頁面。圖5-10 回復后主題顯示頁面5.1.7 優(yōu)化主題的一些小設計1信息統(tǒng)計1、帖子查看量與回復量的統(tǒng)計如圖5-4所示,在論壇版塊的展示頁面,會有“查看、“回復兩個代表帖子被查看量和被回復量的信息提示,這個是通過對article表設置的兩個冗余變量“viewCoun
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- (3篇)2024大學輔導員個人工作總結
- 教師政治思想及職業(yè)道德方面的考核報告
- 2024年淮南聯(lián)合大學高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 烏魯木齊市八年級上學期期末地理試題及答案
- 二零二五年旅游開發(fā)項目合同2篇
- 2024年陜西省婦幼保健院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年河南藝術職業(yè)學院高職單招職業(yè)適應性測試歷年參考題庫含答案解析
- 2024年阜陽市第三人民醫(yī)院阜陽市中心醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年長春市婦產(chǎn)科醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2024年江西工商職業(yè)技術學院高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 健康食品開發(fā)及生產(chǎn)協(xié)議
- 數(shù)字孿生產(chǎn)業(yè)發(fā)展及軌道交通領域的應用研究
- 2024年中學總務處工作總結
- 手術室各級人員培訓
- 教育部中國特色學徒制課題:基于中國特色學徒制的新形態(tài)教材建設與應用研究
- 2025年護理質(zhì)量與安全管理工作計劃
- (T8聯(lián)考)2025屆高三部分重點中學12月第一次聯(lián)考評物理試卷(含答案詳解)
- 工程施工揚塵防治教育培訓
- 紅薯采購合同模板
- 2023年河南省公務員錄用考試《行測》真題及答案解析
- 山西省太原市重點中學2025屆物理高一第一學期期末統(tǒng)考試題含解析
評論
0/150
提交評論