二級(jí)課題 二級(jí)實(shí)踐課題 BBS校內(nèi)網(wǎng)系統(tǒng)_第1頁(yè)
二級(jí)課題 二級(jí)實(shí)踐課題 BBS校內(nèi)網(wǎng)系統(tǒng)_第2頁(yè)
二級(jí)課題 二級(jí)實(shí)踐課題 BBS校內(nèi)網(wǎng)系統(tǒng)_第3頁(yè)
二級(jí)課題 二級(jí)實(shí)踐課題 BBS校內(nèi)網(wǎng)系統(tǒng)_第4頁(yè)
二級(jí)課題 二級(jí)實(shí)踐課題 BBS校內(nèi)網(wǎng)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、中原工學(xué)院軟件學(xué)院中原工學(xué)院軟件學(xué)院二二級(jí)級(jí)實(shí)實(shí)踐踐課課題題設(shè)設(shè)計(jì)計(jì)任任務(wù)務(wù)書書姓姓 名名王翱遠(yuǎn)JAVA 專業(yè) 101 班題題 目目BBS 校內(nèi)網(wǎng)設(shè)設(shè)計(jì)計(jì)任任務(wù)務(wù)開發(fā)一個(gè)比較完善的基于 Web 的校友服務(wù)系統(tǒng),為學(xué)院校友提供一個(gè)互相交流、溝通的平臺(tái)。主要功能包括:1. 用戶管理:對(duì)用戶的信息進(jìn)行管理。角色的管理。2. 帖子模塊:發(fā)布帖子,已經(jīng)帖子的回復(fù),后臺(tái)對(duì)帖子的管理。3. 留言模塊:朋友,校友的相互留言,后臺(tái)對(duì)留言的管理。4. 等級(jí)管理:用戶等級(jí)的后臺(tái)管理。開發(fā)工具:MyEclipse Tomcate6.0 Mysql開發(fā)環(huán)境:windowsXP JDK6.0時(shí)時(shí)間間進(jìn)進(jìn)度度第 1 周(2

2、011-8-29 2011-9-4):863 公司的老師給我們講解了一些有關(guān)網(wǎng)站設(shè)計(jì)的內(nèi)容,讓我們配置環(huán)境,給我們相關(guān)資料,并給我們演示。第 2 周(2011-9- 5 2011-9-11):對(duì)老師的分組我們又分成了小組根據(jù)老師的講解我們對(duì)自己小組分到的模塊兒進(jìn)行編譯。然后邊運(yùn)行邊修改。第 3 周(2011-9-12 2011-9-18):整理了各個(gè)模塊兒,然后進(jìn)行修改驗(yàn)證,讓老師驗(yàn)收,最后進(jìn)行總結(jié)寫出報(bào)告。原原 主主始始 要要資資 參參料料 考考與與 文文 獻(xiàn)獻(xiàn)JSPJDBCHTMLJ2SEJ2EE指導(dǎo)教師簽字:指導(dǎo)教師簽字: 年年 月月 日日課題題目摘 要論壇又名網(wǎng)絡(luò)論壇 BBS,全稱為

3、Bulletin Board System(電子公告板)或者 Bulletin Board Service(公告板服務(wù)) 。是 Internet 上的一種電子信息服務(wù)系統(tǒng)。它提供一塊公共電子白板,每個(gè)用戶都可以在上面書寫,可發(fā)布信息或提出看法。它是一種交互性強(qiáng),內(nèi)容豐富而即使的 Internet 電子信息服務(wù)系統(tǒng)。用戶在專題論壇上可以獲得各種信息服務(wù),發(fā)布信息,進(jìn)行討論,聊天等等。自我國(guó)正式進(jìn)入互聯(lián)網(wǎng)時(shí)代以來,短短的幾年時(shí)光互聯(lián)網(wǎng)在我國(guó)得到了飛速的發(fā)展。目前它已經(jīng)成為全球性信息傳輸?shù)闹匾緩街唬⒈挥鳛樾畔⒏咚俟?。這不僅表現(xiàn)在互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施方面,也表現(xiàn)在互聯(lián)網(wǎng)的用戶人數(shù)、互聯(lián)網(wǎng)在各行各業(yè)

