BBS論壇設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁(yè)
BBS論壇設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁(yè)
BBS論壇設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁(yè)
BBS論壇設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁(yè)
BBS論壇設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、班級(jí) XXXX 學(xué)號(hào) XXXXX 畢業(yè)論文(設(shè)計(jì))題 目 BBS論壇系統(tǒng) 姓 名 xxx 系 部 信息工程系 專業(yè) 軟件開發(fā) 指 導(dǎo) 教 師 XXX 職稱 助教 日期 BBS論壇系統(tǒng)陳新【摘 要】當(dāng)今,隨著網(wǎng)絡(luò)的迅速發(fā)展,制作BBS論壇的技術(shù)和方法也越來(lái)越多。本文主要講述利用Java Web的相關(guān)技術(shù)來(lái)制作一個(gè)簡(jiǎn)單論壇。通過(guò)實(shí)際制作,實(shí)現(xiàn)了BBS論壇系統(tǒng)應(yīng)有的一些基本功能,如:登陸功能,通過(guò)在登陸界面輸入用戶名和密碼來(lái)實(shí)現(xiàn)會(huì)員的登錄,用戶只有登錄成功了才能進(jìn)行一系列的操作;注冊(cè)功能,用戶首次登陸,需要先注冊(cè),注冊(cè)時(shí)需要用戶填寫個(gè)人信息。除此之外,還有瀏覽帖子、發(fā)表帖子、回復(fù)貼子等等功能。制作本

2、論壇所用的前臺(tái)軟件是MyEclipse,后臺(tái)數(shù)據(jù)庫(kù)是MySQL,運(yùn)行時(shí)所用的服務(wù)器是Tomcat,綜合運(yùn)用了HTML、JSP以及JavaScript語(yǔ)言。全文先對(duì)用到的軟件進(jìn)行了簡(jiǎn)單的介紹,然后依次對(duì)系統(tǒng)的應(yīng)用進(jìn)行需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì);最后簡(jiǎn)要介紹了系統(tǒng)的發(fā)布和測(cè)試?!娟P(guān)鍵詞】BBS論壇;JSP技術(shù);登陸;注冊(cè);瀏覽貼子;發(fā)表帖子;回復(fù)貼子。1 概況當(dāng)前形勢(shì)下,BBS論壇種類繁多,通過(guò)BBS可隨時(shí)取得國(guó)際最新的軟件及信息,也可以通過(guò)BBS來(lái)和別人討論計(jì)算機(jī)軟件、硬件、Internet、多媒體、程序設(shè)計(jì)以及醫(yī)學(xué)等等各種有趣的話題,更可以利用BBS來(lái)刊登一些“征友”、“廉價(jià)轉(zhuǎn)讓”及“公司產(chǎn)

3、品”等啟事。只要您擁有1臺(tái)計(jì)算機(jī)、1只調(diào)制解調(diào)器和1條電話線,就能夠進(jìn)入這個(gè)“超時(shí)代”的領(lǐng)域。1.1 BBS歷史背景BBS的英文全稱是Bulletin Board System,翻譯為中文就是“電子公告板”。BBS最早是用來(lái)公布股市價(jià)格等類信息的,當(dāng)時(shí)BBS連文件傳輸?shù)墓δ芏紱](méi)有,而且只能在蘋果計(jì)算機(jī)上運(yùn)行。早期的BBS與一般街頭和校園內(nèi)的公告板性質(zhì)相同,只不過(guò)是通過(guò)電腦來(lái)傳播或獲得消息而已。一直到個(gè)人計(jì)算機(jī)開始普及之后,有些人嘗試將蘋果計(jì)算機(jī)上的BBS轉(zhuǎn)移到個(gè)人計(jì)算機(jī)上,BBS才開始漸漸普及開來(lái)。近些年來(lái),由于愛(ài)好者們的努力,BBS的功能得到了很大的擴(kuò)充。BBS最初是為了給計(jì)算機(jī)愛(ài)好者提供一

