JSP課程設(shè)計(jì)報(bào)告技術(shù)論壇系統(tǒng)

上傳人:仙*** 文檔編號(hào):34306460 上傳時(shí)間:2021-10-21 格式:DOC 頁(yè)數(shù):10 大?。?52.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
JSP課程設(shè)計(jì)報(bào)告技術(shù)論壇系統(tǒng)_第1頁(yè)
第1頁(yè) / 共10頁(yè)
JSP課程設(shè)計(jì)報(bào)告技術(shù)論壇系統(tǒng)_第2頁(yè)
第2頁(yè) / 共10頁(yè)
JSP課程設(shè)計(jì)報(bào)告技術(shù)論壇系統(tǒng)_第3頁(yè)
第3頁(yè) / 共10頁(yè)

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《JSP課程設(shè)計(jì)報(bào)告技術(shù)論壇系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《JSP課程設(shè)計(jì)報(bào)告技術(shù)論壇系統(tǒng)(10頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、華 北 科 技 學(xué) 院 課程設(shè)計(jì)說(shuō)明書(shū) 班級(jí): 姓名: 學(xué)號(hào): 設(shè)計(jì)題目: 技術(shù)論壇系統(tǒng) 設(shè)計(jì)時(shí)間: 至 指導(dǎo)教師: 評(píng) 語(yǔ):___________________________________ ___________________________________________ ________________________________

2、___________ ___________________________________________ ___________________________________________ 評(píng)閱成績(jī):______評(píng)閱教師:_______ 一. 摘要 BBS討論區(qū)是目前因特網(wǎng)上人氣最旺的互動(dòng)交流服務(wù),據(jù)統(tǒng)計(jì),國(guó)內(nèi)三大門(mén)戶網(wǎng)站的BBS討論區(qū)帶來(lái)的流量已經(jīng)遠(yuǎn)遠(yuǎn)超過(guò)其門(mén)戶新聞帶來(lái)的流量。本系統(tǒng)是一個(gè)結(jié)構(gòu)簡(jiǎn)單的BBS論壇系統(tǒng),該系統(tǒng)采用了MVC三層架構(gòu)模型,通過(guò)這種設(shè)計(jì)模型把界面展示、處理流程和業(yè)務(wù)邏輯分成不同的組建實(shí)現(xiàn),方便維護(hù)與重用。 二. 課程題目及需求分析

3、 課程題目:技術(shù)論壇系統(tǒng) 題目設(shè)計(jì)要求: 要求實(shí)現(xiàn)一個(gè)簡(jiǎn)單的技術(shù)論壇系統(tǒng)。 涉及到的各類信息需要自行分析設(shè)計(jì),要求實(shí)現(xiàn)的功能主要有: 1)用戶注冊(cè):錄入用戶個(gè)人信息,獲得進(jìn)入論壇的權(quán)限,并賦予一定級(jí)別(級(jí)別可隨發(fā)帖次數(shù)提高) 2)用戶登錄:已注冊(cè)用戶使用用戶名和密碼登錄,成功后進(jìn)入論壇; 3)用戶發(fā)帖:已登錄用戶可以發(fā)帖; 4)用戶回帖:已登錄用戶可以跟在其它人帖子后回復(fù); 5)管理員功能:管理員可以對(duì)查看和刪除用戶信息和帖子信息,可以設(shè)置帖子是否可以回復(fù)。 6)查找功能:用戶和管理員能夠根據(jù)帖子主題查找相關(guān)帖子; 7)要求所有用戶先登錄后使用,根據(jù)用戶身

4、份給予訪問(wèn)不同頁(yè)面的權(quán)限。 需求分析: 對(duì)于一個(gè)簡(jiǎn)單的論壇系統(tǒng)來(lái)說(shuō),主要包括討論區(qū)、帖子和回帖三部分: 討論區(qū) 每個(gè)討論區(qū)對(duì)應(yīng)一個(gè)話題類別,用戶可以根據(jù)討論區(qū)的名字判斷討論區(qū)的內(nèi)容。 帖子 用戶發(fā)表的帖子包含標(biāo)題和內(nèi)容,標(biāo)題簡(jiǎn)要說(shuō)明帖子的內(nèi)容,內(nèi)容詳細(xì)的表述用戶需要發(fā)表的觀點(diǎn)和提出的問(wèn)題 回帖 對(duì)帖子的回復(fù),一般沒(méi)有標(biāo)題,只有內(nèi)容,用于對(duì)一個(gè)帖子進(jìn)行回復(fù)。 本系統(tǒng)用戶主要分為普通用戶和管理員兩類,普通用戶在登錄后可以瀏覽討論區(qū)、發(fā)帖和回帖,管理員除了具有普通用戶的功能外還有刪除用戶信息和帖子信息、設(shè)置帖子是否可以回復(fù)等功能。 三. 數(shù)據(jù)流圖及系統(tǒng)功能圖

