j2ee課程設計報告--基于ssh的個人博客系統(tǒng)_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《J2EE企業(yè)級應用開發(fā)》</p><p><b>  課程設計報告</b></p><p>  基于SSH的個人博客系統(tǒng)</p><p><b>  2013年12月</b></p><p><b>  目錄</b></p><p&g

2、t;<b>  1 引言2</b></p><p><b>  2 系統(tǒng)分析3</b></p><p>  2.1 需求分析3</p><p>  2.1.1 功能需求分析3</p><p>  2.1.2 可行性分析4</p><p>  2.2 開發(fā)工具簡介4

3、</p><p>  2.2.1 MyEclipse 8.64</p><p>  2.2.2 MySQL 5.14</p><p>  2.2.3 Tomcat 6.04</p><p><b>  3 系統(tǒng)設計6</b></p><p>  3.1 總體設計原則6</p>

4、<p>  3.2 架構概述6</p><p>  3.3 系統(tǒng)模塊設計6</p><p>  3.4數據庫結構設計6</p><p><b>  4 系統(tǒng)實現(xiàn)8</b></p><p>  4.1 系統(tǒng)的開發(fā)環(huán)境8</p><p>  4.2 登錄模塊的實現(xiàn)8</

5、p><p>  4.2.1 功能描述8</p><p>  4.2.2 模塊實現(xiàn)8</p><p>  4.3 博文管理模塊實現(xiàn)10</p><p>  4.3.1 功能描述10</p><p>  4.3.2 模塊實現(xiàn)10</p><p>  4.3.3 分類管理模塊實現(xiàn)11</

6、p><p>  4.3.4 用戶管理模塊實現(xiàn)11</p><p>  4.3.5 評論管理模塊實現(xiàn)12</p><p>  4.3.6 首頁管理模塊實現(xiàn)13</p><p>  4.3.7 其它功能模塊實現(xiàn)13</p><p>  -----------15</p><p>  5 總結與

7、展望15</p><p><b>  6 參考文獻16</b></p><p><b>  1 引言</b></p><p>  現(xiàn)在越來越多的人都擁有了自己的私人博客,而且很多公司,單位也都有自己的博客,在這些博客中每個都有自己獨立的特點,都有自己的風格,為自身樹立了一個與眾不同的形象,博客也變得越來越普遍,它逐漸成

8、為一個隨時可以記錄自己以及身邊發(fā)生的一切的地方,在這里可以發(fā)表自己的觀點,談自己的想法,也可以和別人交流,學習到更多東西,研究博客具有很大的價值</p><p>  博客代表著新的生活方式和新的工作方式,更代表著新的學習方式。通過博客,讓自己學到很多,讓別人學到更多。</p><p>  在網絡上發(fā)表Blog的構想始于1998年,但到了2000年才真正開始流行。而2000年博客開始進入中國

9、,并迅速發(fā)展,但都業(yè)績平平。直到2004年木子美事件,才讓中國民眾了解到了博客,并運用博客。2005年,國內各門戶網站,如新浪、搜狐,原不看好博客業(yè)務,也加入博客陣營,開始進入博客春秋戰(zhàn)國時代。目前網絡上數以千計的Bloggers發(fā)表和張貼Blog的目的有很大的差異。不過,由于溝通方式比電子郵件、討論群組更簡單和容易,Blog已成為家庭、公司、部門和團隊之間越來越盛行的溝通工具,因為它也逐漸被應用在企業(yè)內部網絡(Intranet)。

10、 博客正在改變社會交流方式。</p><p><b>  2 系統(tǒng)分析</b></p><p><b>  2.1 需求分析</b></p><p>  2.1.1 功能需求分析</p><p>  圖 2-1 系統(tǒng)數據流程圖</p><p>  注冊新用戶——沒有博客賬

11、號的用戶,可以通過此功能注冊一個新的博客。</p><p>  用戶登錄——用戶填寫正確的用戶名和密碼,否則提示相應信息。</p><p>  博客管理——用戶登錄博客后,可以發(fā)表屬于自己的博文,還能對發(fā)表的博文進行管理,包括編輯、刪除等。</p><p>  分類管理——用戶可以為博文添加自己喜歡的分類,還能對已添加的分類進行編輯、刪除等操作!</p>