4、個(gè)互相交流的地方。70年代后期,計(jì)算機(jī)用戶數(shù)目很少且用戶之間相距很遠(yuǎn)。因此,BBS(當(dāng)時(shí)全世界一共不到一百個(gè)站點(diǎn))提供了一個(gè)簡(jiǎn)單方便的交流方式,用戶通過(guò) BBS可以交換軟件和信息。到了今天,BBS的用戶才擴(kuò)展到各行各業(yè),花樣非常多。1.2 BBS制作目的BBS論壇是一種比較好的交流平臺(tái),他能方便人們進(jìn)行即時(shí)在線交流,發(fā)表各種信息,實(shí)現(xiàn)網(wǎng)絡(luò)資源的共享。而且,也能促使人們敞開心扉去學(xué)習(xí)知識(shí)、追求進(jìn)步,以至于能更好的利用網(wǎng)絡(luò)資源。 鑒于BBS的這些優(yōu)點(diǎn),又加之制作BBS的一些基本知識(shí)我曾學(xué)習(xí)過(guò),如Java程序設(shè)計(jì)、JSP網(wǎng)頁(yè)制作以及MyEclipse6.0基礎(chǔ)教程這些書我都看過(guò)或自學(xué)過(guò)??紤]到個(gè)人喜

5、好,所以最后我決定選擇Java Web開發(fā)BBS論壇制作,這個(gè)題目作為我畢業(yè)論文,同時(shí)也能積累一點(diǎn)開發(fā)Java小項(xiàng)目的經(jīng)驗(yàn),達(dá)到鍛煉自己在這方面能力的目的。1.3 BBS制作的可行性 隨著計(jì)算機(jī)軟件的迅速發(fā)展,BBS的界面效果越來(lái)越美觀,功能、作用和范圍也得到了迅速擴(kuò)大。與此同時(shí),制作BBS論壇的方法和所用的軟件種類也越來(lái)越多了。當(dāng)前比較流行的,一個(gè)是基于JSP網(wǎng)頁(yè)技術(shù),一個(gè)是基于ASP.net網(wǎng)頁(yè)技術(shù),還有一個(gè)是基于PHP網(wǎng)頁(yè)技術(shù)。 而在這里,我將采用基于JSP網(wǎng)頁(yè)技術(shù)的方法進(jìn)行簡(jiǎn)單的BBS論壇制作。我所用的開發(fā)軟件是MyEclipse6.5,它是一款可以做基礎(chǔ)Java項(xiàng)目開發(fā)的工具;JDK

6、1.6,當(dāng)前進(jìn)行Java開發(fā)的最新版本;數(shù)據(jù)庫(kù)是MySQL,它是一款當(dāng)前比較流行的進(jìn)行中小量數(shù)據(jù)開發(fā)的中小型數(shù)據(jù)庫(kù);服務(wù)器是Tomcat5.5,它也是一款當(dāng)前比較流行的軟件,主要用于網(wǎng)絡(luò)服務(wù)器的開發(fā)。這些東西對(duì)一個(gè)搞Java開發(fā)的人來(lái)說(shuō)應(yīng)該是很普遍的。因此,無(wú)論在技術(shù)還是軟件上都應(yīng)該可以實(shí)現(xiàn)的。1.4 BBS制作的局限性 此次BBS論壇制作的界面效果比較粗糙,功能也不是很強(qiáng)大,但幸好一些基本的功能都還有,比如,用戶(或管理員)登陸,發(fā)表新的帖子,查看已存在的帖子,回復(fù)別人發(fā)表的帖子(也叫跟帖)以及管理員刪除垃圾帖子或著垃圾的跟帖等等。但是像一些高級(jí)功能,比如,搜尋或查找帖子的功能,上傳圖片或文

7、件的功能,個(gè)人空間的功能等。由于本人所學(xué)知識(shí)以及能力地限制,并沒(méi)能將其實(shí)現(xiàn)。 2 相關(guān)軟件及開發(fā)環(huán)境的選擇2.1硬件環(huán)境與軟件環(huán)境要求服務(wù)器端硬件處理器:Intel P4或更好內(nèi)存:1G 或更大硬盤剩余空間:2G 或更大軟件Microsoft Windows XP或更高版本JDK1.60或更高版本MyEclipse5.5或更高版本MySQL5.0或更高版本Tomcat5.5或更高版本Microsoft IE6.0瀏覽器或更高版本客戶機(jī)端硬件一般聯(lián)網(wǎng)的計(jì)算機(jī)均可軟件Microsoft Windows XP 或更高版本Microsoft IE 6.0或更高版本2.2制作工具JDK1.6用于Java