5、 (一) 數(shù)據(jù)流圖 技術(shù) 論壇 系統(tǒng) 管理 員 用 戶 登錄信息 登錄信息 帖子信息 帖子、用戶信息 回帖信息 刪除、設(shè)置帖子信息 帖子、回帖信息 帖子、用戶信息 圖1

6、數(shù)據(jù)流圖 (二) 系統(tǒng)功能圖 普通用戶 注冊(cè)、 登錄 搜索查看帖子 發(fā)表帖子 回復(fù)帖子 技術(shù)論壇系統(tǒng) 管理員 搜索查看帖子 刪除設(shè)置帖子 刪除查看用戶 圖2 系統(tǒng)功能圖 四. 數(shù)據(jù)庫(kù)設(shè)計(jì) 數(shù)據(jù)庫(kù)包括討論區(qū)forum表、帖子topic表、回帖reply表和用戶user表,表的設(shè)計(jì)如以下幾個(gè)圖所示 forum表 (板塊id,名稱,描述)

7、 表1 forum表 topic表(帖子id,板塊id,作者,標(biāo)題,內(nèi)容,發(fā)布時(shí)間,回帖數(shù),可回復(fù)標(biāo)志) 表2 topic表 reply表(回帖id,帖子id,內(nèi)容,作者,回帖時(shí)間) 表3 reply表 user表(用戶id,用戶名,密碼,郵箱,級(jí)別,身份,發(fā)帖數(shù)) 表4 user表 五. 程序設(shè)計(jì)及功能實(shí)現(xiàn) (一)普通用戶操作模塊 本系統(tǒng)運(yùn)行后首先彈出首頁(yè),如圖

8、3所示,用戶只有登錄后才可以瀏覽論壇,當(dāng)用戶沒(méi)有登錄而操作論壇時(shí)會(huì)彈出用戶登錄的界面,這里是用session來(lái)實(shí)現(xiàn)用戶的登錄認(rèn)證的,當(dāng)用戶成功登錄后,就可以瀏覽各個(gè)模塊的帖子,可以對(duì)帖子進(jìn)行回復(fù),還可以發(fā)表新的帖子,當(dāng)用戶需要快速找到某個(gè)帖子時(shí)可以對(duì)該帖子的主題進(jìn)行搜索。 圖3 論壇首頁(yè) 1搜索帖子功能 搜索帖子是根據(jù)用戶輸入的標(biāo)題來(lái)搜索相應(yīng)的帖子,這里是用一個(gè)表單來(lái)提交用戶的搜索要求,然后表單將搜索數(shù)據(jù)傳到后臺(tái)應(yīng)用程序進(jìn)行處理,搜索帖子的界面如圖4所示 圖4 用

9、戶搜索界面 搜索帖子的關(guān)鍵代碼 String sql; conn con=new conn(); ResultSet rs; String title=searchForm.getTitle().trim(); //獲取前臺(tái)表單傳來(lái)的title值 System.out.print(title); String select=searchForm.getSelect(); //獲取前臺(tái)表單傳來(lái)的select值 sql="select * from topic where title="+title+""; System.out

10、.print(sql); rs=con.executeQuery(sql); List list = new ArrayList(); while (rs.next()) { Integer id=rs.getInt("id"); String username = rs.getString("username"); String title1 = rs.getString("title"); String time=rs.getTime("time").toString(); Integer reply = rs.getInt("reply")

11、; Topic topic = new Topic(); topic.setId(id); topic.setUsername(username); topic.setTitle(title); topic.setTime(time); topic.setReply(reply); list.add(topic); } request.setAttribute("list", list); //將list對(duì)象發(fā)送到前臺(tái) return mapping.findForward("result"); //轉(zhuǎn)向

12、前臺(tái)頁(yè)面 } 2 回復(fù)帖子功能 用戶對(duì)某個(gè)帖子進(jìn)行回復(fù)是通過(guò)一個(gè)回帖表單提交數(shù)據(jù)的,表單將數(shù)據(jù)傳到后臺(tái)應(yīng)用程序,應(yīng)用程序接收到數(shù)據(jù)后對(duì)數(shù)據(jù)庫(kù)經(jīng)行一系列操作然后返回回帖的頁(yè)面,回帖的界面如圖5所示 圖5 回帖界面 回帖的關(guān)鍵代碼 topicid=request.getParameter("id"); //獲取從前臺(tái)傳來(lái)的id值 Integer tid=Integer.parseInt(topicid); content=request.getParameter("content"); HttpSession session