4、的廣泛應(yīng)用等各個(gè)方面?,F(xiàn)實(shí)生活中的交流存在時(shí)間和空間上的局限性,交流人群范圍狹小以及間斷的交流不能保證信息的準(zhǔn)確性和可取性。因此伴隨著網(wǎng)絡(luò)的普及,論壇逐漸融入人們的生活。人們只需通過網(wǎng)上論壇的交流擴(kuò)大交流面,同時(shí)可以從多方面獲得自己所需要的最及時(shí)的信息??焖偌皶r(shí)的進(jìn)行交流現(xiàn)已成為人們生活中的一部分。五彩繽紛的網(wǎng)上信息,使網(wǎng)絡(luò)與人們的生活息息相關(guān),于是出現(xiàn)了專題論壇。它打破了地域限制,真正使信息得以全部共享,改變了人們的工作和生活方式。在本次課題中,主要使用 JSP 和 Servlet 技術(shù)來實(shí)現(xiàn) BBS 論壇建設(shè)。通過基于Internet 互聯(lián)網(wǎng)的動(dòng)態(tài) WEB 數(shù)據(jù)庫(kù)技術(shù),可以解決遠(yuǎn)程的數(shù)據(jù)傳

5、輸與讀取,遠(yuǎn)程的客戶終端(Client)可以通過 WEB 頁(yè)面提交請(qǐng)求,查詢遠(yuǎn)端的數(shù)據(jù)服務(wù)器上的信息,同時(shí)還可以向遠(yuǎn)端數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫(kù)中存儲(chǔ)信息,以實(shí)現(xiàn)信息的共享,同時(shí)利用 Internet 技術(shù)可以降低軟件的開發(fā)和部署成本,只要在服務(wù)器端安裝 WEB 應(yīng)用就可以使每個(gè)客戶端都能瀏覽使用。學(xué)校為了同學(xué)們之間更好進(jìn)行交流,和信息的及時(shí)傳遞,以及對(duì)個(gè)人問題的解決,身邊問題等有所幫助等,所以進(jìn)行了校內(nèi) BBS 系統(tǒng)的建設(shè)。本系統(tǒng)包括:用戶的管理,通過對(duì)用戶的管理來對(duì)系統(tǒng)的用戶進(jìn)行維護(hù)保證用戶的正常的使用,同時(shí)維護(hù)用戶信息以便于用戶及時(shí)對(duì)自己的個(gè)人信息的發(fā)布。帖子模塊,通過帖子模塊,用戶可以發(fā)布帖子

6、,以及對(duì)帖子進(jìn)行跟帖,讓大家對(duì)現(xiàn)在的熱門話題有一個(gè)很好的互動(dòng)交流,同時(shí)豐富大家的看法。留言模塊,通過留言使大家能夠有切實(shí)的交流以及生活的相互照顧,和信息的及時(shí)到達(dá)。關(guān)鍵詞:用戶使用用戶使用 關(guān)鍵詞:帖子帖子 關(guān)鍵詞:留言留言目 錄摘摘 要要.1第第 1 1 章章 項(xiàng)目分析項(xiàng)目分析.11.1 問題描述.11.2 技術(shù)分析.11.3 平臺(tái)選擇.1第第 2 2 章章 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)數(shù)據(jù)庫(kù)分析與設(shè)計(jì).32.1E-R 圖.52.2 關(guān)系設(shè)計(jì).62.3 表設(shè)計(jì).6第第 3 3 章章 實(shí)現(xiàn)實(shí)現(xiàn).93.1 功能模塊.93.1.1 流程圖.103.1.2 界面.113.1.3 代碼.15第第 4 4 章章 結(jié)

7、束語(yǔ)結(jié)束語(yǔ).25王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)1第 1 章 項(xiàng)目分析通過對(duì)使用方式,已經(jīng)使用方法,和對(duì)系統(tǒng)所要求達(dá)到的業(yè)務(wù)水平,總體分析整個(gè)系統(tǒng)共分為 4 個(gè)大的模塊。 用戶管理模塊:包括新用戶的注冊(cè),用戶登錄,更改個(gè)人信息,按用戶名搜索用戶;管理員對(duì)用戶的鎖定、刪除等。 (參與) 帖子管理模塊:登陸后查看 BBS 最新的 10 篇帖子,登錄本帖查看后帖子按時(shí)間順序顯示后 10 篇帖子,按用戶名或標(biāo)題搜索相關(guān)帖子;管理員對(duì)帖子的刪除等。 (獨(dú)立完成) 留言管理模塊:按時(shí)間顯示最后 10 篇留言,對(duì)別人留言的回復(fù),以及按用戶名搜索其他用戶留言;管理員對(duì)用戶留言的刪除。 (參與) 等級(jí)管理模塊:用戶發(fā)帖等