8、程序的解釋執(zhí)行,MyEclipse5.5提供了一個(gè)良好的開發(fā)界面,MySQL5.0用于數(shù)據(jù)庫(kù)的連接,Tomcat5.5 Web服務(wù)器用于運(yùn)行此項(xiàng)目。3 應(yīng)用需求分析作為一個(gè)BBS論壇,它應(yīng)該具有BBS所有的一些基本功能,包括:用戶登陸功能,用戶取回密碼功能,用戶瀏覽帖子的功能以及用戶發(fā)表、回復(fù)、修改和刪除帖子的功能等。接下來(lái),我將詳細(xì)闡述一下這些功能。3.1用戶登錄和注冊(cè)功能進(jìn)入登錄頁(yè)面后,對(duì)于第一次登陸的用戶來(lái)說(shuō),首先需要注冊(cè),單擊“注冊(cè)”按鈕即可進(jìn)入注冊(cè)界面,注冊(cè)完成后返回登錄界面。然后,在對(duì)應(yīng)的地方分別輸入用戶名和密碼,點(diǎn)擊“登錄”按鈕,系統(tǒng)即將用戶名和密碼發(fā)送到網(wǎng)絡(luò)服務(wù)器上,與保存在服

9、務(wù)器數(shù)據(jù)庫(kù)中的信息進(jìn)行核對(duì)。若核對(duì)正確,則進(jìn)入帖子瀏覽的界面,若不正確,則重新返回登錄界面。注意:若用戶名(或者密碼)為空時(shí),點(diǎn)擊了“登錄”按鈕,則系統(tǒng)會(huì)彈出一個(gè)對(duì)話框提示你用戶名(或密碼)為空,請(qǐng)重新輸入,點(diǎn)擊對(duì)話框的“確定”按鈕,即可重新回到登錄界面。注冊(cè)界面如下所示:圖3-13.2用戶帖子的瀏覽 當(dāng)用戶登錄成功后便進(jìn)入該頁(yè)面,在該頁(yè)面可以瀏覽他人已經(jīng)發(fā)表的主題帖子,圖3-2帖子的總覽在主題頁(yè)面中主要有兩部分組成,一是用戶的個(gè)人信息,再就是他人已經(jīng)發(fā)表的主題帖子,每個(gè)帖子都包含了一些簡(jiǎn)單信息:主題、作者和時(shí)間。主題有下劃線,那是以為對(duì)它進(jìn)行了鏈接,鼠標(biāo)單擊主題便進(jìn)入了下一頁(yè)面該帖的詳細(xì)內(nèi)容

10、頁(yè)面。查看特定帖的詳細(xì)信息如上所述,單擊主題便進(jìn)入該帖的詳細(xì)內(nèi)容頁(yè)面。里面主要包含了該帖的詳細(xì)內(nèi)容和他人對(duì)此帖的回復(fù),點(diǎn)擊“回復(fù)帖子”便可回復(fù)此貼。圖3-33.3用戶帖子的發(fā)布用戶成功登陸后,可以進(jìn)行一些操作,如瀏覽帖子、發(fā)表帖子等。帖子的發(fā)布登陸成功進(jìn)入主題頁(yè)面后,點(diǎn)擊“發(fā)表話題”按鈕后,便可進(jìn)入發(fā)表帖子的界面。在該頁(yè)面中填寫完信息,點(diǎn)擊“提交”即可。圖3-44 系統(tǒng)總體設(shè)計(jì)4.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)本BBS論壇系統(tǒng)共分為三大功能模塊:(1) 登陸管理功能系統(tǒng);(2) 注冊(cè)功能系統(tǒng);(3) 找回密碼功能系統(tǒng)。登陸管理功能系統(tǒng),又包括四個(gè)子模塊:?jiǎn)渭兊挠脩舻卿浤K,用戶發(fā)表帖子模塊,用戶回復(fù)他人帖子模

11、塊和用戶刪除自己所發(fā)表的帖子模塊。各個(gè)頁(yè)面的功能有兩個(gè)頁(yè)面用于基本功能的實(shí)現(xiàn),被其它頁(yè)面所調(diào)用:頁(yè)面名稱主要功能用于實(shí)現(xiàn)基本功能Opendata.jsp打開數(shù)據(jù)庫(kù)鏈接Convert.jsp用于字符的轉(zhuǎn)換其余的頁(yè)面如下表所示:各個(gè)模塊頁(yè)面名稱頁(yè)面功能開始登陸的界面Login.html系統(tǒng)啟動(dòng)時(shí)的首頁(yè)登錄管理功能系統(tǒng)Enter.jsp用于判斷用戶名和密碼是否正確MainForm.jsp登陸成功后轉(zhuǎn)入該頁(yè)面TOPIC.jsp瀏覽主題帖子的頁(yè)面,在這可以查看各類帖子SaveNewTitle.jsp將新發(fā)表的帖子存入數(shù)據(jù)庫(kù)表TOPIC中Detail.jsp用于顯示帖子的內(nèi)容及回復(fù)該帖的內(nèi)容SaveRev