12、<p>  評論管理——用戶登錄博客后,可以對自己感興趣的其他人的博文進行評論,當然,對于其他人對自己博文的評論,用戶可以刪除。</p><p>  退出——用戶操作完畢后,點擊退出,將重新返回登錄頁面!</p><p>  2.1.2 可行性分析</p><p><b>  技術可行性:</b></p><p

13、><b>  經濟可行性:</b></p><p><b>  法律可行性:</b></p><p><b>  社會可行性:</b></p><p><b>  操作可行性</b></p><p>  2.2 開發(fā)工具簡介</p>&

14、lt;p>  該系統(tǒng)的后臺主要是在MyEclipse 8.6中開發(fā)完成的,其中數據庫使用的是MySQL 5.1,為了更好地操作數據庫進行Windows圖形化界面的數據庫操作工具,服務器使用Tomcat 6.0。</p><p>  2.2.1 MyEclipse 8.6</p><p>  MyEclipse[3],是一個十分優(yōu)秀的用于開發(fā)Java,Java EE的Eclipse插件

15、集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產品的支持十分不錯,如圖2-2所示。</p><p>  圖 2-2 MyEclipse 8.6</p><p>  它是功能豐富的Java EE集成開發(fā)環(huán)境,包括了完備的編碼、調試、測試和發(fā)布功能,完整支持HTML,Struts2,JSP,CSS,JavaScript,Spring,MySQL,Hibernate。&

16、lt;/p><p>  2.2.2 MySQL 5.1</p><p>  MySQL是一個關系型數據庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于Oracle公司。MySQL是一種關聯(lián)數據庫管理系統(tǒng),關聯(lián)數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數據庫的最常用標準化語言。MySQL軟件采用了雙授

