已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
分類號分類號 學號學號 m201076051 學校代碼學校代碼 1 0 4 8 7 密級密級 碩士學位論文碩士學位論文 基于基于 ssh 的大學生聯(lián)誼交友管理的大學生聯(lián)誼交友管理 系統(tǒng)設計與實現(xiàn)系統(tǒng)設計與實現(xiàn) 學位申請人學位申請人 : 王海波王海波 學 科 專 業(yè)學 科 專 業(yè) : 軟件工程軟件工程 指 導 教 師指 導 教 師 : 劉小峰劉小峰 副副教授教授 答 辯 日 期答 辯 日 期 : 2013.1.12 a thesis submitted in partial fulfillment of the requirements for the degree for the master of engineering the design and implementation of college students making friends management system based on ssh candidate : wang haibo major : software engineering supervisor : assoc. prof. liu xiaofeng huazhong university of science and technology wuhan 430074, p. r. china january, 2013 i 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 摘摘 要要 在當今科學技術迅猛發(fā)展的時代,計算機網(wǎng)絡遍及了全國各地,通過網(wǎng)絡人們 不用出門幾乎就能做所有事情,例如:購物、訂餐等。這樣就滋生了,大批的宅男 宅女,他們與周圍的人員溝通很少。在線交友系統(tǒng)的出現(xiàn),它為想要交友的朋友提 供了便利的平臺。通過交友系統(tǒng)有利于那些宅男宅女們間的溝通交流,彼此多一些 了解,擴大朋友圈。 相比其他交友方式,網(wǎng)上交友是更經(jīng)濟安全健康的?,F(xiàn)在用電腦上網(wǎng)是很方便 的,上網(wǎng)費用也不是很高。朋友之間,往往通過游玩、吃飯等來增進彼此的感情, 改用上網(wǎng)交友方式,就可以節(jié)省一大筆開銷 而現(xiàn)在的大部分的交友系統(tǒng)是面向社會人士,沒有一個專門的為大學生群體而 開發(fā)的交友系統(tǒng)。即使有也以學校為單位分割開來,外校同學很難進去留言交友。 本系統(tǒng)就解決了這個問題,為廣大大學生們提供一個便捷的、不受學校地域約束的、 功能完善的交友平臺。在這個平臺里,可以發(fā)表個人愛的宣言(交友條件) 、聯(lián)誼活 動發(fā)起、瀏覽好友資料等。 本文提出了目前比較流行的基于 ssh (struts 2+hibernate 3+spring 3)的交友管理 系統(tǒng),它具有強大的可擴展性和可維護性,非常適合中小型企業(yè)創(chuàng)建自己的交友平 臺。在系統(tǒng)的整體設計中,采取了三層結構:表示層、業(yè)務層、持久層。表現(xiàn)層主 要采用較成熟的 struts 2 ,業(yè)務層采用輕量級容器 spring 3,持久層采用較為流行的 hibernate 3。 關鍵詞關鍵詞:大學生交友 ssh 框架 mvc 模式 ii 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 abstract with the rapid development of science and technology, the internet has been widespread all around the world. just by clicking the keyboard, people almost can do anything at home without communicating with others, such as doing shopping, reserving dinner. as a result, a large number of “indoors” men and women are created. and a new system called “making-friends online system” appears naturally under this main life style trend. it provides a convenient communication platform for those who just like staying on line. with this platform, they can expand their personal relationship and make more friends! compared with some other way of making friends, the way of making-friends online is much more economical and convenient. it is not only cheap but also convenient. if we can make friends who have the same interests and have the same background by the internet, which will save lots of money for us, especially for college students who have no steady income and large personal relationships. there existed lots of making friends system intended for social people, but still not one for college students. yet some universities have one, but it is only available for the students of the same university. aiming to solve this problem, and provide a platform with a comprehensive function for all the university students, who can freely contact with more out of school students, show and express themselves, especially for the active guys who want to make friends and initiate a fellowship activity without be confined by school authority! this paper puts forward the design and implementation of college students making friends management system based on the current relatively popular ssh (struts 2 + hibernate 3 + spring 3). it has strong expansibility and maintainability, and is very suitable for small and medium enterprises to create their own platform to make friends. in the iii 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 integral design of the system, it adopted a three layers structure: ui layer, business layer and persistence layer. ui layer mainly uses the mature struts 2, business layer uses lightweight containers spring 3, persistence layer uses the popular hibernate 3. key words:college students making friends ssh framework mvc pattern iv 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 目目 錄錄 摘摘 要要 . i abstract . ii 1 緒論緒論 1.1 課題背景 . (1) 1.2 研究的目的和意義 (1) 1.3 國內外發(fā)展狀況 (2) 1.4 本文主要研究內容 (3) 2 相關技術介紹相關技術介紹 2.1 struts 介紹 . (5) 2.2 hibernate 介紹 (9) 2.3 spring 介紹 . (11) 2.4 本章小結 . (13) 3 需求分析需求分析 3.1 可行性分析. (14) 3.2 系統(tǒng)的功能需求 (15) 3.3 系統(tǒng)的性能需求 (17) 3.4 系統(tǒng)的數(shù)據(jù)需求 (17) 3.5 建立系統(tǒng)的約束 (20) 3.6 本章小結 . (20) 4 系統(tǒng)設計與實現(xiàn)系統(tǒng)設計與實現(xiàn) 4.1 數(shù)據(jù)庫設計. (21) 4.2 系統(tǒng)界面設計 (27) v 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 4.3 功能模塊設計與實現(xiàn) (29) 4.4 信息安全設計 (45) 4.5 本章小結 . (46) 5 系統(tǒng)的調試與測試系統(tǒng)的調試與測試 5.1 測試概述 . (47) 5.2 單元測試 . (48) 5.3 集成測試 . (49) 5.4 本章小結 . (50) 6 總結與展望總結與展望 6.1 全文總結 . (51) 6.2 展望 . (51) 致致 謝謝 (52) 參考文獻參考文獻 (53) 1 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 1 緒論緒論 1.1 課題背景課題背景 在當今科學技術迅猛發(fā)展的時代,計算機網(wǎng)絡遍及了全國各地,通過網(wǎng)絡人們 不用出門幾乎就能做所有事情,例如:購物、訂餐等。這樣就滋生了,大批的宅男 宅女,他們與周圍的人員溝通很少。在線交友系統(tǒng)的出現(xiàn),它為想要交友的朋友提 供了便利的平臺。通過交友系統(tǒng)有利于那些宅男宅女們間的溝通交流,彼此多一些 了解,擴大朋友圈。 相比其他交友方式,網(wǎng)上交友是更經(jīng)濟安全健康的。現(xiàn)在用電腦上網(wǎng)是很方便 的,上網(wǎng)費用也不是很高。朋友之間,往往通過游玩、吃飯等來增進彼此的感情, 改用上網(wǎng)交友方式,就可以節(jié)省一大筆開銷。網(wǎng)上交友不像其他的交友方式,可以 面對面,它一般通過視頻、文字、語音展開彼此的交流,這樣就可以大大降低犯罪 的幾率。網(wǎng)絡交友不像聚會、游玩等造成一定的環(huán)境污染和資源浪費,它不僅節(jié)約 資金,而且還可以避免環(huán)境污染,可以說網(wǎng)絡交友是一種健康的交友方式。 把互聯(lián)網(wǎng)作為交友的途徑與工具是互聯(lián)網(wǎng)的基本應用之一。由于網(wǎng)絡交友既輕 松自由、又方便快捷、更有著不受地域限制的優(yōu)勢,所以各種交友網(wǎng)站應運而生。 在當前網(wǎng)絡服務高速發(fā)展的社會里,人們已經(jīng)開始慢慢接受和認可網(wǎng)上交友這種交 友方式。網(wǎng)絡技術的發(fā)展為交友模式的革新帶來了新的機遇,現(xiàn)代網(wǎng)絡交友將結合 現(xiàn)代網(wǎng)絡技術、多媒體技術與傳統(tǒng)溝通與交流學習的優(yōu)勢,改變傳統(tǒng)的面對面的交 友方式,開發(fā)出基于 b/s 架構的交友平臺系統(tǒng)。 1.2 研究的目的和意義研究的目的和意義 現(xiàn)在的交友系統(tǒng),大部分都是面向社會人士,沒有一個專門的為大學生群體而 開發(fā)的系統(tǒng)。即使有也以學校為單位分割開來,外校同學很難進去留言交友。本系 統(tǒng)就解決了這個問題,為廣大武漢大學生們提供一個便捷的、不受學校約束的功能 完善的交友平臺。在這個平臺里,可以發(fā)表個人愛的宣言(交友條件) 、聯(lián)誼活動發(fā) 2 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 起、瀏覽好友資料等。 系統(tǒng)的建設主要目的: (1)打造武漢高校最大、最權威、最誠信的校園交友平臺。 (2)通過實用貼心的功能,完善的宣言和聯(lián)誼模塊,為用戶交友提供舒心的服 務。 1.3 國內外發(fā)展狀況國內外發(fā)展狀況 在中國,計算機網(wǎng)絡技術的迅速發(fā)展,尤其是在中國人口眾多,宅男宅女日益 增多的背景下,中國的網(wǎng)絡交友網(wǎng)站應運而生,而且日益增多。到 2012 年初為止, 中國的交友網(wǎng)站已經(jīng)有幾千家了,并且有很多都得到了風投資金1, 國內最大的兩家 交友網(wǎng)站世紀佳緣和百合網(wǎng)也已先后上市。交友網(wǎng)站增多,避免不了競爭也會加劇, 優(yōu)勝劣汰,對于交友網(wǎng)站來說,好的盈利模式是尤為重要的。中國交友網(wǎng)站的盈利 模式主要是通過為商家代理廣告和運營商來賺錢。 與國內交友網(wǎng)站相比,國外的交友網(wǎng)站發(fā)展相對比較成熟,至少領先國內 3 年。 e harmony 作為美國第一家“推薦制”的網(wǎng)站在 2000 年誕生。2004 年末,它從風險 投資商那里成功拉到了 1.1 億美元的投資, 成為當年全球拉到風險投資最高的互聯(lián)網(wǎng) 網(wǎng)站。全球第一家上市的網(wǎng)站是法國的 ,它在 2005 年成功上市。中國的 網(wǎng)站的發(fā)展趨勢眾說紛紜,無論是現(xiàn)在能夠想象得到的或是沒有想象到的,都有可 能成為互聯(lián)網(wǎng)明天的現(xiàn)實。 在國外,網(wǎng)民通過交友網(wǎng)站交友,付一定的費用已經(jīng)得到了廣泛的認可。網(wǎng)民 認為,我既然使用了交友網(wǎng)所提供的服務,就有義務付一定的費用,因為交友網(wǎng)站 的運營也是需要一定費用的。這樣網(wǎng)站也有資金和動力進一度完善自己的網(wǎng)站服務, 更好的服務給網(wǎng)民。在中國,交友網(wǎng)站也正在向這種方式轉變,從不收費到收費, 網(wǎng)站也更加的人性化,更能站在用戶的角度考慮。誰能提供更好的產(chǎn)品和服務,誰 就可以獲得更多的收益。由于網(wǎng)絡交友既輕松自由、又方便快捷、更有著不受地域 限制的優(yōu)勢,在當前網(wǎng)絡服務高速發(fā)展的社會里,人們已經(jīng)開始慢慢接受和認可網(wǎng) 上交友這種交友方式。網(wǎng)絡技術的發(fā)展為交友模式的革新帶來了新的機遇,現(xiàn)代網(wǎng) 3 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 絡交友將結合現(xiàn)代網(wǎng)絡技術、多媒體技術與傳統(tǒng)溝通與交流學習的優(yōu)勢,為網(wǎng)民帶來 更好的服務。 某個著名咨詢公司研究表明:中國近幾年來,交友網(wǎng)站可以說是飛速發(fā)展,拿 2005 年至 2008 年這個時間段來舉例,2005 年使用網(wǎng)上交友服務的網(wǎng)民大概有 4600 萬人,到了 2008 年這個人數(shù)上升到了近 12000 萬人2。該咨詢公司預測,隨著互聯(lián) 網(wǎng)的飛速發(fā)展,宅男宅女的人數(shù)繼續(xù)增多,網(wǎng)上尋找交友的用戶將越來越多,這將 帶動網(wǎng)上交友市場規(guī)模的持續(xù)增長。 據(jù)了解可知,會員費和網(wǎng)絡廣告費是交友網(wǎng)站盈利的主要來源。以中國最大的 交友網(wǎng)站之一的世紀佳緣為例,用戶可以免費注冊賬號 ,可以瀏覽會員資料,會員 之間可以打招呼、發(fā)私信、送花、送禮物等,但這些不是所有的業(yè)務都是免費的, 有的業(yè)務得需要支付一定的費用如看信、送花、送禮物等,當然廣告收入也是它們 盈利的主要來源3。 總之,網(wǎng)絡會越來越貼近人們的生活,互聯(lián)網(wǎng)的應用會越來越廣泛,互聯(lián)經(jīng)濟 會成為重要的產(chǎn)業(yè),將大幅推動全球化經(jīng)濟的發(fā)展?;ヂ?lián)經(jīng)濟現(xiàn)在仍處于萌芽階段 才剛剛開始,未來的路還很長很長,互聯(lián)網(wǎng)的發(fā)展需要每一個網(wǎng)絡參與者共同努 力、共同促進。 1.4 本文主要研究內容本文主要研究內容 本文提出了目前比較流行的,基于 ssh (struts 2,spring 3,hibernate 3)的交友 管理系統(tǒng),它具有強大的可擴展性和可維護性,非常適合中小型企業(yè)創(chuàng)建自己的交 友平臺。在系統(tǒng)的整體設計中,采取了三層結構:表現(xiàn)層、業(yè)務層、持久層。表現(xiàn) 層主要采用較成熟的 struts 2 ,業(yè)務層采用輕量級容器 spring 3,持久層采用較為流 行的 hibernate 3。 本文主要完成了以下模塊的設計與實現(xiàn): (1) 用戶模塊:用戶登錄、用戶注冊、查看資料、修改資料。 (2) 愛的宣言模塊:發(fā)布愛的宣言、愛的宣言回復、宣言查找。 (3) 聯(lián)誼發(fā)起模塊:發(fā)起聯(lián)誼活動、參與人回復、聯(lián)誼活動查找。 4 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 (4) 搜索模塊:用戶查找。 (5) 后臺管理模塊:用戶管理、愛的宣言管理、聯(lián)誼發(fā)起管理、系統(tǒng)右欄管理、 退出系統(tǒng)。 5 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 2 相關技術介紹相關技術介紹 系統(tǒng)的構建離不開技術的支持,下面就對本系統(tǒng)所涉及的一些關鍵技術,主要 是 struts、hibernate 和 spring 做一下簡要的介紹。 spring,struts,hibernate 三者之間的關系如圖 2.1 所示。 圖 2.1 struts,spring,hibernate 三者之間的關系 2.1 struts 介紹介紹 struts 的目標是提供一個開發(fā) web 應用的開源框架。 作為 apache jakarta 項目的 組成部分出現(xiàn)的 struts 框架,其主要目的是為了節(jié)省開發(fā)者在開發(fā) web 應用程序時 所消耗的時間(這里開發(fā) web 應用程序時運用的 mvc 設計模型)4, 5,進而大大提 升了開發(fā)效率。 下面就簡單的介紹下 mvc 設計模型。 mvc 是一種常用的設計模式,其中 m 是模型(model),v 是視圖(view),c 是控制(controller)。mvc 設計模式的工作原理如圖 2.2 所示。 6 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 struts 主要有兩個版本,struts 1 和 struts 2,由于本文主要是應用的是 struts 2, 所以這里對 struts 1 不做介紹, 主要介紹一下 struts 2。 struts 2 是由 struts 1、 webwork 兩個經(jīng)典的 mvc 框架發(fā)展而來。它是一個非常優(yōu)秀的 mvc 框架。與傳統(tǒng)的 struts1 相比,struts 2 允許我們使用普通的、一般性的 java 對象作為 action,這對于編程人 員來說,是一個很好的設計,因為我們熟悉面向對象編程的思想,把一切都當作對 象看待。另外,action 該的 execute()方法不在與 servlet api 耦合,因而易于測試; 支持更多的視圖技術等6-8。 struts 框架的工作原理如圖 2.3 所示。 瀏覽器: web 容器將為每一個來自于瀏覽器的 http 請求,都創(chuàng)建一個 request 對象,并 產(chǎn)生一個 response 對象與 request 請求響應。 控制器(controller) : client ie or netscape controller actionservlet business logic action model javabean or ejb view jsp http request action form http response struts-config.xml 圖 2.3 struts 的工作原理 view(視圖) controller(控制) model(模型) 圖 2.2 mvc 的工作原理 7 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 控制器接收來自瀏覽器的請求,在 struts 框架中,控制器是由 servlet 來充當?shù)模?它主要是接收來自于瀏覽器客戶端(ie 或 netscape)的請求。控制器(controller) 的配置工作主要是在文件 struts-config.xml 中進行配置。 模型(model) : model 主要是對客戶端發(fā)出請求, 調用業(yè)務邏輯對其進行處理。 struts 主張把 “做 什么” (action)和“如何做” (業(yè)務邏輯)相分離。 視圖(view) :由圖 2.3 可以看出,view 主要是由 jsp 技術來完成。在這里, 利用 struts 所提供的機制,讓我們創(chuàng)建視圖更加的輕松方便。 struts 框架組件如圖 2.4 所示。 圖 2.4 struts 框架組件 在 struts 中, 用戶的請求一般以*.do 或*.action(是.do 還是.action 主要看 struts 中 的配置)作為請求服務名,所有的*.do 或*.action 請求均被指向 actionsevlet。然后編 寫相應的 action 類, 通過重寫它們中的 execute()方法來調用業(yè)務邏輯 service 中的方 法來完成相應的操作9。 struts 框架還提供了如 xml 處理、國際化提示等很多好用且實用的對象,這讓 我們開發(fā) web 應用更加的便捷10-12。 struts 的異常自動處理機制 1)編程式異常處理 8 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 (1) 就是利用編程的方式,對通過 try catch 語句所截獲異常,通過編程的方 式手工進行處理。 (2) 在編程式異常處理的時候,我們可以使用 struts 的消息處理機制(前面所 講的內容)來對這些異常信息進行處理 2)自動異常處理機制 (1) 我們不通過手工編寫代碼的方式處理異常,即在 action 中不對 trycatch 方法捕捉的異常進行處理,而是將該異常拋出給我們的 struts 框架進行處理。 (2) 自動異常處理機制,機器是不會自動處理 ,要想達到自動的效果,我們 需要在配置文件中指示 struts 怎么去做, 怎么去處理那些被拋出的異常, 從而達到自 動處理的效果。 struts 優(yōu)缺點 優(yōu)點: struts 是開源而且是比較成熟的框架。由于是開源的,這就讓我們能夠對其內部 實現(xiàn)機制有更加深入的理解。 可以提高軟件系統(tǒng)的開發(fā)效率;適合于開發(fā)一些比較大的項目,可以降低架構 的復雜性。 struts 的標記庫 taglib 是十分好用的,它能幫助我們更容易編寫代碼,提高開發(fā) 效率。 struts 的頁面導航是個很好用的部分,只需依據(jù)一個配置文件,我們就能夠了解 整個系統(tǒng)的脈絡。 缺點: 開發(fā)者所有寫的程序與 struts 框架緊密關聯(lián), 這就導致測試不能脫離框架而單獨 進行,造成了一定的耦合性。 taglib 標簽庫雖說是 struts 的一大優(yōu)勢,但對于剛剛入門學習的人而言,如果把 我不好,可能會打亂網(wǎng)頁編寫的習慣。 mvc 的 controller 控制器被 struts 分成了三個部分,這樣做使結構更加清晰的 9 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 同時,增加了系統(tǒng)的復雜度,給想要學習 struts 技術進行 web 開發(fā)的人員帶來了一 定的難度。 2.2 hibernate 介紹介紹 hibernate 是一個優(yōu)秀的 java 組件,它采用對象/關系數(shù)據(jù)庫映射(orm)模式 實現(xiàn)了數(shù)據(jù)持久化層 13-15。 orm 的英文全名是 object-relational mapping。它的實 現(xiàn)思想就是將關系數(shù)據(jù)庫中表的數(shù)據(jù)映射成為對象,以對象的形式展現(xiàn)。這種技術 從本質上來說,就是將數(shù)據(jù)從一種形式轉換到另外一種形式16, 17。這樣就帶來了許 多好處, 開發(fā)人員利用 hibernate 框架就可以按照 java 面向對象的思想進行持久層的 開發(fā),把對數(shù)據(jù)庫的操作轉化為對這些對象的操作,很方便的進行數(shù)據(jù)的增加、刪 除、修改、查找等操作,而無需關心數(shù)據(jù)庫的中心思想18-20。 在 hibernate 中,對象有臨時狀態(tài)、持久狀態(tài)和游離狀態(tài)三種狀態(tài)。 三種狀態(tài)的關系如圖 2.5 所示。 圖 2.5 hibernate 三種狀態(tài)關系 由圖 2.5 可以看到,當通過 new 語句 new 一個實體對象后,這個對象處于臨時 狀態(tài)了。此時該對象被放在內存中,與數(shù)據(jù)庫中的記錄沒有任何關聯(lián),程序結束, 它就會消失。如果沒有變量對此對象的引用,它將被 java 虛擬機(jvm)回收。 當調用 session 的 save() 或 saveorupdate()方法時,可以將臨時狀態(tài)對象與數(shù)據(jù) 庫相關聯(lián),并將對象數(shù)據(jù)插入數(shù)據(jù)庫中,這個時候該對象就轉變成持久化狀態(tài)對象。 10 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 當一個 session 執(zhí)行 get()或 load()、createquery()之后,對象處于持久化狀態(tài)。 處于持久化狀態(tài)的對象在數(shù)據(jù)庫中就會有相應的記錄與之對應,并擁有持久化 標識。如果此時對該對象執(zhí)行 delete()方法, 對象在數(shù)據(jù)庫中所對應的數(shù)據(jù)將被刪除, 該對象不再與數(shù)據(jù)庫記錄相關聯(lián)。此時,對應的持久化對象就變成臨時對象了。 當一個 session 執(zhí)行 close()或 clear()、evict()之后,其對應的 session 實例被關閉, 此時持久化對象將變成游離對象,但它仍具有數(shù)據(jù)庫識別符,只是已不在 hibernate 持久層的管理之下。當游離對象重新關聯(lián)到 session 上時,執(zhí)行 update()、 saveorupdate()、lock()、merge()或 replicate()方法,它將再次轉變成持久狀態(tài)。 hibernate 的功能特點: (1) 數(shù)據(jù)庫無關性; (2) 緩存的管理,提供一、二級緩存。 (3) 提供對類、屬性、集合的延時加載。 (4) 一些特殊的功能:分頁處理。 (5) 各種類型的檢索方式:sql、hql、qbc。 (6) 針對不同的數(shù)據(jù)庫而言,提供各種不同的主鍵生成方式。 hibernate 優(yōu)缺點21, 22 優(yōu)點: (1) 對象/關系數(shù)據(jù)庫映射(orm), 這種機制讓使用者只需操作數(shù)據(jù)庫對象,就 能進行數(shù)據(jù)的增刪改查操作,無需關心數(shù)據(jù)庫的中心思想。 (2) 簡潔的 hql 編程。 (3) 移植性會很好。 缺點: (1) 配置太靈活,使編程人員需要考慮的事項很多。 (2) hibernate 做為 orm 有一些固有的缺陷, 比如批量 insert、 update 和 delete 的效率問題。 (3) 由于使用了映射文件,處理多態(tài)檢索復雜。 (4) 針對單一對象簡單的增刪查改,適合于 hibernate,而對于批量的修改,刪 除,不適合用 hibernate,這也是 or 框架的弱點。 11 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 2.3 spring 介紹介紹 spring 是一個優(yōu)秀的軟件框架, 它能夠提供 java ee 應用各層 (表現(xiàn)層、 業(yè)務層、 持久層)的解決方案,而不僅僅局限于某一層。雖然 spring 自己就能解決 javaee 各 層的開發(fā),但是它也不排外,能和現(xiàn)有的很多優(yōu)秀框架進行無縫的整合。我們的系 統(tǒng)就利用 spring 整合 struts 和 hibernate 開發(fā)的。spring 框架的核心它的核心技術是 控制反轉(ioc)23,或者叫依賴注入(di)和面向方面的編程(aop)24, 25。 spring 體系結構的分層架構如圖 2.6,由圖我們可以看到,spring 體系結構由 spring core、spring context、spring aop、spring dao、spring orm、spring web 和 spring mvc 等 7 個模塊組成26-29。下面就對各個模塊主要功能做一下簡要的介 紹。 圖 2.6 spring 體系結構 核心模塊(spring core):它是 spring 框架的核心容器,提供 spring 框架的基 本功能,是 spring 其他模塊的基礎。在模塊中包含最重要的 beanfactory 類,它是 spring 的核心類,負責歲 javabean 的配置與管理。它采用采用 factory 模式實現(xiàn) ioc 容器,即依賴注入,將類和類之間依賴關系解除,通過配置的方式對依賴關系進行 描述。 spring 上下文(spring context):spring context 是一個配置文件,擴展了 beanfactory 的功能,如它添加了事務處理、國際化、資源裝載、透明裝載以及數(shù)據(jù) 校驗等,為 spring 框架提供上下文信息。 12 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 spring aop30, 31: spring 集成了所有 spring aop 的功能。 通過事務管理可以使 任意 spring 管理的對象 aop 化。 spring dao: 在這里使用了 dao 組件對原始的 jdbc 數(shù)據(jù)庫操縱進行了再次封 裝。從而允許程序使用面向對象的方式來操作數(shù)據(jù)庫,保證整個軟件開發(fā)過程以編 程人員比較熟悉的面向對象的方式進行, 它的實現(xiàn)類主要是借助 spring 的 dao 支持 來實現(xiàn)。 spring orm:spring 框架中提供了很多 orm 框架,提供了 orm 的對象關 系工具,例如 hibernate,它采用對象/關系數(shù)據(jù)庫映射(orm)模式實現(xiàn)了數(shù)據(jù)持久 化層。orm 的實現(xiàn)思想就是將關系數(shù)據(jù)庫中表的數(shù)據(jù)映射成為對象,以對象的形式 展現(xiàn)。這樣就方便了編程人員按照 java 面向對象的思想對數(shù)據(jù)庫進行操作。 spring web 模塊:spring web 模塊建立在 spring context 基礎之上,提供了 servlet 監(jiān)聽器的 context 和 web 應用的 context,對現(xiàn)有 web 框架,如 struts 等提供 了集成。 spring mvc 框架:spring web mvc 模塊建立在 spring core 之上,這使它能擁 有 spring 框架的所有特性,能適應多種視圖、模板技術、國際化和驗證服務,實現(xiàn) 控制邏輯和業(yè)務邏輯清晰分離。 spring 體系結構特點: (1) 分層框架,spring 中所有模塊構建在 spring core 模塊之上。 (2) 每個模塊可合可單(可以組合到一起使用,也可以單獨使用) 。 spring 完善的框架,開發(fā)人員可以自由的選擇;它的不排外,與其他流行框架 整合得天衣無縫,有“粘合劑”之稱。spring 與其他框架相比,優(yōu)勢有: (1) 方便解耦,簡化開發(fā) (2) aop 編程的支持 (3) 聲明式事務的支持 (4) 方便程序的測試 (5) 方便集成各種優(yōu)秀框架 (6) 降低 java ee api 使用 13 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 2.4 本章小結本章小結 本章主要介紹了系統(tǒng)開發(fā)過程中所用的一些相關技術,主要是 struts、hibernate 和 spring。首先作為 apache jakarta 項目的組成部分出現(xiàn)的 struts 框架,其主要目的 是為了節(jié)省開發(fā)者在開發(fā) web 應用程序時所消耗的時間,提高開發(fā)效率。然后對 struts 的工作原理和 struts 的優(yōu)缺點進行了詳細的講解。接著介紹了 hibernate,采用 對象/關系數(shù)據(jù)庫映射(orm)模式實現(xiàn)了數(shù)據(jù)持久化層,是一個優(yōu)秀的 java 組件。 然后針對 hibernate 中對象的三種狀態(tài)和 hibernate 的功能特點及其優(yōu)缺點給予了介 紹。最后介紹了 spring,它能夠提供 java ee 應用各層(表現(xiàn)層、業(yè)務層、持久層) 的解決方案,而不僅僅局限于某一層。它的框架的核心它的核心技術是控制反轉 (ioc),或者叫依賴注入(di)和面向方面的編程(aop),然后介紹了 spring 體系結構特點及其優(yōu)勢。 14 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 3 需求分析需求分析 需求分析主要是對要解決的問題進行詳細的分析,弄清楚問題各方面的要求。 針對本系統(tǒng),下面就從系統(tǒng)開發(fā)的可行性、系統(tǒng)功能需求、系統(tǒng)性能需求、系 統(tǒng)的數(shù)據(jù)需求等幾個方面進行分析。 3.1 可行性分析可行性分析 可行性分析32的主要目的是用盡可能少的代價,在盡可能最短的時間里確定該 項目工程在現(xiàn)有技術基礎上是否能夠開發(fā),是否值得去開發(fā),它未來的效益如何, 最后給項目開發(fā)的決策者提供做與不做的理論依據(jù)33。 下面主要從經(jīng)濟可行性和技術可行性兩個方面進行分析。 3.1.1 經(jīng)濟可行性經(jīng)濟可行性 經(jīng)濟可行性主要是從系統(tǒng)開發(fā)成本和效益兩方面進行分析。該系統(tǒng)從設計到實 現(xiàn)基本上是有一個人完成,所用的一些開發(fā)工具 dreamweaver8.0、myeclipse9.0、 tomcat5.5、mysql 數(shù)據(jù)庫、navicat 等都是免費版或試用版本,所以這就為系統(tǒng)開發(fā) 減少了一大筆開銷。 系統(tǒng)所實現(xiàn)的功能,基本能滿足用戶需求,對于后期系統(tǒng)維護,所需精力和費 用也不會很多。本系統(tǒng)可以說節(jié)約資金又節(jié)約人力,經(jīng)濟代價不大。 3.1.2 技術可行性技術可行性 技術可行性研究是根據(jù)現(xiàn)有的和準備充實的設備條件與技術力量來分析系統(tǒng)在 技術上實現(xiàn)的可能性,弄清現(xiàn)有技術條件能否保證順利地完成系統(tǒng)的開發(fā)工作。在 技術可行性研究過程中,主要是采集系統(tǒng)性能、可靠性、可維護性和可生產(chǎn)性等方 面的信息,分析實現(xiàn)系統(tǒng)功能所需要的各種設備、技術、方法和過程,分析項目開 發(fā)在技術方面可能負擔的風險以及技術問題對開發(fā)成本的影響等。 在技術上,系統(tǒng)利用 dreamweaver8.0 進行頁面設計和布局,利用 myeclipse9.0 15 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 進行編碼,服務器采用了 tomcat。對于數(shù)據(jù)庫方面,系統(tǒng)采用了 mysql。然后,系 統(tǒng)使用了 ssh(struts 2+spring 3+hibernate 3)三大免費開源框架的結合使用, 它可 以看成工具,也是中間件34。利用這些技術已經(jīng)能完全滿足開發(fā)要求。 3.2 系統(tǒng)的功能系統(tǒng)的功能需求需求 大學生聯(lián)誼交友管理系統(tǒng)是為大學生提供聯(lián)誼交友的平臺,在這個平臺里,可 以發(fā)表個人愛的宣言(交友條件)、聯(lián)誼活動發(fā)起、瀏覽好友資料等。大學生聯(lián)誼 交友管理系統(tǒng)功能結構圖如圖 3.1 所示。 圖 3.1 大學生聯(lián)誼交友管理系統(tǒng)功能結構圖 3.2.1 前臺前臺 在前臺的功能需求上,可以分為以下幾個部分: (1)用戶登錄 網(wǎng)站用戶用個人注冊的帳號、密碼登錄到網(wǎng)站。網(wǎng)站檢測用戶登錄的帳號、密 碼并給予其相應的權限對網(wǎng)站進行操作。 (2)用戶注冊 大學生聯(lián)誼交友管理系統(tǒng) 用 戶 模 塊 愛 的 宣 言 聯(lián) 誼 發(fā) 起 用 戶 登 錄 用 戶 注 冊 資 料 修 改 交 友 宣 言 回 復 愛 的 宣 言 愛 的 宣 言 查 找 用 戶 管 理 聯(lián) 誼 發(fā) 起 查 看 資 料 參 與 人 回 復 聯(lián) 誼 活 動 查 找 后 臺 管 理 系 統(tǒng) 右 欄 管 理 退 出 系 統(tǒng) 用 戶 查 找 搜 索 模 塊 聯(lián) 誼 發(fā) 起 管 理 愛 的 宣 言 管 理 16 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 用戶將個人的信息存儲到交友網(wǎng)站的數(shù)據(jù)庫中,以成為本交友的正式用戶。 (3)用戶修改個人信息 把已存儲的用戶信息用一個網(wǎng)頁顯示出來,方便用戶對個人信息進行更新。 (4)會員搜索 用戶可以自己設定條件,來搜索滿足條件的會員。 (5)愛的宣言 在這里,用戶可以自由的發(fā)布愛的宣言、查看已有宣言列表、回復宣言等 (6)聯(lián)誼發(fā)起 在這里,用戶可以作為活動的組織人,當然也可以替別人發(fā)布聯(lián)誼活動。用戶 也可以查看聯(lián)誼列表、回復聯(lián)誼等 3.2.2 后臺后臺 在后臺的功能需求上,可以分為以下幾個部分: (1)用戶管理 管理員對已注冊用戶資料的查看、修改。對用戶權限的設定。對當期在線用戶 的查看、刪除、權限設定等 (2)愛的宣言管理 管理員對已有愛的宣言的查看、修改、刪除和推薦。已有宣言回復的查看、刪 除等操作。 (3)聯(lián)誼發(fā)起管理 管理員對已有聯(lián)誼發(fā)起活動的查看、活動的修改、刪除和推薦。聯(lián)誼活動回復 的查看、刪除等操作。 (4)系統(tǒng)右欄管理 管理員通過設定各信息表的 commend 屬性來決定用戶的推薦、愛的宣言推薦、 聯(lián)誼發(fā)起推薦。 (5)退出系統(tǒng) 管理員退出大學生聯(lián)誼交友管理系統(tǒng)。 17 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 3.3 系統(tǒng)的性能需求系統(tǒng)的性能需求 大學生聯(lián)誼交友系統(tǒng)的特性要求聯(lián)誼交友系統(tǒng)應該具有以下幾個主要特點: (1)多樣性 大學生聯(lián)誼交友系統(tǒng)在設計時應該以用戶為系統(tǒng)設計的中心。隨著互聯(lián)網(wǎng)的迅 速發(fā)展,網(wǎng)絡上有很多形形色色的交友網(wǎng)站,用戶上網(wǎng)交友就有很多的選擇,所以, 交友系統(tǒng)除了在設計時考慮低成本以外,還必須在系統(tǒng)頁面的美觀,吸引人眼球上 下工夫,做到功能多樣化,操作簡單。 (2)易維護 后臺管理員能夠很方便地對已注冊用戶資料的查看,修改。對用戶權限的設定。對 當期在線用戶的查看、刪除、權限設定等;對已有愛的宣言的查看、修改、刪除和推薦。 已有宣言回復的查看、刪除等操作;對已有聯(lián)誼發(fā)起活動的查看、活動的修改、刪除、 推薦。聯(lián)誼活動回復的查看、刪除等操作。通過設定各信息表的 commend 屬性來決定 用戶的推薦、愛的宣言推薦、聯(lián)誼發(fā)起推薦;退出大學生聯(lián)誼交友管理系統(tǒng)。 (3)安全性 系統(tǒng)的信息安全,我們應該尤為注意。大家都知道,在內部測試中,系統(tǒng)中的 所有 bug 不可能被服務器軟件的開發(fā)商一一全都找出來,即使正式軟件發(fā)布了,也 只有一小部分漏洞被發(fā)現(xiàn),隨著系統(tǒng)的運行,還會有很多安全問題出現(xiàn),所以我們 應該時刻提高警惕,應對可能出現(xiàn)的 bug。同時,網(wǎng)站服務器的操作系統(tǒng)的補丁要 及時更新打好,進行安全權限的設置,并安裝好防火墻,殺毒軟件等,定時對數(shù)據(jù) 進行備份。 (4)可擴展 交友系統(tǒng)的用戶從事著各種行業(yè),他們的需求各不相同,系統(tǒng)在設計時應充分 考慮到后期用戶需求的不斷變化,應對各種可能。 3.4 系統(tǒng)的數(shù)據(jù)需求系統(tǒng)的數(shù)據(jù)需求 3.4.1 系統(tǒng)的數(shù)據(jù)需求系統(tǒng)的數(shù)據(jù)需求 (1)數(shù)據(jù)的準確性和實時性 18 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 保證用戶輸入數(shù)據(jù)的準確,如果數(shù)據(jù)輸入有誤,系統(tǒng)應該給予提示。實時的追 蹤用戶輸入,并及時的對用戶輸入的數(shù)據(jù)進行處理。 (2)數(shù)據(jù)的一致性與完整性 網(wǎng)站的數(shù)據(jù)是平臺所共享的,所以一定要有專門的人員維護數(shù)據(jù)的一致性,并 嚴格的約束數(shù)據(jù)的完整性,對不符合完整性要求的數(shù)據(jù),應給予提示要求輸入完整 的數(shù)據(jù)或是拒絕接收。 3.4.2 系統(tǒng)的數(shù)據(jù)字典系統(tǒng)的數(shù)據(jù)字典 數(shù)據(jù)詞典定義了與系統(tǒng)有關的所有數(shù)據(jù)元素,并依照字典排列的順序將它們一 一組織起來,對所有的輸入、輸出、中間計算和存儲成分,用戶和分析員有共同的 認識35。 在數(shù)據(jù)詞典的每一個詞條中應包含以下信息: (1) 名稱: 主要是指數(shù)據(jù)對象的名字 (當然也包括控制項、 數(shù)據(jù)存儲或外部實體) 。 (2) 別名或編號。 (3) 描述:描述內容或數(shù)據(jù)結構等。 (4) 何處使用:在哪個地方使用了該詞條。 數(shù)據(jù)元素組成數(shù)據(jù)的方式(關系算符):順序、選擇、重復和可選。 (1) 順序:按照規(guī)定好的次序連接兩個或多個分量。 (2) 選擇:從兩個及以上元素中選擇一個可能的元素。 (3) 重復:指定的分量重復的次數(shù),可以是零次也可以是多次。 (4) 可選:分量可以選擇也可以不選擇。 系統(tǒng)中的數(shù)據(jù)元素如下: 名字:用戶信息 別名: 描述:用戶的個人信息,用于對用戶的確認和更新。 定義:用戶信息=用戶名+密碼+真實姓名+性別+學校+專業(yè)+qq+電話+電 子郵箱+地址+自我描述 位置:輸入到用戶瀏覽器(前臺) 19 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 名字:宣言回復信息 別名: 描述:對已有宣言進行回復。 定義:宣言回復信息=回復人+回復內容+回復日期 位置:輸入到用戶瀏覽器(前臺) 名字:愛的宣言信息 別名: 描述:發(fā)布愛的宣言。 定義:愛的宣言信息=宣言標題+宣言內容+發(fā)布人+發(fā)布時間 位置:輸入到用戶瀏覽器(前臺) 名字:管理員信息 別名: 描述:管理員的個人信息,用于對管理員的確認和更新。 定義:管理員信息=用戶名+密碼 位置:輸入到管理員瀏覽器(后臺) 名字:聯(lián)誼回復信息 別名: 描述:對已有聯(lián)誼活動進行回復。 定義:聯(lián)誼回復信息=回復人+回復內容+回復日期 位置:輸入到用戶瀏覽器(前臺) 名字:聯(lián)誼發(fā)起信息 別名: 描述:發(fā)布聯(lián)誼活動信息。 定義:聯(lián)誼發(fā)起信息=聯(lián)誼活動標題+活動內容+發(fā)起人+發(fā)布人+發(fā)布時 間 位置:輸入到用戶瀏覽器(前臺) 20 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 3.5 建立系統(tǒng)的約束建立系統(tǒng)的約束 大學生聯(lián)誼交友管理系統(tǒng)是基于 b/s 的,不可避免的要受到 b/s 結構的約束。 系統(tǒng)在設計、實現(xiàn)以及之后的實施應該服從人力、資金、時間的約束和技術發(fā)展規(guī) 律的約束。 3.5.1 人力、資金、時間的約束人力、資金、時間的約束 校園交友系統(tǒng)實施的目標就是要為網(wǎng)絡用戶提供進行在線交流的網(wǎng)絡平臺,其 開發(fā)過程中也要考慮到人力、資金和時間的約束。因此,在設計中,重點是交友系 統(tǒng)中良好的人機交互界面,能提供給用戶以優(yōu)質高效的服務。 3.5.2 技術發(fā)展規(guī)律的約束技術發(fā)展規(guī)律的約束 計算機技術和產(chǎn)品的發(fā)展日新月異,將會給信息處理帶來更多的手段,同時也 會帶來更加豐富的信息表達形式。 3.6 本章小結本章小結 本章主要從系統(tǒng)開發(fā)的可行性、系統(tǒng)功能需求、系統(tǒng)性能需求、系統(tǒng)的數(shù)據(jù)需 求等幾個方面進行分析。首先從系統(tǒng)的經(jīng)濟可行性和技術可行性兩個方面進行了系 統(tǒng)可行性分析,然后進行系統(tǒng)功能需求分析,前臺主要實現(xiàn)了用戶登錄、用戶注冊、 愛的宣言、聯(lián)誼發(fā)起、會員搜索功能,后臺實現(xiàn)了用戶管理、宣言管理、聯(lián)誼管理、 右欄管理功能,再然后,系統(tǒng)性能需求方面主要從多樣性、易維護、安全性、可擴 展四方面進行了描述,最后對系統(tǒng)數(shù)據(jù)需求和系統(tǒng)的約束進行了說明。 21 華華 中中 科科 技技 大大 學學 碩碩 士士 學學 位位 論論 文文 4 系統(tǒng)設計系統(tǒng)設計與實現(xiàn)與實現(xiàn) 大學生聯(lián)誼交友管理系統(tǒng)主要利用現(xiàn)有的軟硬件設施,開發(fā)一個具有良好人機 交互界面,功能比較完備的聯(lián)誼交友平臺,為交友提供系統(tǒng)支持。 在系統(tǒng)的整體設計中,我們采取了三層結構:表現(xiàn)層、業(yè)務層、持久層36, 37。 表現(xiàn)層(the ui layer),主要使用 jsp 技術和 struts 2 所提供的標簽庫實現(xiàn)的。本 系統(tǒng)在表現(xiàn)層與業(yè)務層之間提供了一個 controller(控制器),用來負責用戶請求和 業(yè)務層的交互38。 業(yè)務層(the business layer),主要利用 spring 3 技術來實現(xiàn)的。該層主要負責實 現(xiàn)系統(tǒng)的業(yè)務邏輯處理功能。該層是其它層相互作用的接口。通過 service 對 dao 組件的封裝,action 直接調用 service,而使表現(xiàn)層和持久層不直接的聯(lián)系。 持久層(the persi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年新教材高中物理 第5章 傳感器 1 認識傳感器(1)教學實錄 新人教版選擇性必修第二冊
- 工作計劃怎么寫15篇
- 2023七年級道德與法治上冊 第三單元 師長情誼第六課 師生之間 第1框 走近老師教學實錄 新人教版
- 高校教師講課心得7篇
- 學生會年終述職報告(集合15篇)
- 銷售人員個人述職報告(8篇)
- 維修施工方案(范文)
- 個人留學申請書
- 社會心理學-群體心理效應
- 上市公司資產(chǎn)置換案例4篇
- 輸配電系統(tǒng)的新能源接入與電價測算
- 反洗錢述職報告
- 飛機電氣系統(tǒng)電子緒論課件
- 泌尿護士述職報告
- 部編版二年級語文上冊第二單元大單元教學設計
- 胃癌健康宣教講解課件
- 建筑工程類就業(yè)分析報告
- 運動營養(yǎng)學(第三版) 第7章 運動營養(yǎng)食品與功能性食品
- 正大天虹方矩管鍍鋅方矩管材質書
- 妊娠劇吐伴酮癥護理查房課件
- 醫(yī)療碳中和方案
評論
0/150
提交評論