8、活躍行為將會(huì)提升用戶的等級(jí)。管理員主動(dòng)為精華用戶提升等級(jí)。(參與)1.1 問題描述BBS 項(xiàng)目是一個(gè)針對(duì)校內(nèi)交流的完整的一個(gè)功能的實(shí)現(xiàn),包含了:用戶注冊(cè)以及信息的完善性,用戶和用戶之間的留言,相互之間對(duì)話題的交流等。1.2 技術(shù)分析針對(duì)實(shí)現(xiàn)的各個(gè)模塊的需求,系統(tǒng)定義為 WEB 項(xiàng)目,前臺(tái)網(wǎng)頁(yè)的設(shè)計(jì)采用 JSP 技術(shù)制作。負(fù)責(zé)響應(yīng)用戶對(duì)業(yè)務(wù)邏輯的請(qǐng)求并根據(jù)用戶的請(qǐng)求行為,決定將哪個(gè) JSP 頁(yè)面發(fā)送給客戶由 servlet 處理,JavaBean 則負(fù)責(zé)數(shù)據(jù)的處理。BS 構(gòu)架進(jìn)行功能的實(shí)現(xiàn)。采用了JDBC 對(duì)數(shù)據(jù)庫(kù)的連接操作,中間業(yè)務(wù)層用 DAO 進(jìn)行業(yè)務(wù)的邏輯操作,基礎(chǔ)層面用JAVABEAN,

9、前臺(tái)用 JSP+html 完成數(shù)據(jù)的展現(xiàn)。1.3 平臺(tái)選擇選擇微軟平臺(tái)作為主導(dǎo),絕大多數(shù)同學(xué)使用的都是微軟系統(tǒng),作為內(nèi)部網(wǎng)路校園 BBS王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)2時(shí),適合同學(xué)們的選擇;另一方面從技術(shù)角度來講,微軟平臺(tái)上的應(yīng)用無論是在開發(fā)上,還是在軟件的部署上都是非常容易,而且性能優(yōu)越。具體如下:1.開發(fā)工具:MyEclipse 5.5.12.數(shù)據(jù)庫(kù):MySQL5.53.服務(wù)器 :Apache Tomcat6.04.運(yùn)行環(huán)境 :安裝 JDK1.6 支持 Java 運(yùn)行。王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)3第 2 章 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)通過對(duì)項(xiàng)目需求和功能需求的分析,整個(gè)項(xiàng)目分別設(shè)計(jì)了:userDetails 用

10、戶表-用于儲(chǔ)存用戶的一些基本的原始信息。表內(nèi)包括:1. 系統(tǒng)按注冊(cè)順序自動(dòng)生成的 id (int);2. 用戶注冊(cè)用戶名 username 字段類型 varchar (50);3. 用戶注冊(cè)密碼 password 字段類型 varchar (50);4. 用戶注冊(cè)時(shí)間 Registedtime 字段類型 datetime;5. 用戶注冊(cè)性別 sex 字段類型 char(1);6. 用戶是否有效的狀態(tài) State 字段類型 char(1);7. 用戶顯示名稱 isAdmin 字段類型 varchar (50);8. 用戶角色 epedom 字段類型 int;postsDetails 發(fā)帖表-用于

11、儲(chǔ)存帖子的信息,以及跟帖信息,外鍵為用戶表ID,用來作為標(biāo)示符。表內(nèi)包括:1. 用戶發(fā)帖時(shí)系統(tǒng)按發(fā)帖時(shí)間順序自動(dòng)生成的 id 字段類型 int;2. 主帖 IDtopid 字段類型 int;3. 帖子標(biāo)題 topic 字段類型 varchar (50);4. 外鍵-userDetails 表 publishId 字段類型 int;5. 帖子創(chuàng)建時(shí)間 publishTime 字段類型 varchar (50);6. 發(fā)帖內(nèi)容 content 字段類型 varchar (2000);7. 帖子狀態(tài)是否有效 state 字段類型 char(1);8. 帖子標(biāo)志(主帖或回復(fù)帖) 字段類型 char(1

12、);message 留言表-用于儲(chǔ)存留言信息,外鍵為用戶表 ID,用來作為標(biāo)示符。(請(qǐng)自己補(bǔ)全各個(gè)字段值所代表的屬性)表內(nèi)包括:1. 用戶留言時(shí)系統(tǒng)按留言時(shí)間順序自動(dòng)生成的 id 字段類型 int;2. 外鍵-userDetails 表 userID 字段類型 int;3. 用戶名 userName 字段類型 varchar (50);4. 創(chuàng)建時(shí)間 messageTime 字段類型 date;5. 留言 id topId 字段類型 int;6. 留言信息 message 字段類型 varchar (200);7. 留言狀態(tài)(是否有效)state 字段類型 char(1);王翱遠(yuǎn):BBS 校內(nèi)