17、權政策(本詞條“授權政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發(fā)都選擇MySQL作為網站數據庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。</p><p>  2.2.3 Tomcat 6.0</p><p>  Tomcat[5]是Apache 軟件基金會(Apache Software F

18、oundation)的Jakarta 項目中的一個核心項目,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成。是目前比較流行的Web 應用服務器,如圖2-4所示。</p><p>  圖 2-4 Tomcat 6.0</p><p><b>  3 系統(tǒng)設計</b></p><p>  系統(tǒng)設計主要對系統(tǒng)的總體功能如何設計,如何劃分模塊

19、,系統(tǒng)的數據庫如何設計進行研究,它為系統(tǒng)的實現(xiàn)做鋪墊。在系統(tǒng)的設計過程中起著非常重要的作用。</p><p>  3.1 總體設計原則</p><p>  開放性、可擴充性、可靠性原則</p><p><b>  安全性原則</b></p><p><b>  良好的用戶操作界面</b></p

20、><p><b>  實用性原則</b></p><p><b>  3.2 架構概述</b></p><p>  本項目涉及關系數據庫理論的規(guī)范化,以解決函數依賴和數據依賴問題。整個系統(tǒng)基于SSH(Struts2 + Spring + Hibernate)技術[10],不但可以有效提高系統(tǒng)開發(fā)效率,而且在系統(tǒng)安全性、穩(wěn)定性和

21、健壯性上都有良好的改進。表現(xiàn)層使用了Struts2框架[11],實現(xiàn)了視圖控制分離。業(yè)務層使用了Spring框架[12]。Spring是一個業(yè)務層框架,一個整合的框架,能夠很好地黏合表示層與持久層。</p><p>  Hibernate框架[13]是JDBC的輕量級的對象封裝,它是一個獨立的對象持久層框架。Hibernate的強大緩存機制能一定程度上的緩解服務器端頻繁讀取數據庫的壓力,這也是Hibernate被

22、廣泛使用的重要原因之一。</p><p>  3.3 系統(tǒng)模塊設計</p><p>  根據第2章的功能需求分析用戶模塊用例圖,如圖3-1所示。</p><p>  圖 3-1用戶模塊用例圖</p><p>  3.4數據庫結構設計</p><p>  用戶表:記錄用戶名和密碼,用于管理員的登錄。</p>

23、<p>  博文表:記錄發(fā)表過博文的一些屬性:如博文名和發(fā)布日期等。</p><p>  分類表:記錄博文所屬分類的表,包括分類名,用戶ID等屬性。</p><p>  評論表:記錄用戶對博文所發(fā)評論的表,包括評論內容,評論日期等屬性。</p><p>  3.4.1 數據庫的設計</p><p>  數據庫的概念設計[15],即

24、利用數據模型進行概念數據庫的模式設計。根據個人博客管理系統(tǒng)的需求,設計出以下的實體-屬性模型圖。</p><p>  用戶實體-屬性如圖3-8所示。</p><p>  圖 3-8 用戶實體-屬性圖</p><p>  博文實體-屬性如圖3-9所示。</p><p>  圖 3-9 博文實體-屬性圖</p><p> 

25、 評論實體-屬性如圖3-10所示。</p><p>  圖 3-10 評論實體-屬性圖</p><p>  分類實體-屬性如圖3-11所示。</p><p>  圖 3-11 分類實體-屬性圖</p><p><b>  4 系統(tǒng)實現(xiàn)</b></p><p>  4.1 系統(tǒng)的開發(fā)環(huán)境</p

26、><p><b>  服務器端:</b></p><p>  操作系統(tǒng)平臺:Windows</p><p>  ② 系統(tǒng)開發(fā)平臺:Java EE;</p><p>  ③ Web服務器:Tomcat 6.0;</p><p>  ④ 數據庫:MySQL 5.1;</p><p

27、>  ⑤ 開發(fā)語言:Java、HTML、JavaScript。</p><p><b>  客戶端:</b></p><p>  操作系統(tǒng):Windows、</p><p><b>  瀏覽器:IE。</b></p><p>  4.2 登錄模塊的實現(xiàn)</p><p>

28、;  4.2.1 功能描述 </p><p>  個人博客管理系統(tǒng)的用戶登錄模塊,可以實現(xiàn)用戶的安全登錄,其中Radio Button和Submit按鈕均是采用JQuery UI中的主題。使用HTML5的required進行客戶端數據的驗證。其中用戶的密碼不是直接傳送到服務器上的,而是經過瀏覽器JavaScript[17]的MD5加密再上傳至服務器,目的是為了防止用戶密碼的明文被截獲而造成用戶賬號的安全問題。該登

29、錄模塊實現(xiàn)了國際化。 </p><p>  4.2.2 模塊實現(xiàn) </p><p>  如圖4-1所示,為程序運行時,用戶登錄個人博客管理系統(tǒng)的截圖:</p><p>  圖 4-1 用戶登錄圖</p><p>  用戶登錄流程如圖4-2所示。</p><p>  圖 4-2 用戶登錄流程圖</p>&l

30、t;p>  用戶登錄代碼片段如下所示。</p><p>  ApplicationContext wctx = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());</p><p>  IUserDao userDao = (IUserDao)wct

31、x.getBean("userDao");</p><p>  response.setContentType("text/html;charset=UTF-8");</p><p>  PrintWriter out = response.getWriter();</p><p>  String userName = re