12、ert.jsp將回復(fù)內(nèi)容存入數(shù)據(jù)庫(kù)表Reply中注冊(cè)功能系統(tǒng)Register.jsp該界面用于新用戶注冊(cè)SaveRegister.jsp保存新用戶注冊(cè)信息到數(shù)據(jù)庫(kù)表User中4.2數(shù)據(jù)庫(kù)設(shè)計(jì)根據(jù)本BBS論壇功能的要求以及功能模塊的劃分,本信息數(shù)據(jù)庫(kù)可存放在三個(gè)表中,它們是,用戶信息數(shù)據(jù)庫(kù)表User、發(fā)表的帖子的數(shù)據(jù)庫(kù)表TOPIC和回復(fù)的帖子的數(shù)據(jù)庫(kù)表Reply,數(shù)據(jù)庫(kù)表的具體設(shè)計(jì)如下所示:用戶信息表User表名:User用戶信息表User包括六個(gè)字段:即,UID(用戶的標(biāo)識(shí)符)、UNAME(用戶名)、UPASS(用戶密碼)等。 表的內(nèi)容如下:存儲(chǔ)帖子所有的信息表TOPIC表名:TOPIC信息表

13、TOPIC包括七個(gè)字段:即,TITLE(帖子的主題)、CONTENT(帖子的內(nèi)容)、PUBLISHTIME(發(fā)帖的時(shí)間)、UID(帖子的標(biāo)識(shí))等。 表的內(nèi)容如下:存儲(chǔ)回復(fù)帖子的信息表REPLY表名:REPLY信息表REPLY包括七個(gè)字段:即,CONTENT(回帖的內(nèi)容)、PUBLISHTIME(回帖的時(shí)間)、REPLYID(所回復(fù)的主貼的標(biāo)識(shí)符)等。 表的內(nèi)容如下:5 系統(tǒng)設(shè)計(jì)的部分介紹5.1建立數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)表建立一個(gè)數(shù)據(jù)庫(kù)Test和三個(gè)數(shù)據(jù)庫(kù)表(USER、TOPIC和REPLY)。首先在MyEclipse5.5軟件里配置MySQL5.0,配置完成后在MyEclipse界面里建立名為“Tes