13、網(wǎng)48. 留言標(biāo)志(主留言或回復(fù)留言)messageState 字段類型 char(1);integral 積分等級(jí)表-用于儲(chǔ)存用戶的等級(jí),完善用戶信息的存儲(chǔ),外鍵為用戶表 ID,用來作為標(biāo)示符。 (請(qǐng)自己補(bǔ)全各個(gè)字段值所代表的屬性)表內(nèi)包括:1. 外鍵用戶 id userid 字段類型 int;2. 用戶積分 integral 字段類型 int;3. 用戶等級(jí) level(100 積分一個(gè)等級(jí),從 1 級(jí)依次累計(jì)) 字段類型 int;4. 發(fā)帖條數(shù) amount 字段類型 int;5. 狀態(tài) state 字段類型 char(1);6. 創(chuàng)建時(shí)間 createdate 字段類型 date;王翱

14、遠(yuǎn):BBS 校內(nèi)網(wǎng)52.1E-R 圖積分用戶留言帖子擁有發(fā)帖增加發(fā)表用戶名密碼創(chuàng)建日期性別狀態(tài)顯示名稱用戶角色帖子標(biāo)志id創(chuàng)建時(shí)間主帖 id發(fā)帖內(nèi)容狀態(tài)帖子標(biāo)題id用戶表 idid留言標(biāo)志用戶表 id用戶名創(chuàng)建時(shí)間留言信息狀態(tài)留言 id用戶 id積分等級(jí)發(fā)帖條數(shù)創(chuàng)建時(shí)間圖 2.1 E-R 圖狀態(tài)王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)62.2 關(guān)系設(shè)計(jì)userDetails(用戶表)integral(積分等級(jí)表)Message(留言表)postsDetails(發(fā)帖表)dict(數(shù)據(jù)字典)外鍵為用戶表 ID圖 2.2 關(guān)系設(shè)計(jì)圖2.3 表設(shè)計(jì)根據(jù)數(shù)據(jù)的分析,將數(shù)據(jù)表定義為2.3.1 userDetails(用戶

15、表)字段名稱字段類型Not Null含義示例數(shù)據(jù)idint是,自增主鍵列1usernamevarchar (50)是用戶名Happy2007passwordvarchar (50)是密碼8888888Registedtimedatetime是創(chuàng)建日期2011-04-05sexchar(1)是性別男女Statechar (1)是狀態(tài)0-無效1-有效isAdminvarchar (50)是顯示名稱牛魔王popedomint是用戶角色王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)72.3.2 postsDetails(發(fā)帖表)字段名稱字段類型Not Null含義示例數(shù)據(jù)idint是,自增主鍵列1topIdint否主帖 Id

16、1topicvarch(50)是帖子標(biāo)題笑話大樓publishIdint是外鍵-用戶表1publishTimedatetime是創(chuàng)建時(shí)間2012-03-04contentvarchar (2000)是發(fā)帖內(nèi)容誰(shuí)來給我講個(gè)笑話。跟帖呀樓下的帥哥美女們。statechar(1)是狀態(tài)1-有效2-無效postsDetailsStatechar(1)是帖子標(biāo)志1-主帖2-回復(fù)帖2.3.3 message(留言表)字段名稱字段類型Not Null含義示例數(shù)據(jù)idint是,自增主鍵列1userIdInt是外鍵-用戶表1userNamevarchar (50)用戶名孫悟空messageTimedate是創(chuàng)建

17、時(shí)間2007-11-28topIdint留言 ididmessagevatchar(2000)是留言信息明天學(xué)校見statechar(1)是狀態(tài)1-有效2-無效messageStatechar(1)是留言標(biāo)志1-主留言王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)82-回復(fù)留言2.3.4 integral(積分等級(jí)表)字段名稱字段類型Not Null含義示例數(shù)據(jù)useridInt是,外鍵用戶 idintegralInt是積分levelInt是等級(jí)100 積分一個(gè)等級(jí)(從 1 級(jí)依次累計(jì))amountInt是發(fā)帖條數(shù)100statechar(1)是狀態(tài)1 有效2-無效createdatedate是創(chuàng)建時(shí)間2.3.5 d

18、ict(數(shù)據(jù)字典)字段名稱字段類型Not Null含義示例數(shù)據(jù)idint是,自增主鍵列1typevarchar (50)是類別系統(tǒng)權(quán)限itemvarchar (50)是條目經(jīng)理valuevarchar (6)是值1Statechar (1)是狀態(tài)0-無效1-有效createdatedate是時(shí)間王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)9第 3 章 實(shí)現(xiàn)3.1 功能模塊帖子管理模塊,實(shí)現(xiàn)了各位用戶登陸后即可立即查看 BBS 最新的 10 篇帖子,登錄本帖查看后可以查看自己的帖子,并且帖子按時(shí)間順序顯示后 10 篇帖子,用戶還可以按用戶名或標(biāo)題搜索相關(guān)帖子并進(jìn)行回復(fù)等;管理員可以對(duì)帖子進(jìn)行刪除(按時(shí)間順序排列或者按

19、用戶名或帖子標(biāo)題查找后刪除) 。王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)103.1.1 流程圖管理員后臺(tái)登陸帖子管理登陸成功 用戶名或標(biāo)題存在開始修改 刪除查找 重置顯示全部帖子詳細(xì)刪除成功結(jié)束帖子回復(fù)管理修改 刪除修改成功登錄失敗顯示全部重置查找修改刪除不存在3.1.1.1 流程圖王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)113.1.2 界面 發(fā)帖界面3.1.2.1 發(fā)帖界面王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)12 本帖查看界面3.1.2.2 本帖查看界面王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)13 登錄顯示最新帖子及帖子查詢界面3.1.2.3 登錄顯示最新帖子及帖子查詢界面王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)14 后臺(tái)管理帖子界面3.2.1.4 后臺(tái)管理帖子界面王翱遠(yuǎn):B