32、quest.getParameter("userName");</p><p>  userName = URLDecoder.decode(userName,"UTF-8");</p><p>  if(userName == null || userName.length() == 0){</p><p>  out.pr

33、intln("<font color='red'>用戶名不能為空</font>");</p><p><b>  } else{</b></p><p>  User user = userDao.getUserByName(userName);</p><p>  if(user !

34、= null){</p><p>  out.println("對不起,您輸入的用戶名&nbsp;&nbsp;[&nbsp;&nbsp;<font color='red'>" + userName + "</font>&nbsp;&nbsp;]&nbsp;&nbsp;已經存在,請從

35、新輸入");</p><p><b>  } else{</b></p><p>  out.println("恭喜,您輸入的用戶名&nbsp;&nbsp;[&nbsp;&nbsp;<font color='red'>"+ userName + "</font&g

36、t;&nbsp;&nbsp;]&nbsp;&nbsp;不存在,你可以注冊!");</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.3 博文管理模塊實現(xiàn)</p><p>  4.3.1 功能描述</

37、p><p>  博客管理模塊主要包含以下幾個功能模塊:編輯博文、刪除博文、添加博文。</p><p>  4.3.2 模塊實現(xiàn)</p><p>  博客管理模塊如圖4-3所示。</p><p>  圖 4-3 博客管理模塊</p><p>  4.3.3 分類管理模塊實現(xiàn)</p><p>  單擊“

38、分類管理”,用戶可以對博客的分類進行編輯、刪除和添加,如下圖所示,用戶執(zhí)行分類管理操作。</p><p>  圖 4-4 編輯博文分類</p><p>  圖 4-5 分類管理</p><p>  4.3.4 用戶管理模塊實現(xiàn)</p><p>  博客系統(tǒng)秉著公平的原則,一旦用戶注冊以后,將不能再修改用戶名,本系統(tǒng)提供了修改用戶密碼、修改每頁

39、顯示博文信息數、修改每頁顯示評論數等功能。 </p><p>  圖 4-6修改用戶資料</p><p>  圖 4-7修改用戶密碼</p><p>  4.3.5 評論管理模塊實現(xiàn)</p><p>  單擊評論管理,用戶可以對自己的評論內容進行管理,包括添加評論,刪除評論等。</p><p>  圖 4-8 評論管理

40、</p><p>  圖 4-9 發(fā)表評論</p><p>  4.3.6 首頁管理模塊實現(xiàn)</p><p>  博客的首頁給人一種簡潔舒服的感覺,并且實現(xiàn)了國際化和文字滾動效果,用戶可以不用登陸,直接搜索其他人的博客進行觀看,也可以直接從下方滾動的賬號中選擇一個觀看。</p><p>  圖 4-10 首頁管理</p><

41、;p>  4.3.7 其它功能模塊實現(xiàn)</p><p>  用戶密碼修改流程如4-11所示。</p><p>  圖 4-11 管理員密碼修改</p><p>  當用戶單擊“退出”時,用戶則安全退出了管理模塊,同時系統(tǒng)銷毀所有的Session。</p><p>  用戶注銷代碼片段如下所示。</p><p> 

42、 private User user;</p><p>  private Map session;</p><p>  public String execute() throws Exception {</p><p>  user = (User)session.get("SESSION_USER");</p><p&g

43、t;  session.remove("SESSION_USER");</p><p>  return SUCCESS;</p><p><b>  }</b></p><p>  -----------</p><p><b>  5 總結與展望</b></p>

44、<p>  本次的系統(tǒng)設計在歷經了兩個多月后終于結束了,在這次的實驗中我有了很深刻的體會,無論是在知識技術方面還是個人自身素質的培養(yǎng)等方面都有 了更新的認識。這次的實驗過程中有悲有喜,雖然在此之前做過了課程設計,熟悉了系統(tǒng)開發(fā)的流程,但在這次的實驗中還是碰到了很多的問題。</p><p>  經過近兩個月的辛苦忙碌,我的系統(tǒng)設計終于完成了,通過這次系統(tǒng)設計我感覺到了要想做好一個好的“個人博客管理系統(tǒng)

45、”是多么的不容易。先要確立好網站的主題風格,然后就是收集素材,接著就是規(guī)劃好網站的各個模塊,最后就是使他們更好的連接在一起形成一個有機整體。在這次系統(tǒng)設計中,我熟練的掌握了MyEclipse 8.6的使用,以及如何將三大框架Struts2,Hibernate,Spring有機的整合到一起。雖然網站上還有很多的不足之處,但是由于知識和時間有限,已經盡我個人的最大能力將最完美功能全面的系統(tǒng)面展現(xiàn)給大家,看著完全自己設計的“個人博客管理系統(tǒng)”

46、很有成就感,這也是我對大學三年來所做的一次總結性設計,在以后的學習和生活中我會繼續(xù)努力學習,我堅信以后會做出比這些更優(yōu)秀的作品!</p><p><b>  6 參考文獻</b></p><p>  [1]李剛 ,輕量級JavaEE 企業(yè)級應用實戰(zhàn) Struts 2+Spring3+Hibernate整合開發(fā)</p><p>  [2]薩師煊,

溫馨提示

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

評論

0/150

提交評論