版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)說明書</b></p><p> 班級(jí): 姓名: </p><p> 學(xué)號(hào): </p><p> 設(shè)計(jì)題目: 技術(shù)論壇系統(tǒng) </p><p> 設(shè)計(jì)時(shí)間:
2、 至 </p><p> 指導(dǎo)教師: </p><p> 評(píng) 語:___________________________________</p><p> ___________________________________________</p><p>
3、; ___________________________________________</p><p> ___________________________________________</p><p> ___________________________________________</p><p> 評(píng)閱成績:______評(píng)閱教師:___
4、____</p><p><b> 摘要</b></p><p> BBS討論區(qū)是目前因特網(wǎng)上人氣最旺的互動(dòng)交流服務(wù),據(jù)統(tǒng)計(jì),國內(nèi)三大門戶網(wǎng)站的BBS討論區(qū)帶來的流量已經(jīng)遠(yuǎn)遠(yuǎn)超過其門戶新聞帶來的流量。本系統(tǒng)是一個(gè)結(jié)構(gòu)簡單的BBS論壇系統(tǒng),該系統(tǒng)采用了MVC三層架構(gòu)模型,通過這種設(shè)計(jì)模型把界面展示、處理流程和業(yè)務(wù)邏輯分成不同的組建實(shí)現(xiàn),方便維護(hù)與重用。</p&
5、gt;<p><b> 課程題目及需求分析</b></p><p> 課程題目:技術(shù)論壇系統(tǒng)</p><p><b> 題目設(shè)計(jì)要求:</b></p><p> 要求實(shí)現(xiàn)一個(gè)簡單的技術(shù)論壇系統(tǒng)。</p><p> 涉及到的各類信息需要自行分析設(shè)計(jì),要求實(shí)現(xiàn)的功能主要有:<
6、;/p><p> 1)用戶注冊:錄入用戶個(gè)人信息,獲得進(jìn)入論壇的權(quán)限,并賦予一定級(jí)別(級(jí)別可隨發(fā)帖次數(shù)提高)</p><p> 2)用戶登錄:已注冊用戶使用用戶名和密碼登錄,成功后進(jìn)入論壇;</p><p> 3)用戶發(fā)帖:已登錄用戶可以發(fā)帖;</p><p> 4)用戶回帖:已登錄用戶可以跟在其它人帖子后回復(fù);</p>&
7、lt;p> 5)管理員功能:管理員可以對(duì)查看和刪除用戶信息和帖子信息,可以設(shè)置帖子是否可以回復(fù)。</p><p> 6)查找功能:用戶和管理員能夠根據(jù)帖子主題查找相關(guān)帖子;</p><p> 7)要求所有用戶先登錄后使用,根據(jù)用戶身份給予訪問不同頁面的權(quán)限。</p><p><b> 需求分析:</b></p>&l
8、t;p> 對(duì)于一個(gè)簡單的論壇系統(tǒng)來說,主要包括討論區(qū)、帖子和回帖三部分:</p><p> 討論區(qū) 每個(gè)討論區(qū)對(duì)應(yīng)一個(gè)話題類別,用戶可以根據(jù)討論區(qū)的名字判斷討論區(qū)的內(nèi)容。</p><p> 帖子 用戶發(fā)表的帖子包含標(biāo)題和內(nèi)容,標(biāo)題簡要說明帖子的內(nèi)容,內(nèi)容詳細(xì)的表述用戶需要發(fā)表的觀點(diǎn)和提出的問題</p><p> 回帖 對(duì)帖子的回復(fù),一般沒有標(biāo)
9、題,只有內(nèi)容,用于對(duì)一個(gè)帖子進(jìn)行回復(fù)。</p><p> 本系統(tǒng)用戶主要分為普通用戶和管理員兩類,普通用戶在登錄后可以瀏覽討論區(qū)、發(fā)帖和回帖,管理員除了具有普通用戶的功能外還有刪除用戶信息和帖子信息、設(shè)置帖子是否可以回復(fù)等功能。</p><p> 數(shù)據(jù)流圖及系統(tǒng)功能圖</p><p><b> 數(shù)據(jù)流圖 </b></p>&
10、lt;p> 登錄信息 登錄信息</p><p> 帖子信息 帖子、用戶信息</p><p> 回帖信息 刪除、設(shè)置帖子信息</p><p> 帖子、回帖信息 帖子、用戶信息</p>
11、<p><b> 圖1 數(shù)據(jù)流圖</b></p><p><b> 系統(tǒng)功能圖</b></p><p><b> 圖2 系統(tǒng)功能圖</b></p><p><b> 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫包括討論區(qū)forum
12、表、帖子topic表、回帖reply表和用戶user表,表的設(shè)計(jì)如以下幾個(gè)圖所示</p><p> forum表 (板塊id,名稱,描述) </p><p> 表1 forum表</p><p> topic表(帖子id,板塊id,作者,標(biāo)題,內(nèi)容,發(fā)布時(shí)間,回帖數(shù),可回復(fù)標(biāo)志)</p><p> 表2 topic表</p
13、><p> reply表(回帖id,帖子id,內(nèi)容,作者,回帖時(shí)間)</p><p> 表3 reply表</p><p> user表(用戶id,用戶名,密碼,郵箱,級(jí)別,身份,發(fā)帖數(shù))</p><p><b> 表4 user表</b></p><p><b> 程序設(shè)計(jì)及
14、功能實(shí)現(xiàn)</b></p><p> ?。ㄒ唬┢胀ㄓ脩舨僮髂K</p><p> 本系統(tǒng)運(yùn)行后首先彈出首頁,如圖3所示,用戶只有登錄后才可以瀏覽論壇,當(dāng)用戶沒有登錄而操作論壇時(shí)會(huì)彈出用戶登錄的界面,這里是用session來實(shí)現(xiàn)用戶的登錄認(rèn)證的,當(dāng)用戶成功登錄后,就可以瀏覽各個(gè)模塊的帖子,可以對(duì)帖子進(jìn)行回復(fù),還可以發(fā)表新的帖子,當(dāng)用戶需要快速找到某個(gè)帖子時(shí)可以對(duì)該帖子的主題進(jìn)行搜
15、索。</p><p><b> 圖3 論壇首頁</b></p><p><b> 1搜索帖子功能</b></p><p> 搜索帖子是根據(jù)用戶輸入的標(biāo)題來搜索相應(yīng)的帖子,這里是用一個(gè)表單來提交用戶的搜索要求,然后表單將搜索數(shù)據(jù)傳到后臺(tái)應(yīng)用程序進(jìn)行處理,搜索帖子的界面如圖4所示</p><p>
16、<b> 圖4 用戶搜索界面</b></p><p><b> 搜索帖子的關(guān)鍵代碼</b></p><p> String sql;</p><p> conn con=new conn();</p><p> ResultSet rs;</p><p> Str
17、ing title=searchForm.getTitle().trim(); //獲取前臺(tái)表單傳來的title值</p><p> System.out.print(title);</p><p> String select=searchForm.getSelect(); //獲取前臺(tái)表單傳來的select值</p><p&
18、gt; sql="select * from topic where title='"+title+"'";</p><p> System.out.print(sql);</p><p> rs=con.executeQuery(sql);</p><p> List list = new Arra
19、yList();</p><p> while (rs.next())</p><p><b> {</b></p><p> Integer id=rs.getInt("id");</p><p> String username = rs.getString("username&
20、quot;);</p><p> String title1 = rs.getString("title");</p><p> String time=rs.getTime("time").toString();</p><p> Integer reply = rs.getInt("reply")
21、;</p><p> Topic topic = new Topic();</p><p> topic.setId(id);</p><p> topic.setUsername(username);</p><p> topic.setTitle(title);</p><p> topic.setTim
22、e(time);</p><p> topic.setReply(reply);</p><p> list.add(topic);</p><p><b> }</b></p><p> request.setAttribute("list", list); //將li
23、st對(duì)象發(fā)送到前臺(tái)</p><p> return mapping.findForward("result"); //轉(zhuǎn)向前臺(tái)頁面</p><p><b> }</b></p><p><b> 2 回復(fù)帖子功能</b></p><p> 用戶對(duì)某個(gè)帖子進(jìn)行回復(fù)
24、是通過一個(gè)回帖表單提交數(shù)據(jù)的,表單將數(shù)據(jù)傳到后臺(tái)應(yīng)用程序,應(yīng)用程序接收到數(shù)據(jù)后對(duì)數(shù)據(jù)庫經(jīng)行一系列操作然后返回回帖的頁面,回帖的界面如圖5所示</p><p><b> 圖5 回帖界面</b></p><p><b> 回帖的關(guān)鍵代碼</b></p><p> topicid=request.getParameter(
25、"id"); //獲取從前臺(tái)傳來的id值</p><p> Integer tid=Integer.parseInt(topicid);</p><p> content=request.getParameter("content");</p><p> HttpSess
26、ion session=request.getSession();</p><p> Object o = session.getAttribute("uid");</p><p> username = (String)o;</p><p> SimpleDateFormat sdf=new SimpleDateFormat("
27、yyyy-MM-dd"); //獲取系統(tǒng)日期</p><p> Date date=new Date();</p><p> String strDate=sdf.format(date);</p><p> System.out.println(strDate);</p><p> con=new conn();<
28、/p><p> ResultSet rsTmp = con.executeQuery( "select max(id) as maxid from reply" );</p><p> if(rsTmp.next()) </p><p><b> {</b></p><p> id = rsTmp
29、.getInt("maxid") + 1;</p><p><b> }</b></p><p> rsTmp.close();</p><p> sql = "insert into reply values ('" + id ;</p><p> sql +=
30、 "','"+tid+"','"+ content+"','"+username+"','"+strDate+ "')";</p><p> con.executeUpdate(sql);</p><p><b&
31、gt; ?。ǘ┕芾韱T操作</b></p><p> 管理員除了具有普通用戶的功能外還可以對(duì)用戶和帖子信息進(jìn)行查看和刪除,還可以設(shè)置某個(gè)帖子是否可以回復(fù)</p><p><b> 設(shè)置帖子不可回復(fù)</b></p><p> 在設(shè)計(jì)帖子的數(shù)據(jù)庫時(shí)設(shè)計(jì)了一個(gè)flag標(biāo)志屬性來標(biāo)志帖子是否可以回復(fù),當(dāng)flag為0時(shí)帖子可以回復(fù),當(dāng)f
32、lag為1時(shí)帖子不可以回復(fù)。用戶發(fā)表的帖子默認(rèn)情況下是可以回復(fù)的,管理員設(shè)置帖子不可以回復(fù)時(shí)就把flag的值置為1,這樣當(dāng)用戶瀏覽該帖子時(shí)回復(fù)帖子的表單就會(huì)隱藏,從而達(dá)到不可回復(fù)的功能。操作界面如圖6所示,隱藏表單的帖子界面如圖7所示。</p><p> 圖6 管理員操作界面</p><p><b> 圖7 不可回復(fù)界面</b></p><p
33、><b> 關(guān)鍵代碼</b></p><p> String sql;</p><p> String id=request.getParameter("id");</p><p> conn con=new conn();</p><p> sql="update topi
34、c set flag='1' where id="+id;</p><p> con.executeUpdate(sql);</p><p> <table bgcolor="#E6EAD7" width="950" align="center"></p><p>
35、;<b> <%</b></p><p> List list=(List)request.getAttribute("list"); //獲取從后臺(tái)傳來list對(duì)象</p><p><b> int i=0;</b></p><p> for (Iterator iterator
36、= list.iterator(); iterator.hasNext();)</p><p><b> { </b></p><p> Reply reply = (Reply) iterator.next();</p><p><b> %></b></p><p><b>
37、; <tr></b></p><p> <td width="202"></p><p> 作者:<%=reply.getUsername()%></td></p><p> <td width="662"></p><p&g
38、t; 時(shí)間:<%=reply.getTime()%></td></p><p> <td width="70"><%=++i%>樓</td></p><p><b> </tr></b></p><p><b> <tr>
39、</b></p><p> <td width="202"></p><p> <span><%=reply.getContent()%></span></td></p><p><b> </tr></b></p>&
40、lt;p> <tr><td><hr></td><td><hr></td><td><hr></td></tr></p><p><b> <% } %></b></p><p><b> </tabl
41、e></b></p><p><b> <hr/></b></p><p><b> <%</b></p><p> if(topic.getFlag()==0)</p><p><b> {</b></p><p
42、> int topicid=topic.getId();</p><p><b> %></b></p><p><b> 總結(jié)</b></p><p> 本次課程設(shè)計(jì)是做一個(gè)技術(shù)論壇系統(tǒng),我采用的是基于struts框架的MVC設(shè)計(jì)模式來設(shè)計(jì)完成題目的。運(yùn)用Struts框架對(duì)我來說是一個(gè)難點(diǎn),因?yàn)橐郧皼]
43、有學(xué)過Struts框架,對(duì)它一點(diǎn)都不了解,因此這次課設(shè)花了很多時(shí)間用在學(xué)習(xí)Struts框架上,后來通過老師的指點(diǎn)和同學(xué)的幫助,慢慢的理解了struts框架的原理和運(yùn)行機(jī)制,做課程設(shè)計(jì)也就慢慢上手了。我感覺運(yùn)用Struts框架最大的好處就在實(shí)現(xiàn)了數(shù)據(jù)操作和數(shù)據(jù)顯示的分離,jsp頁面只用來顯示顯示頁面,不參與數(shù)據(jù)的處理,這樣理清了設(shè)計(jì)思路,便于維護(hù)和代碼的重用性。這次實(shí)驗(yàn)加深了我對(duì)MVC設(shè)計(jì)模式的理解。通過這次實(shí)驗(yàn)我還掌握了網(wǎng)頁結(jié)構(gòu)化設(shè)計(jì)的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)上技術(shù)論壇jsp課程設(shè)計(jì)
- 基于jsp論壇課程設(shè)計(jì)報(bào)告
- jsp課程設(shè)計(jì) 基于jsp技術(shù)開發(fā)的bbs論壇系統(tǒng)
- 基于jsp論壇課程報(bào)告
- 《jsp基礎(chǔ)教程》課程設(shè)計(jì)——bbs論壇設(shè)計(jì)
- jsp課程設(shè)計(jì)報(bào)告---jsp學(xué)生成績管理系統(tǒng)
- 基于asp技術(shù)論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)正文
- 圖書管理系統(tǒng)--jsp課程設(shè)計(jì)報(bào)告
- groupasedo汽車維修技術(shù)論壇
- 論壇管理信息系統(tǒng)-課程設(shè)計(jì)報(bào)告
- jsp課程設(shè)計(jì)---網(wǎng)上購物系統(tǒng)
- jsp課程設(shè)計(jì)---基于jsp的新聞發(fā)布系統(tǒng)
- oracle課程設(shè)計(jì)--論壇管理系統(tǒng)
- jsp課程設(shè)計(jì)-新聞發(fā)布系統(tǒng)
- 課程設(shè)計(jì)報(bào)告----基于jsp的圖書管理系統(tǒng)
- 基于jsp的家政服務(wù)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 基于jsp的家政服務(wù)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 參加2100延遲焦化技術(shù)論壇總結(jié)
- java課程設(shè)計(jì)-jsp(新聞管理系統(tǒng))
- jsp課程設(shè)計(jì)-- 網(wǎng)上書店系統(tǒng)
評(píng)論
0/150
提交評(píng)論