20、BS 校內(nèi)網(wǎng)15 后臺(tái)刪除帖子成功提示3.1.2.5 后臺(tái)刪除帖子成功提示3.1.3 代碼發(fā)帖:發(fā)帖標(biāo)題: 內(nèi)容: 帖子顯示與帖子查詢:顯示主頁(yè)面 用戶名: 王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)18 標(biāo)題: 發(fā)帖標(biāo)題 發(fā)帖時(shí)間 0) for(int i=0;i a href=tiezixiangxi.jsp?method=xiangxi&id= 王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)19 無數(shù)據(jù)! 本帖查看:本帖王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)20本帖查看 標(biāo)題 發(fā)帖時(shí)間 0) for(int i=0;i a href=tiezixiangxi.jsp?method=tiezixiangxi&id= &nbs

21、p;本帖詳細(xì)內(nèi)容:本帖詳細(xì)王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)21本帖詳細(xì) 回復(fù)內(nèi)容 回復(fù)時(shí)間 回復(fù)人 刪除 0) for(int i=0;i a href=android.jsp?method=tiezidelete&id=  后臺(tái)帖子管理:王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)22顯示主頁(yè)面 用戶名: 標(biāo)題: 王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)23 發(fā)帖標(biāo)題 發(fā)帖時(shí)間 刪除 0) for(int i=0;i a href=tieziguanli2.jsp?method=xiangxi&id= a href=android.jsp?method=tiezidelete&id= 無數(shù)據(jù)! 王翱

22、遠(yuǎn):BBS 校內(nèi)網(wǎng)25第 4 章 結(jié)束語(yǔ)本次二級(jí)課題,我從中學(xué)習(xí)到了很多的東西。對(duì)很多東西有了新的認(rèn)識(shí)和見解,認(rèn)識(shí)問題和思考問題以及解決問題有了本質(zhì)上的進(jìn)步。特別是對(duì)一個(gè)系統(tǒng)開發(fā)的模式有了更深的認(rèn)識(shí),對(duì)專業(yè)技能的運(yùn)用更熟練。也從中清楚地認(rèn)識(shí)了 Team 開發(fā)的優(yōu)勢(shì),明白了團(tuán)隊(duì)合作的重要性,每一個(gè)小組成員都是極其重要的。同時(shí)團(tuán)隊(duì)的每個(gè)成員所做的項(xiàng)目均需要做出接口供最后的完整程序的鏈接調(diào)試,接口均要做好。在本次開發(fā)的時(shí)候出現(xiàn)的最大的問題就是,在做需求分析的時(shí)候,沒有做好足夠的調(diào)查和分析。最終導(dǎo)致了數(shù)據(jù)庫(kù)設(shè)計(jì)極其不合理。在開發(fā)中途時(shí)不得不修改數(shù)據(jù)庫(kù)。而數(shù)據(jù)庫(kù)一修改,將面臨的就是大部分代碼的修改。這也

23、是讓我非常頭痛的,后來 863 的指導(dǎo)老師幫助我們建立了完善的數(shù)據(jù)庫(kù),使得我們的 BBS 論壇系統(tǒng)能夠繼續(xù)進(jìn)行下去。這次的失誤讓我認(rèn)識(shí)到了,設(shè)計(jì)數(shù)據(jù)庫(kù)就是開發(fā)一個(gè)系統(tǒng)的核心。設(shè)計(jì)數(shù)據(jù)庫(kù)一定要思路清晰,各個(gè)數(shù)據(jù)的流向各個(gè)表之間的關(guān)系一定要弄清楚,透徹。數(shù)據(jù)庫(kù)設(shè)計(jì)出錯(cuò)了對(duì)以后整個(gè)系統(tǒng)的影響是最直接的。所以做需求時(shí)一定要做好需求分析,考慮完善,數(shù)據(jù)庫(kù)設(shè)計(jì)要謹(jǐn)慎。總之需求分析時(shí)能做好就能降低需求變更,再加上設(shè)計(jì)時(shí)考慮到的技術(shù)可行性就可以大幅度的降低需求變更。在系統(tǒng)的開發(fā)過程中,還出現(xiàn)了很多很多的問題。我們小組通過網(wǎng)絡(luò)上的查詢、老師和同學(xué)給我的講解、查閱書籍等方法在最后終于完成了預(yù)定的需求功能。看到 T

24、eam 合作完成并可以成功使用的 BBS 系統(tǒng)給了我今后的學(xué)習(xí)很大的鼓舞。開發(fā)此次課題論壇系統(tǒng)使我有了一次加固理論知識(shí)的機(jī)會(huì),讓我從理論到了實(shí)踐。開發(fā)這個(gè)系統(tǒng)使我學(xué)習(xí)到了在開發(fā)一個(gè)系統(tǒng)所需的步驟。相信,有了這次實(shí)踐,我會(huì)更有信心在將來的學(xué)習(xí)中做出更大成績(jī)。參考文獻(xiàn)1徐明進(jìn) JSP 網(wǎng)站開發(fā)技術(shù)M. 北京:清華大學(xué)出版社,2001.52孫載陽(yáng) 黃韻芳 FrontPage 與 HTML 易學(xué)易用M. 北京:中國(guó)鐵道出版社 2001.53 Y.Daniel Liang. Java 語(yǔ)言程序設(shè)計(jì)(基礎(chǔ)篇)M. 北京:機(jī)械工業(yè)出版社,2010.44 Y.Daniel Liang. Java 語(yǔ)言程序設(shè)計(jì)

25、(進(jìn)階篇)M. 北京:機(jī)械工業(yè)出版社,王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)262010.45王珊 薩師煊 數(shù)據(jù)庫(kù)系統(tǒng)概論(第 4 版)M 北京高等教育出版社 2010.12王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)27指導(dǎo)教師評(píng)語(yǔ) 成績(jī):指導(dǎo)教師簽名: 年 月 日 王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)28附錄:主要源程序數(shù)據(jù)字典:package .dao;import java.util.ArrayList;import java.util.List;import .utils.DbUtils;/* * dict 數(shù)據(jù)字典表操作 * */public class DictDao /增加數(shù)據(jù)public boolean insertDict(

26、String type,String item,String value)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建新增條件String sql=insert into dict( type, item, value,state)values (?,?,?,1);String params=new Stringtype,item,value;/獲得返回結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;/刪除數(shù)據(jù)/根據(jù) ID 刪除數(shù)據(jù)public boolean deleteDict(String id)/獲得數(shù)據(jù)庫(kù)