14、t”的數(shù)據(jù)庫(kù),然后再建立三個(gè)數(shù)據(jù)庫(kù)表(USER、TOPIC和REPLY)。創(chuàng)建表user:stmt.executeUpdate("create table user(id int not null auto_increment," +"username varchar(20) unique," +"password varchar(20) not null," +"sex varchar(8) not null,"+"age varchar(4) ,"+"birth varchar(2

15、0) not null,"+"telephone varchar(12),"+"email varchar(40) not null," +"primary key (id)");創(chuàng)建表TOPIC:stmt.executeUpdate("create table TOPIC(name char(20) not null,"+"email char(40) not null,"+"subject char(60) not null,"+"content te

16、xt not null,"+"time char(40),"+"username char(20),"+"id int not null auto_increment,primary key (id)");創(chuàng)建表reply:stmt.executeUpdate("create table reply(name char(20) not null,"+"content text not null,"+"time char(40),reply int,"+"i

17、d int not null auto_increment,"+"primary key (id)");5.2用戶登錄功能的實(shí)現(xiàn)通過(guò)Login.html界面?zhèn)鬟f參數(shù)username 和 password 給Enter.jsp界面,然后查詢數(shù)據(jù)庫(kù),判斷用戶名和密碼是否正確。若判斷正確則為用戶建立一個(gè)session,并進(jìn)入了用戶主界面。<%String username = request.getParameter("username");/參數(shù)傳遞,用戶名String password = request.getParameter(&quo

18、t;password");/參數(shù)傳遞,密碼PreparedStatement pstmt = null;/ 數(shù)據(jù)庫(kù)表達(dá)式sql = "select * from User where username = ? and password= ?"/ SQL語(yǔ)句pstmt = conn.prepareStatement(sql);pstmt.setString(1, username);pstmt.setString(2, password);rs = pstmt.executeQuery();if (rs.next() /request.getSession(true

19、);/創(chuàng)建session/保存登錄用戶到session中session.putValue("username", username);session.putValue("password", password);session.putValue("userIP", request.getRemoteAddr();session.putValue("enter", "true");/登錄成功主題頁(yè)面response.sendRedirect("MainForm.jsp"); e

20、lseresponse.sendRedirect("login.html");/登陸失敗轉(zhuǎn)向登錄頁(yè)面%>5.3新用戶注冊(cè)功能的實(shí)現(xiàn) SaveRegister.jsp用于保存新用戶的信息,這些信息是由Register.jsp頁(yè)面?zhèn)鬟f而來(lái),首先判斷用戶名是否已被注冊(cè)過(guò)了,若被注冊(cè)過(guò)則提示已注冊(cè)。<%String username = request.getParameter("username");String password = request.getParameter("password");String sex = r

21、equest.getParameter("sex");String age = request.getParameter("age");String year = request.getParameter("year");String month = request.getParameter("month");String day = request.getParameter("day");String telephone = request.getParameter("telepho

22、ne");String email = request.getParameter("email");String msg = null;username = convert(username);sql = "select * from user where username='" + username + "'"rs = stm.executeQuery(sql); /查詢數(shù)據(jù)庫(kù)if (!rs.next() /如果不存在sex = convert(sex);age = convert(age);String

23、birth;birth = year + "年" + month + "月" + day + "日"sql = "insert into user ( username, password, sex, birth, age, telephone , email )values('"+ username+ "','"+ password+ "','"+ sex+ "','"+ birth+ "

24、','"+ age+ "','"+ telephone+ "','"+ email + "')"stm.executeUpdate(sql); /插入數(shù)據(jù)庫(kù)中msg = "恭喜你,已注冊(cè)成功!"response.sendRedirect("login.html"); else /如果注冊(cè)用戶已存在msg = "你所注冊(cè)的用戶已經(jīng)存在,請(qǐng)你重新注冊(cè)!"out.println("<center>

25、;<font color=green size=5>提示信息:<hr></font><font color=red size=4>"+ msg + "</font><hr>");out.println("<input type=button value=回上一頁(yè) onclick=history.back();>");%>6 論壇的發(fā)布測(cè)試MyEclipse 支持發(fā)布Web, EJB 和 Enterprise Application 項(xiàng)目到任何MyEclip

26、se 支持的服務(wù)器上。它支持散包和打包發(fā)布。目前來(lái)說(shuō)Tomcat 和JBoss 都是支持散包發(fā)布的。散包發(fā)布一般是開發(fā)時(shí)候來(lái)使用,MyEclipse 會(huì)把所有的文件按照J(rèn)ava EE 規(guī)定的目錄結(jié)構(gòu)放在服務(wù)器的發(fā)布目錄下。在這種情況下,MyEclipse 還會(huì)自動(dòng)把修改過(guò)的文件,例如JSP 文件,類文件等等復(fù)制過(guò)去,實(shí)現(xiàn)自動(dòng)同步功能,這時(shí)修改了JSP 頁(yè)面不需要重新發(fā)布就能在瀏覽器里刷新后看到新的結(jié)果。這樣對(duì)開發(fā)來(lái)說(shuō)是非常方便的。6.1本論壇的發(fā)布測(cè)試分三步完成:散包發(fā)布JSPBBS項(xiàng)目JSPBBS項(xiàng)目文件夾下包含了類庫(kù)文件及資源文件。其中src文件夾下包含一個(gè)Java文件JDBC_BBS.j

27、ava,用于創(chuàng)建數(shù)據(jù)庫(kù)表;WebRoot文件夾下存放了所有的jsp頁(yè)面,其下的Pictures文件夾存放了頁(yè)面制作所需的圖片。在MyEclipse界面下散包文檔結(jié)構(gòu)如圖6-1所示:圖6-1在MyEclipse的Package Explorer視圖下單擊“發(fā)布”按鈕進(jìn)入發(fā)布界面,如圖6-2所示:圖6-2在Project對(duì)應(yīng)的選項(xiàng)中選擇JSPBBS項(xiàng)目,然后單擊右面的按鈕進(jìn)入New Deployment對(duì)話框,如圖6-3:圖6-3 在該對(duì)話框的Server對(duì)應(yīng)的選項(xiàng)中選擇“<Custom Location>”,在Deploy Location對(duì)應(yīng)的選項(xiàng)中選擇“D:apache-tomcat-webappsJSPBBS”路徑,單擊返回Project Deployment對(duì)話框,如圖6-4:圖6-4最后單擊完成發(fā)布。啟動(dòng)Tomcat服務(wù)器 在MyEclipse界面下點(diǎn)擊按鈕,在下拉菜單中選擇Tomcat5.x服務(wù)器并單擊“開始

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論