版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計說明書</b></p><p> 班級: 姓名: </p><p> 學號: </p><p> 設(shè)計題目: 技術(shù)論壇系統(tǒng) </p><p> 設(shè)計時間:
2、 至 </p><p> 指導教師: </p><p> 評 語:___________________________________</p><p> ___________________________________________</p><p>
3、; ___________________________________________</p><p> ___________________________________________</p><p> ___________________________________________</p><p> 評閱成績:______評閱教師:___
4、____</p><p><b> 摘要</b></p><p> BBS討論區(qū)是目前因特網(wǎng)上人氣最旺的互動交流服務,據(jù)統(tǒng)計,國內(nèi)三大門戶網(wǎng)站的BBS討論區(qū)帶來的流量已經(jīng)遠遠超過其門戶新聞帶來的流量。本系統(tǒng)是一個結(jié)構(gòu)簡單的BBS論壇系統(tǒng),該系統(tǒng)采用了MVC三層架構(gòu)模型,通過這種設(shè)計模型把界面展示、處理流程和業(yè)務邏輯分成不同的組建實現(xiàn),方便維護與重用。</p&
5、gt;<p><b> 課程題目及需求分析</b></p><p> 課程題目:技術(shù)論壇系統(tǒng)</p><p><b> 題目設(shè)計要求:</b></p><p> 要求實現(xiàn)一個簡單的技術(shù)論壇系統(tǒng)。</p><p> 涉及到的各類信息需要自行分析設(shè)計,要求實現(xiàn)的功能主要有:<
6、;/p><p> 1)用戶注冊:錄入用戶個人信息,獲得進入論壇的權(quán)限,并賦予一定級別(級別可隨發(fā)帖次數(shù)提高)</p><p> 2)用戶登錄:已注冊用戶使用用戶名和密碼登錄,成功后進入論壇;</p><p> 3)用戶發(fā)帖:已登錄用戶可以發(fā)帖;</p><p> 4)用戶回帖:已登錄用戶可以跟在其它人帖子后回復;</p>&
7、lt;p> 5)管理員功能:管理員可以對查看和刪除用戶信息和帖子信息,可以設(shè)置帖子是否可以回復。</p><p> 6)查找功能:用戶和管理員能夠根據(jù)帖子主題查找相關(guān)帖子;</p><p> 7)要求所有用戶先登錄后使用,根據(jù)用戶身份給予訪問不同頁面的權(quán)限。</p><p><b> 需求分析:</b></p>&l
8、t;p> 對于一個簡單的論壇系統(tǒng)來說,主要包括討論區(qū)、帖子和回帖三部分:</p><p> 討論區(qū) 每個討論區(qū)對應一個話題類別,用戶可以根據(jù)討論區(qū)的名字判斷討論區(qū)的內(nèi)容。</p><p> 帖子 用戶發(fā)表的帖子包含標題和內(nèi)容,標題簡要說明帖子的內(nèi)容,內(nèi)容詳細的表述用戶需要發(fā)表的觀點和提出的問題</p><p> 回帖 對帖子的回復,一般沒有標
9、題,只有內(nèi)容,用于對一個帖子進行回復。</p><p> 本系統(tǒng)用戶主要分為普通用戶和管理員兩類,普通用戶在登錄后可以瀏覽討論區(qū)、發(fā)帖和回帖,管理員除了具有普通用戶的功能外還有刪除用戶信息和帖子信息、設(shè)置帖子是否可以回復等功能。</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è)計</b></p><p> 數(shù)據(jù)庫包括討論區(qū)forum
12、表、帖子topic表、回帖reply表和用戶user表,表的設(shè)計如以下幾個圖所示</p><p> forum表 (板塊id,名稱,描述) </p><p> 表1 forum表</p><p> topic表(帖子id,板塊id,作者,標題,內(nèi)容,發(fā)布時間,回帖數(shù),可回復標志)</p><p> 表2 topic表</p
13、><p> reply表(回帖id,帖子id,內(nèi)容,作者,回帖時間)</p><p> 表3 reply表</p><p> user表(用戶id,用戶名,密碼,郵箱,級別,身份,發(fā)帖數(shù))</p><p><b> 表4 user表</b></p><p><b> 程序設(shè)計及
14、功能實現(xiàn)</b></p><p> (一)普通用戶操作模塊</p><p> 本系統(tǒng)運行后首先彈出首頁,如圖3所示,用戶只有登錄后才可以瀏覽論壇,當用戶沒有登錄而操作論壇時會彈出用戶登錄的界面,這里是用session來實現(xiàn)用戶的登錄認證的,當用戶成功登錄后,就可以瀏覽各個模塊的帖子,可以對帖子進行回復,還可以發(fā)表新的帖子,當用戶需要快速找到某個帖子時可以對該帖子的主題進行搜
15、索。</p><p><b> 圖3 論壇首頁</b></p><p><b> 1搜索帖子功能</b></p><p> 搜索帖子是根據(jù)用戶輸入的標題來搜索相應的帖子,這里是用一個表單來提交用戶的搜索要求,然后表單將搜索數(shù)據(jù)傳到后臺應用程序進行處理,搜索帖子的界面如圖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(); //獲取前臺表單傳來的title值</p><p> System.out.print(title);</p><p> String select=searchForm.getSelect(); //獲取前臺表單傳來的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對象發(fā)送到前臺</p><p> return mapping.findForward("result"); //轉(zhuǎn)向前臺頁面</p><p><b> }</b></p><p><b> 2 回復帖子功能</b></p><p> 用戶對某個帖子進行回復
24、是通過一個回帖表單提交數(shù)據(jù)的,表單將數(shù)據(jù)傳到后臺應用程序,應用程序接收到數(shù)據(jù)后對數(shù)據(jù)庫經(jīng)行一系列操作然后返回回帖的頁面,回帖的界面如圖5所示</p><p><b> 圖5 回帖界面</b></p><p><b> 回帖的關(guān)鍵代碼</b></p><p> topicid=request.getParameter(
25、"id"); //獲取從前臺傳來的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; (二)管理員操作</b></p><p> 管理員除了具有普通用戶的功能外還可以對用戶和帖子信息進行查看和刪除,還可以設(shè)置某個帖子是否可以回復</p><p><b> 設(shè)置帖子不可回復</b></p><p> 在設(shè)計帖子的數(shù)據(jù)庫時設(shè)計了一個flag標志屬性來標志帖子是否可以回復,當flag為0時帖子可以回復,當f
32、lag為1時帖子不可以回復。用戶發(fā)表的帖子默認情況下是可以回復的,管理員設(shè)置帖子不可以回復時就把flag的值置為1,這樣當用戶瀏覽該帖子時回復帖子的表單就會隱藏,從而達到不可回復的功能。操作界面如圖6所示,隱藏表單的帖子界面如圖7所示。</p><p> 圖6 管理員操作界面</p><p><b> 圖7 不可回復界面</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"); //獲取從后臺傳來list對象</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; 時間:<%=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è)計是做一個技術(shù)論壇系統(tǒng),我采用的是基于struts框架的MVC設(shè)計模式來設(shè)計完成題目的。運用Struts框架對我來說是一個難點,因為以前沒
43、有學過Struts框架,對它一點都不了解,因此這次課設(shè)花了很多時間用在學習Struts框架上,后來通過老師的指點和同學的幫助,慢慢的理解了struts框架的原理和運行機制,做課程設(shè)計也就慢慢上手了。我感覺運用Struts框架最大的好處就在實現(xiàn)了數(shù)據(jù)操作和數(shù)據(jù)顯示的分離,jsp頁面只用來顯示顯示頁面,不參與數(shù)據(jù)的處理,這樣理清了設(shè)計思路,便于維護和代碼的重用性。這次實驗加深了我對MVC設(shè)計模式的理解。通過這次實驗我還掌握了網(wǎng)頁結(jié)構(gòu)化設(shè)計的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)上技術(shù)論壇jsp課程設(shè)計
- 基于jsp論壇課程設(shè)計報告
- jsp課程設(shè)計 基于jsp技術(shù)開發(fā)的bbs論壇系統(tǒng)
- 基于jsp論壇課程報告
- 《jsp基礎(chǔ)教程》課程設(shè)計——bbs論壇設(shè)計
- jsp課程設(shè)計報告---jsp學生成績管理系統(tǒng)
- 基于asp技術(shù)論壇系統(tǒng)設(shè)計與實現(xiàn)正文
- 圖書管理系統(tǒng)--jsp課程設(shè)計報告
- groupasedo汽車維修技術(shù)論壇
- 論壇管理信息系統(tǒng)-課程設(shè)計報告
- jsp課程設(shè)計---網(wǎng)上購物系統(tǒng)
- jsp課程設(shè)計---基于jsp的新聞發(fā)布系統(tǒng)
- oracle課程設(shè)計--論壇管理系統(tǒng)
- jsp課程設(shè)計-新聞發(fā)布系統(tǒng)
- 課程設(shè)計報告----基于jsp的圖書管理系統(tǒng)
- 基于jsp的家政服務管理系統(tǒng)課程設(shè)計報告
- 基于jsp的家政服務管理系統(tǒng)課程設(shè)計報告
- 參加2100延遲焦化技術(shù)論壇總結(jié)
- java課程設(shè)計-jsp(新聞管理系統(tǒng))
- jsp課程設(shè)計-- 網(wǎng)上書店系統(tǒng)
評論
0/150
提交評論