27、連接DbUtils db=new DbUtils();/創(chuàng)建刪除條件String sql=delete from dict where Id=?;String params=new Stringid;boolean a=db.saveOrUpdate(sql, params);return a;/查詢數(shù)據(jù)/根據(jù)類別查詢數(shù)據(jù)王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)29public List selectDict(String type)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建刪除條件String sql=select * from dict where type like ?;ty

28、pe=%+type+%;String params=new Stringtype;List a=db.queryData(sql, params);return a;/查詢?nèi)縫ublic List selectDictAll()/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建刪除條件String sql=select * from dict ;String params=new String0;List a=db.queryData(sql, params);return a;/根據(jù) Id 查詢public List selectDictById(String Id)

29、/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建刪除條件String sql=select * from dict where Id=?;String params=new StringId;List a=db.queryData(sql, params);return a;/修改數(shù)據(jù)public boolean updateDict(String id,String type,String item,String value)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建刪除條件String sql=update dict set type=

30、?,item=?,value=? where Id=?;String params=new Stringtype,item,value,id;boolean a=db.saveOrUpdate(sql, params);王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)30return a;留言表操作package .dao;import java.util.ArrayList;import java.util.List;import .utils.DbUtils;/* * message 留言表操作 * */public class MessageDao /增加數(shù)據(jù)/新增留言 新增回復(fù)留言public boolean

31、insertMessage(String userId,String userName,String topId,String message)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=insert into message( userId, userName, topId, state, messagetext) +values (?,?,?,1,?);String params=new StringuserId, userName, topId, message;/獲得返回結(jié)果boolean a=db.saveOrUpdate(s

32、ql, params);return a;/刪除數(shù)據(jù)/根據(jù) id 刪除數(shù)據(jù)public boolean deleteMessage(String id)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=delete from message where Id=?;String params=new Stringid;/獲得返回結(jié)果王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)31boolean a=db.saveOrUpdate(sql, params);return a;/查詢數(shù)據(jù)/根據(jù)用戶 ID 查詢留言public List selectMessageById

