2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  課程設計說明書</b></p><p>  班級: 姓名: </p><p>  學號: </p><p>  設計題目: 技術論壇系統(tǒng) </p><p>  設計時間:

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)計,國內三大門戶網(wǎng)站的BBS討論區(qū)帶來的流量已經(jīng)遠遠超過其門戶新聞帶來的流量。本系統(tǒng)是一個結構簡單的BBS論壇系統(tǒng),該系統(tǒng)采用了MVC三層架構模型,通過這種設計模型把界面展示、處理流程和業(yè)務邏輯分成不同的組建實現(xiàn),方便維護與重用。</p&

5、gt;<p><b>  課程題目及需求分析</b></p><p>  課程題目:技術論壇系統(tǒng)</p><p><b>  題目設計要求:</b></p><p>  要求實現(xiàn)一個簡單的技術論壇系統(tǒng)。</p><p>  涉及到的各類信息需要自行分析設計,要求實現(xiàn)的功能主要有:<

6、;/p><p>  1)用戶注冊:錄入用戶個人信息,獲得進入論壇的權限,并賦予一定級別(級別可隨發(fā)帖次數(shù)提高)</p><p>  2)用戶登錄:已注冊用戶使用用戶名和密碼登錄,成功后進入論壇;</p><p>  3)用戶發(fā)帖:已登錄用戶可以發(fā)帖;</p><p>  4)用戶回帖:已登錄用戶可以跟在其它人帖子后回復;</p>&

7、lt;p>  5)管理員功能:管理員可以對查看和刪除用戶信息和帖子信息,可以設置帖子是否可以回復。</p><p>  6)查找功能:用戶和管理員能夠根據(jù)帖子主題查找相關帖子;</p><p>  7)要求所有用戶先登錄后使用,根據(jù)用戶身份給予訪問不同頁面的權限。</p><p><b>  需求分析:</b></p>&l

8、t;p>  對于一個簡單的論壇系統(tǒng)來說,主要包括討論區(qū)、帖子和回帖三部分:</p><p>  討論區(qū) 每個討論區(qū)對應一個話題類別,用戶可以根據(jù)討論區(qū)的名字判斷討論區(qū)的內容。</p><p>  帖子 用戶發(fā)表的帖子包含標題和內容,標題簡要說明帖子的內容,內容詳細的表述用戶需要發(fā)表的觀點和提出的問題</p><p>  回帖 對帖子的回復,一般沒有標

9、題,只有內容,用于對一個帖子進行回復。</p><p>  本系統(tǒng)用戶主要分為普通用戶和管理員兩類,普通用戶在登錄后可以瀏覽討論區(qū)、發(fā)帖和回帖,管理員除了具有普通用戶的功能外還有刪除用戶信息和帖子信息、設置帖子是否可以回復等功能。</p><p>  數(shù)據(jù)流圖及系統(tǒng)功能圖</p><p><b>  數(shù)據(jù)流圖 </b></p>&

10、lt;p>  登錄信息 登錄信息</p><p>  帖子信息 帖子、用戶信息</p><p>  回帖信息 刪除、設置帖子信息</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ù)庫設計</b></p><p>  數(shù)據(jù)庫包括討論區(qū)forum

12、表、帖子topic表、回帖reply表和用戶user表,表的設計如以下幾個圖所示</p><p>  forum表 (板塊id,名稱,描述) </p><p>  表1 forum表</p><p>  topic表(帖子id,板塊id,作者,標題,內容,發(fā)布時間,回帖數(shù),可回復標志)</p><p>  表2 topic表</p

13、><p>  reply表(回帖id,帖子id,內容,作者,回帖時間)</p><p>  表3 reply表</p><p>  user表(用戶id,用戶名,密碼,郵箱,級別,身份,發(fā)帖數(shù))</p><p><b>  表4 user表</b></p><p><b>  程序設計及

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>  搜索帖子的關鍵代碼</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"); //轉向前臺頁面</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>  回帖的關鍵代碼</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; ?。ǘ┕芾韱T操作</b></p><p>  管理員除了具有普通用戶的功能外還可以對用戶和帖子信息進行查看和刪除,還可以設置某個帖子是否可以回復</p><p><b>  設置帖子不可回復</b></p><p>  在設計帖子的數(shù)據(jù)庫時設計了一個flag標志屬性來標志帖子是否可以回復,當flag為0時帖子可以回復,當f

32、lag為1時帖子不可以回復。用戶發(fā)表的帖子默認情況下是可以回復的,管理員設置帖子不可以回復時就把flag的值置為1,這樣當用戶瀏覽該帖子時回復帖子的表單就會隱藏,從而達到不可回復的功能。操作界面如圖6所示,隱藏表單的帖子界面如圖7所示。</p><p>  圖6 管理員操作界面</p><p><b>  圖7 不可回復界面</b></p><p

33、><b>  關鍵代碼</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>  總結</b></p><p>  本次課程設計是做一個技術論壇系統(tǒng),我采用的是基于struts框架的MVC設計模式來設計完成題目的。運用Struts框架對我來說是一個難點,因為以前沒

43、有學過Struts框架,對它一點都不了解,因此這次課設花了很多時間用在學習Struts框架上,后來通過老師的指點和同學的幫助,慢慢的理解了struts框架的原理和運行機制,做課程設計也就慢慢上手了。我感覺運用Struts框架最大的好處就在實現(xiàn)了數(shù)據(jù)操作和數(shù)據(jù)顯示的分離,jsp頁面只用來顯示顯示頁面,不參與數(shù)據(jù)的處理,這樣理清了設計思路,便于維護和代碼的重用性。這次實驗加深了我對MVC設計模式的理解。通過這次實驗我還掌握了網(wǎng)頁結構化設計的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論