web課程設(shè)計(jì)網(wǎng)絡(luò)論壇系統(tǒng)_第1頁(yè)
web課程設(shè)計(jì)網(wǎng)絡(luò)論壇系統(tǒng)_第2頁(yè)
web課程設(shè)計(jì)網(wǎng)絡(luò)論壇系統(tǒng)_第3頁(yè)
web課程設(shè)計(jì)網(wǎng)絡(luò)論壇系統(tǒng)_第4頁(yè)
web課程設(shè)計(jì)網(wǎng)絡(luò)論壇系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(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、設(shè)計(jì)總說(shuō)明3 系統(tǒng)分析與設(shè)計(jì)4 1、需求分析4 2、功能設(shè)計(jì)4 3、數(shù)據(jù)庫(kù)設(shè)計(jì)4 系統(tǒng)實(shí)現(xiàn)7 1、論壇枚!|覽7 2、用戶使用12 3、管理員使用17 心得體會(huì)20 參考文獻(xiàn)20 設(shè)計(jì)總說(shuō)明 一、課程設(shè)計(jì)的意義: 作為web程序設(shè)計(jì)課程的延伸,在學(xué)生完成了web程序設(shè)計(jì)課程的理論學(xué) 習(xí)后,安排的課程設(shè)計(jì),旨在提高學(xué)生web程序開(kāi)發(fā)水平,培養(yǎng)學(xué)生網(wǎng)絡(luò)編程的能 力。 二、設(shè)計(jì)內(nèi)容 設(shè)計(jì)一個(gè)網(wǎng)絡(luò)論壇系統(tǒng)。 三、設(shè)計(jì)要求 系統(tǒng)功能: 1注冊(cè)新用戶:新用戶填寫(xiě)注冊(cè)表單,包括用戶姓名、密碼、聯(lián)系方式等 信息;如 果輸入用戶名已被注冊(cè)過(guò),系統(tǒng)提示用戶更改自己的用戶名。 2、用戶登錄:輸入用戶名和密碼;若用戶

2、輸入有誤,系統(tǒng)將提示錯(cuò)誤。 3、用戶發(fā)表帖子;成功登錄的用戶可以發(fā)表帖子。 4、瀏覽帖子:成功登錄的用戶可以瀏覽其他用戶發(fā)布的帖子。 5、用戶注冊(cè)信息修改:用戶可以修改自己的注冊(cè)信息。 6、用戶退出登錄:成功登錄的用戶可以使用該功能退出論壇系統(tǒng)。 系統(tǒng)分析與設(shè)計(jì) 1需求分析 開(kāi)發(fā)一個(gè)論壇系統(tǒng),首先需要確定論壇的功能是什么,也就是用戶想要的論壇所能做的工 作。用戶使用論壇是按照一定得流程來(lái)進(jìn)行的:用戶注冊(cè)登錄進(jìn) 入論壇,就某個(gè)話題展開(kāi)討論, 通過(guò)發(fā)帖功能發(fā)布新的話題,通過(guò)回帖的功能回復(fù)己有的話題,通過(guò)搜索查找已有的話題;管理 員要管理論壇,系統(tǒng)需要具 有的功能管理注冊(cè)的用戶,管理帖子。這樣的流程

3、就決定了論壇所應(yīng) 具有的功能,路攤流程圖如下: 通過(guò)上面的分析,總結(jié)論壇的功能有以下幾項(xiàng):論壇版塊列表;瀏覽帖子;發(fā)帖回帖;搜索 帖子;刪除帖子;用戶注冊(cè);用戶登錄;控制用戶權(quán)限;修改注冊(cè)信息;管理用戶。 論壇一般存在兩種用戶,注冊(cè)用戶和管理員。用戶的權(quán)限是向下覆蓋的,即上級(jí)權(quán)限包含下 級(jí)權(quán)限,管理員的權(quán)限是上級(jí)權(quán)限。 論壇系統(tǒng)的用戶瀏覽信息功能,是用戶討論問(wèn)題的平臺(tái),發(fā)帖、瀏覽?;靥恢必灤┯脩舻?整個(gè)活動(dòng)。同時(shí)又有論壇系統(tǒng)的帖子管理是管理員在帖子瀏覽時(shí)進(jìn)行的,只是一般用戶沒(méi)有權(quán)限 做這些動(dòng)作。 2、功能設(shè)計(jì) 從需求分析可以找到,論壇功能分為用戶使用各基本功能和管理員管理的功能。 論壇系統(tǒng)包

4、括以下主要功能: (1) 注冊(cè)登錄功能:用戶注冊(cè),登錄以及修改個(gè)人注冊(cè)信息; (2) 瀏覽功能:用戶瀏覽版塊,查看帖子; (3) 發(fā)帖回帖功能:用戶發(fā)帖、回帖; (4) 帖子管理功能:管理員刪除帖子。 3、數(shù)據(jù)庫(kù)設(shè)計(jì) 1概要設(shè)計(jì): 通過(guò)對(duì)系統(tǒng)進(jìn)行的需求分析和系統(tǒng)功能的確定,規(guī)劃出系統(tǒng)中使用的數(shù)據(jù)庫(kù)實(shí)體對(duì)象分別為用戶 實(shí)體、管理員實(shí)體、發(fā)帖實(shí)體、回帖實(shí)體。 因此bbs論壇系統(tǒng)的E-R模型圖為: (一)設(shè)計(jì)表 將E-R圖轉(zhuǎn)換為關(guān)系模型一般遵循如下原則: (1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系 的碼。 (2)一個(gè)聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼

5、以及聯(lián)系本身的屬 性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實(shí)體碼的組合。 (3)個(gè)l:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的 關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的 屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼。 (4)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì) 應(yīng)的關(guān)系模式 合并。 根據(jù)上述原則設(shè)計(jì)的數(shù)據(jù)表如下: 用戶實(shí)體:用戶(用戶名、密碼、性別、年齡、郵箱、地址、圖像、電話) 管理員實(shí)體:管理員(姓名、密碼) 發(fā)帖實(shí)體:發(fā)帖(發(fā)帖人、編號(hào)、主題、內(nèi)容、時(shí)間、瀏覽次數(shù)、回帖次數(shù)) 回帖實(shí)體:回帖(編號(hào)、主題、

6、內(nèi)容、回帖時(shí)間) (二)設(shè)計(jì)數(shù)據(jù)字典 數(shù)據(jù)字典:bbs論壇系統(tǒng)會(huì)涉及大量的靜態(tài)數(shù)據(jù),如發(fā)帖主題、發(fā)帖內(nèi)容、發(fā)帖時(shí)間、用戶 年齡、用戶性別、用戶地址等,這些數(shù)據(jù),其數(shù)據(jù)的組織結(jié)構(gòu) 基本一致,現(xiàn)為該系統(tǒng)設(shè)計(jì)四個(gè)數(shù) 據(jù)字典:用戶字典、管理員字典、發(fā)帖字典、回帖字典。 用戶字典userna 屬性名稱 屬性類型 是否可以為空 約束 含義 user_ name varchar2(30) NOT NULL 主鍵 用戶名 password varchar2(20) NOT NULL 密碼 sex nu mber (1) NOT NULL 只能為0和 1 性別 age date NULL 年齡 userface

7、 varchar2(6) NULL 圖像 email varchar2(30) NULL 郵箱 address varchar2(20) NULL 地址 tel varchar2(11) NULL 電話 管理員字典gib: 屬性名稱 屬性類型 是否可以為空 約束 含義 gl varchar2(20) NOT NULL 主鍵 姓名 pw varchar2(20) NOT NULL 密碼 發(fā)帖字典: 屬性名稱 屬性類型 是否可以為空 約束 含義 art_id nu mber NOT NULL 主鍵 編號(hào) user_ name varchar2(20) XOT NULL 發(fā)帖人 author var

8、char2(20) NOT NULL 主題 content clbo NOT NULL 內(nèi)容 issue_time date NULL 發(fā)帖時(shí)間 view_times nu mber NULL 瀏覽次數(shù) reply_times nu mber NULL 回帖次數(shù) 回帖字典: 屬性名稱 屬性類型 是否可以為空 約束 含義 re_id nu mber NOT NULL 編號(hào) author varchar(20) NOT NULL 主題 content blob NOT NULL 內(nèi)容 re_time date NOT NULL 回帖時(shí)間 系統(tǒng)實(shí)現(xiàn) 1論壇瀏覽 1、進(jìn)入主頁(yè)面 Er-吟 i U. i

9、-可-帚 黑旺L IT, a t *T1 :- 1 t Ifll憾1耳L I豹馬W S橄輸PWB I:* 也祐fcinyra 書(shū)忖 71 fm r *1 A s 丿X Tta 耳裁上hot! iX. 駅 Ei 1. : TT: . It社-:V 咚*帚生 5卞析解W書(shū)月睛刖耳1塔帝町T 加卜IHF中的溯EJ. U黔予nUF strSfl 1 flMiM醉的気自”環(huán)丸三茫丑自2Pkt宙J3 I HA -ffdju fit jfiUBttfia r w V ffitcWElB :-a 駆血哉切 DT瞬n*站巴 履卻悻I?建繪 m txff USJ転毆1毘田已肆,E矜岡戶審 恫詼時(shí) FWH 子 標(biāo)題

10、 點(diǎn)缶戟I甘創(chuàng) 卜 斟詰.二丄卩|丨-主:*N笙 ?1!1 1-131-1 uro -(: ! 26 2 ?01 inC-; 0 OD: -MD 623 T -r 丄1 卡午戶:心、忙左 ni(M6-口 Qaaniat 曰hF V2 1. 玩曲巧住 TfllS-nC-rOIiQGCG 卜m 33 5. XK: I III -11D ri r: Q5 c J 撈口,“常的!! fi有一 無(wú)也可rj. n-cst 首西 2dlO-6-13QDIK)DOD 聞r 力 樹(shù)矜K /卜風(fēng) Q 少吃-匚沉亍訊戈能:壬君 ?013 0-r CD CKi-GOO 叮育串附月 C Iiursr irum rcoi

11、 址汕 I 訓(xùn)口rhi! FH Fit P is?缶趙 M Z 代碼實(shí)現(xiàn)如下: bgcolor二#CCCCFF vform action=”method二post name=/paidui, vtable width二900 border二0 cellspacing二0 div align=,zright 按時(shí)I可降排丿予 voption value=,/l,/ voption value=,/2z, voption value=,/3, 按時(shí)間升排序 按瀏覽降排序 按瀏覽升排序 v/option v/option v/divx/td vtd width二78vdiv vinput type二

12、submit align=zzcenterz/ name二ok value=z/ 瀏覽/ v/divv/td vtable width二900 border二1 cellspacing二0 bordercolor二#999999 bgcolor二#CCCCCC 標(biāo)題 發(fā)帖時(shí) I可/div/td 發(fā)巾占人 divalign=/zcenterz, 點(diǎn)擊數(shù) divalign=/center,回帖數(shù) /tt所有帖子 % Stri ng px=requestgetParameter(paixu); try Connection con=DriverManager getConnection(url, u

13、ser, password); Statement st=con createStatement(); ResultSet rs=null; Stri ng sql=/,select user_ name, author, issue_time, view_times, reply_times from articles_bbs if(px=n ull); else if(px. equals (O) sql=sql+,zorder by issue_time desc; else if (px. equals (,zl,z) sql二sql+order by issue_timez,; el

14、se if (px. equals (,Z2Z/) sql=sql+z,order by view_times desc; else 辻(px. equals (3) sql=sql+,zorder by view_times,/; rs=st. executeQuery (sql); int i二0; while(rs. next() out. pri nt (,8 href=/z+,zfatie. jsp?id=z/+java. net. URLE ncoder. e ncode (rs. getStri ng(2)+ +i+、 +rs. getString (2) +,zv/av/div

15、v/td?,); out. pri nt(td+rs. getStri ng(3)+/td); out. pri nt (z/+rs. getStri ng(1)+/ out. pri nt (,z/z+rs. getStri ng (4)+/td); out. pri nt (z/,z+rs. getStri ng (5)+,/,/); con. close (); catch(SQLExcepti on el)out.pri nt(el); % v/formv/table 瀏覽帖子:該頁(yè)面主要顯示每個(gè)帖子的內(nèi)容和回帖內(nèi)容以及相應(yīng)的用戶信息,效果 圖如下: 201冷IF 闿戸- 忙捱托SiT

16、/tJA, 冏嚴(yán),迪i fl嚴(yán) if(tijiaotel. value len gthll tijiao. tel. value len gthl) alert r電話未填!); return false; if(tijiaopw. valuele ngth 數(shù)據(jù)按要求填寫(xiě)后就提交跳轉(zhuǎn)到注冊(cè)成功頁(yè)面,該頁(yè)面主要執(zhí)行sql數(shù)據(jù)插入語(yǔ) 句。 2、登錄 用戶登錄成功效果圖如下: 立阿環(huán)一處腹盟t號(hào)咄 此出蜒#用戶Hal f肯屢花脇十用P智21書(shū)曙I卩睡1 登錄成功后可以出現(xiàn)用戶登錄狀態(tài),并且擁有發(fā)帖和回帖的權(quán)限以及退出操作。 用戶狀態(tài)在切換頁(yè)面也不會(huì)改變。登錄代碼如下: requestsetChar

17、acterE ncodi ng(gb2312); Stri ng usernamerequestgetParameter(user); Stri ng pw=requestgetParameter(uscrpw); int k二0; try Connection con=DriverManager getConnection(url, user, password); Statement st二con createStatement(); ResultSet rs=null; rs=st.executeQuery (selectuser_name, password from usersna

18、where user_name=n +username+,z; rs. n ext (); int i二rs getRowO ; if (sessi on. getAttribute(z/userz,) !=nu II) k=k+l; 辻(i=0 else if (String valueOf(pw) equals(rs getString(2) out. pri nt (歡迎+username+成 員登錄href二+fatiezi. jsp+ 發(fā)帖/a /+a href二+zhuxiao. jsp+退出登錄 /); sessi on. setAttribute (z/userz user n

19、ame); else out. pri nt C 你還未登錄論壇/); con. close (); _ catch(SQLExceptio n el) out. pri nt C彳爾還未登錄論壇/); 3、回帖 效果圖如上瀏覽帖子哪版,是與帖子一起的,其中用JavaScript限制了內(nèi)容不 為空以及用 session對(duì)象來(lái)確定是否登錄來(lái)判斷有無(wú)回帖權(quán)利。代碼如卜: vscript Ian guage=/zjavascriptz/ fun ctio n check (form) if (form co nte nt. value=,z n ) 請(qǐng)?zhí)顚?xiě)內(nèi)容! ); return false; v

20、form method二posact ion 二”onSubmi t=z,re turncheck (this)/z style二MARGIN-B0TT0M0px 回帖內(nèi)容: TDwidth二753 height=301/, vtextarea name二contentrows=20 cols=80 n ame=,c onten tX/textarea TD height二36 colspan=2 align二center input type二submit value二回帖 ” name二submit requestsetCharacterE ncodi ng(gb2312); Stri n

21、g conten t=reques t get Parameter (z/co nte nt); if (conten t!二null) try Connection con=DriverManager getConnection(url, user, password); Statement st二con createStatement(); ResultSet rs=null; st. executeUpdate(” update articles_bbs set reply_times二reply_times+l where authoH +un+八); rs=stexecuteQuer

22、y(select art_id from articles_bbs where author=+im+); rs. n ext (); Stri ng num二rsgetStri ng(l); st. executeUpdate (,zi nsert into replies_bbs (re_id, author, repco nt, re_time) values (5 /,+num+,T,+sessio n. getAttribute (user) +co nte nt+, sys date),z); conten t=; out. print r 回帖成功); catch(SQLExce

23、ption el) outprint (“ 4、發(fā)帖 效果圖如下: 論壇話題發(fā)祎 主匝| 族布砲|全常垂嗨! 同樣用JavaScript限制了內(nèi)容標(biāo)題不為空,以及用session對(duì)象獲得用戶信息,存入數(shù)據(jù) 庫(kù);代碼如下: “壇話題發(fā)布/b TDwidth=16% div align=right主 題: CTDwidth二84% CTDwidth=16% TDwidth二90% height二300 TDheight二35 colspan=2 align=center input type二:reset 全部重寫(xiě) name二B2 v/TABLE v/form request. setCharac

24、terE ncodi ng(gb2312); String author=request getParameter (z,author/z); String con te nt二requestgetParameter Cc on te nt); Date curDate=new Date(new java .util. Date(). getTime(); javatextSimpleDateFormat formatter =new javatext. SimpleDateFormat(yyyy-MM-dd hh:mm:ss); Stri ng t二formatter. format(cur

25、Date); out pri nt (t); if(author!=n ull) try Connection con=DriverManager getConnection(url, user, password); Statement st二con. createStatement(); ResuItSet rs二null; rs=stexecuteQuery(select max(art_id) from articles_bbs); rs. n ext (); int sm二rsgetlnt(1)+1; st. executeUpdate Ci nsert into articles_

26、bbs(art_id, user_ name, author, co nte nt, issue_time, view_times, re ply_times) values( +sm+ +sessio n. getAttribute(user)+ , +author+ , +co nte nt+ , sysdate,O,O); out. print C發(fā)帖成功); catch (SQLException el) out. print (,?發(fā)巾占失敗); 3、管理員使用 1.、管理員登錄效果圖如下: 代碼如卜: vtd width二60管理員: v/td 密碼:C/td 登陸成功則進(jìn)入管理頁(yè)

27、面 2、刪帖 效果圖如下: M人 1如 n 1.屮裁扎 兇.(Xi lonnooooo T. lLWt r. .1J :Hi ri)上門(mén)門(mén)的1 P占西口 20111J 加-I-UHJ CO 00C 戈您敵日 H 1 亠岀殲:邇心毀奧哎E 劉(J iAi-MQO*XltJC *89 5 L 兀斑1:蟲(chóng)前起于 卜見(jiàn) 35 0 2Din-36-T50jXi oac 12 1 -刖耐歪帀沖回避瑚鼬 2G6 011.00: MC A 3 3LJU*u - 4? 匕 1 j: 1 t|i- .L,M; .ril/ table width二900 border=0 cellspacing二0 divalig

28、n二right align二center td width二78div /divv/td v/div td width二50div align二center冊(cè)【J否 divalign=/,center 標(biāo)題 div align二center發(fā)帖時(shí) I可 發(fā)巾占人 td width二50div align二center點(diǎn)擊數(shù) td width二50div align二center回帖數(shù) /tr所有帖子 td 0; name=/z+z/dele user_ name, author, issue_time, view_times, reply_times out. pri nt(divalig n=+lef+a href=,+,zfatie.

溫馨提示

  • 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)論