33、(String topid)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from message where topId=?;String params=new Stringtopid;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;/根據(jù)用戶名時(shí)間進(jìn)行查詢public List selectMessage(String userName,String timeS,String timeEnd)/這邊可以完善查詢條件/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUt

34、ils();/創(chuàng)建查詢條件String sql=select * from message where userName like ?;userName=%+userName+%;String params=new StringuserName;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;/根詢?nèi)縫ublic List selectMessageAll()/這邊可以完善查詢條件/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from message;String pa

35、rams=new String0;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)32/修改數(shù)據(jù)public boolean updateMessage(String id)boolean a=false;return a;發(fā)帖表操作package .dao;import java.util.ArrayList;import java.util.List;import .utils.DbUtils;/* * postsDetails 發(fā)帖表操作 * */public class PostsDetailsDao /增加數(shù)據(jù)/

36、前臺(tái)(發(fā)帖操作-根據(jù)用戶 ID 插入數(shù)據(jù))public boolean insertPostsDetails(String userid,String name,String topic,String content)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=insert into postsdetails( topic, publishId, publishname, publishTime, content, state, postsDetailsState) +values (?,?,?,NOW(),?,1,1);String

37、params=new Stringtopic, userid, name, content,;/獲得返回結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;/發(fā)帖回復(fù)public boolean insertPostsDetailsRS(String topid,String userID, String username,String topic,String content)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)33/創(chuàng)建查詢條件String sql=insert into postsdeta

38、ils( topId, publishId, publishname, publishTime, content, state, postsDetailsState) +values (?,?,?,NOW(),?,1,2);String params=new Stringtopid, userID,username,content,;/獲得返回結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;/刪除數(shù)據(jù)/根據(jù)帖子 id 刪除 public boolean deletePostsDetails(String id)/獲得數(shù)據(jù)庫(kù)連接DbUtils

39、db=new DbUtils();/創(chuàng)建查詢條件String sql=delete from postsdetails where Id=?;String params=new Stringid;/獲得返回結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;/查詢數(shù)據(jù)/查詢最新的 10 條帖子public List selectindex()/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from postsdetails where postsDetailsState=1

40、order by Id desc limit 10;String params=new String0;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;/查詢所有主貼public List selectAll()/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)34String sql=select * from postsdetails where postsDetailsState=1 order by Id desc;String params=new String0;/獲得返回結(jié)果Li

41、st a=db.queryData(sql, params);return a;/前臺(tái)(根據(jù) userID 查旬帖子)public List selectPostsByUserID(String userID)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from postsdetails where publishId=?;String params=new StringuserID;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;/前臺(tái)(根據(jù)帖子 id 查詢回復(fù)帖子)

42、public List selectPostsByID(String ID)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from postsdetails where topId=?;String params=new StringID;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;/后臺(tái)(根據(jù)用戶名,帖子標(biāo)題查詢帖子)public List selectPostsByNameTop(String topic,String username)/獲得數(shù)據(jù)庫(kù)連接DbUti

43、ls db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from postsdetails where topic like ? and publishname like?;topic=%+topic+%;username=%+username+%;String params=new Stringtopic,username;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)35/修改數(shù)據(jù)public boolean updatePostsDetails(String id)return

44、 false;積分等級(jí)表操作package .dao;import java.util.ArrayList;import java.util.List;import .utils.DbUtils;/* * uintegral 積分等級(jí)表操作 * */public class UintegralDao /增加數(shù)據(jù)/新用戶注冊(cè)同時(shí)添加積分等級(jí);public boolean insertUintegral(String userid,String Username)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=insert into messa

45、ge( userid, Username, uintegral, level,amount, state, createdate) +values (?,?,0,1,0,1,NOW();String params=new Stringuserid, Username;/獲得返回結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;/刪除數(shù)據(jù)/將用戶的幾分清 0,等級(jí) 1public boolean deleteUintegral(String userid)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();String sql=up

46、date uintegral set uintegral=0 ,level=1 where Id=? ;王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)36String params=new Stringuserid;/獲得查詢結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;/查詢數(shù)據(jù)/根據(jù)用戶名查找數(shù)據(jù)public List selectUintegral(String username)/這邊可以完善查詢條件/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from uintegral wher

47、e Username like?;username=%+username+%;String params=new Stringusername;/獲得返回結(jié)果List a=db.queryData(sql, params);return a;/根據(jù) id 查詢數(shù)據(jù)public List selectUintegralById(String id)/這邊可以完善查詢條件/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from uintegral where Id=?;String params=new Stringid;/獲

48、得返回結(jié)果List a=db.queryData(sql, params);return a;/查詢?nèi)縫ublic List selectUintegralAll()/這邊可以完善查詢條件/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from uintegral ;String params=new String0;/獲得返回結(jié)果王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)37List a=db.queryData(sql, params);return a;/修改數(shù)據(jù)/(發(fā)帖,回帖)根據(jù)用戶 ID 查詢出用戶幾分,并換算分?jǐn)?shù)以及等級(jí)pub