13、=request.getSession(); Object o = session.getAttribute("uid"); username = (String)o; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); //獲取系統(tǒng)日期 Date date=new Date(); String strDate=sdf.format(date); System.out.println(strDate); con=new conn(); ResultSet rsTmp = con.executeQuery( "

14、select max(id) as maxid from reply" ); if(rsTmp.next()) { id = rsTmp.getInt("maxid") + 1; } rsTmp.close(); sql = "insert into reply values (" + id ; sql += ","+tid+","+ content+","+username+","+strDate+ ")"; con.executeUpdate(sql); (二)管理員操作 管理員除了具有普通用戶的功能外還可以對(duì)用戶和帖子信息進(jìn)行查看和刪除,還可

15、以設(shè)置某個(gè)帖子是否可以回復(fù) 設(shè)置帖子不可回復(fù) 在設(shè)計(jì)帖子的數(shù)據(jù)庫(kù)時(shí)設(shè)計(jì)了一個(gè)flag標(biāo)志屬性來(lái)標(biāo)志帖子是否可以回復(fù),當(dāng)flag為0時(shí)帖子可以回復(fù),當(dāng)flag為1時(shí)帖子不可以回復(fù)。用戶發(fā)表的帖子默認(rèn)情況下是可以回復(fù)的,管理員設(shè)置帖子不可以回復(fù)時(shí)就把flag的值置為1,這樣當(dāng)用戶瀏覽該帖子時(shí)回復(fù)帖子的表單就會(huì)隱藏,從而達(dá)到不可回復(fù)的功能。操作界面如圖6所示,隱藏表單的帖子界面如圖7所示。 圖6 管理員操作界面 圖7 不可回復(fù)界面 關(guān)鍵代碼 String sql;

16、 String id=request.getParameter("id"); conn con=new conn(); sql="update topic set flag=1 where id="+id; con.executeUpdate(sql);

<% List list=(List)request.getAttribute("list"); //獲取從后臺(tái)傳來(lái)list對(duì)象 int i=0; for (Iterator it

17、erator = list.iterator(); iterator.hasNext();) { Reply reply = (Reply) iterator.next(); %>

<% } %>
作者:<%=reply.getUsername()%> 時(shí)間:<%=reply.getTime()%> <%=++i%>樓
<%=reply.ge

18、tContent()%>





<% if(topic.getFlag()==0) { int topicid=topic.getId(); %> 六. 總結(jié) 本次課程設(shè)計(jì)是做一個(gè)技術(shù)論壇系統(tǒng),我采用的是基于struts框架的MVC設(shè)計(jì)模式來(lái)設(shè)計(jì)完成題目的。運(yùn)用Struts框架對(duì)我來(lái)說(shuō)是一個(gè)難點(diǎn),因?yàn)橐郧皼](méi)有學(xué)過(guò)Struts框架,對(duì)它一點(diǎn)都不了解,因此這次課設(shè)

19、花了很多時(shí)間用在學(xué)習(xí)Struts框架上,后來(lái)通過(guò)老師的指點(diǎn)和同學(xué)的幫助,慢慢的理解了struts框架的原理和運(yùn)行機(jī)制,做課程設(shè)計(jì)也就慢慢上手了。我感覺(jué)運(yùn)用Struts框架最大的好處就在實(shí)現(xiàn)了數(shù)據(jù)操作和數(shù)據(jù)顯示的分離,jsp頁(yè)面只用來(lái)顯示顯示頁(yè)面,不參與數(shù)據(jù)的處理,這樣理清了設(shè)計(jì)思路,便于維護(hù)和代碼的重用性。這次實(shí)驗(yàn)加深了我對(duì)MVC設(shè)計(jì)模式的理解。通過(guò)這次實(shí)驗(yàn)我還掌握了網(wǎng)頁(yè)結(jié)構(gòu)化設(shè)計(jì)的方法,大大提高了工作效率。當(dāng)然在這次實(shí)驗(yàn)中我也遇到了不少問(wèn)題,例如如何控制用戶的權(quán)限認(rèn)證,即用戶直接在地址欄訪問(wèn)后臺(tái)操作頁(yè)面而不通過(guò)登錄系統(tǒng),通過(guò)查資料和請(qǐng)教同學(xué),最終把這個(gè)問(wèn)題解決??傊@次實(shí)驗(yàn)加深了我對(duì)Web應(yīng)用開(kāi)發(fā)的理解,我進(jìn)一步熟練了各種技術(shù)的在Web應(yīng)用開(kāi)發(fā)中的使用,為我以后對(duì)Web應(yīng)用開(kāi)發(fā)的學(xué)習(xí)和應(yīng)用打下了堅(jiān)實(shí)的基礎(chǔ)。

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!