49、lic boolean updateUintegralAndirod(String userid,String postsDetailsState)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();String sql=select userid,uintegral from uintegral where userid=? ;String params=new Stringuserid;List a=db.queryData(sql, params);String uintegral=a.get(1).toString();String sql2=update uintegr

50、al set uintegral=? ,level=? where Id=? ;int level=Integer.parseInt(uintegral)%100+1;String params2=new Stringuintegral,+level,userid;/獲得查詢結(jié)果boolean b=db.saveOrUpdate(sql2, params2);return b;/修改積分等級(jí)換算(前臺(tái)發(fā)帖加分,帖子被回復(fù)加分)public boolean updateUintegral(String userid,String uintegral)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new

51、DbUtils();String sql=update uintegral set uintegral=? ,level=? where Id=? ;int level=Integer.parseInt(uintegral)/100;String params=new Stringuintegral,+level,userid;/獲得查詢結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;用戶表操作package .dao;import java.util.ArrayList;import java.util.List;import .utils

52、.DbUtils;王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)38/* * userDetails 用戶表表操作 * */public class UserDetailsDao /增加數(shù)據(jù)/此方法用于用戶注冊(cè)public boolean insertUserDetails(String username,String password,String sex,String isAdmin)DbUtils db=new DbUtils();String sql=insert into userdetails( username, password, registedtime, sex, state, isAdmin,

53、popedom)values (?,?,NOW(),?,1,?,0);String params=new Stringusername, password, sex, isAdmin,;boolean a=db.saveOrUpdate(sql, params);return a;/刪除數(shù)據(jù)/此方法用于系統(tǒng)管理員刪除用戶public boolean deleteUserDetails(String id)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建刪除條件/由于主鍵因素,刪除用戶需要先刪除,發(fā)帖表,留言表,等級(jí)表String sql=delete from user

54、details where Id=?;String params=new Stringid;boolean a=db.saveOrUpdate(sql, params);return a;/查詢數(shù)據(jù)/前臺(tái)登陸public List topLogin(String username ,String password)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select Id,username,password from userdetails where username=? and password=?;String params=

55、new Stringusername,password;/獲得查詢結(jié)果王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)39List s=db.queryData(sql, params);/boolean a=false;/if(s.size()0)/a=true;/return a;return s;/后臺(tái)登陸public boolean selectUserDetails(String username,String password)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select username,password from userdetail

56、s where username=? and password=? and popedom=1;String params=new Stringusername,password;/獲得查詢結(jié)果List s=db.queryData(sql, params);boolean a=false;if(s.size()0)a=true;return a;/根據(jù)用戶名查找用戶/此方法用于 前臺(tái)(留言用戶查詢)后臺(tái)(會(huì)員管理查詢,權(quán)限管理查詢)/查詢是通過 like 模糊查詢public List selectByUsername(String username)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=n

57、ew DbUtils();/創(chuàng)建查詢條件/String sql=select Id,username,password,sex,state,isAdmin,popedom from userdetails where username=? ;String sql=select * from userdetails where username like ? ;username=%+username+%;String params=new Stringusername;/獲得查詢結(jié)果List a=db.queryData(sql, params);return a;/根據(jù) ID 查找用戶,用于前

58、臺(tái)修改個(gè)人信息王翱遠(yuǎn):BBS 校內(nèi)網(wǎng)40public List selectByUserId(String userid)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件/String sql=select Id,username,password,sex,state,isAdmin,popedom from userdetails where username=? ;String sql=select * from userdetails where Id=? ;String params=new Stringuserid;/獲得查詢結(jié)果List a=db.q

59、ueryData(sql, params);return a;/查詢?nèi)?此方法用于 后臺(tái)(查詢?nèi)浚﹑ublic List selectUserAll()/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();/創(chuàng)建查詢條件String sql=select * from userdetails ;String params=new String0;/獲得查詢結(jié)果List a=db.queryData(sql, params);return a;/修改數(shù)據(jù)/后臺(tái) 管理員 修改用戶權(quán)限public boolean updateUserPopedom(String id,String

60、popedom)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new DbUtils();String sql=update userdetails set popedom=? where Id=? ;String params=new Stringpopedom,id;/獲得查詢結(jié)果boolean a=db.saveOrUpdate(sql, params);return a;/前臺(tái)用戶修改個(gè)人信息后臺(tái)用戶管理public boolean updateUserDetails(String id,String username,String password,String sex,String isAdmin)/獲得數(shù)據(jù)庫(kù)連接DbUtils db=new D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論