




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、-. z.計算機科學與技術學院畢業(yè)設計(論文)論文題目威客網(wǎng)的設計與實現(xiàn) 指導教師職 稱副教授學生學 號專 業(yè)班 級系 主 任院 長起止時間2013年10月11日至2014年5月23日2014年5月23日目 錄TOC o 1-3 h u HYPERLINK l _Toc18386 摘要i HYPERLINK l _Toc2401 Abstractii HYPERLINK l _Toc8322 第一章 緒論 PAGEREF _Toc8322 1 HYPERLINK l _Toc12644 1.1選題的背景 PAGEREF _Toc12644 1 HYPERLINK l _Toc32480 1.2
2、選題的研究意義 PAGEREF _Toc32480 2 HYPERLINK l _Toc19761 第二章 關鍵技術介紹 PAGEREF _Toc19761 1 HYPERLINK l _Toc22627 1.1 Java語言 PAGEREF _Toc22627 1 HYPERLINK l _Toc17678 1.2 Mysql PAGEREF _Toc17678 1 HYPERLINK l _Toc16951 1.4 Spring PAGEREF _Toc16951 2 HYPERLINK l _Toc30580 第三章 系統(tǒng)分析 PAGEREF _Toc30580 4 HYPERLINK
3、l _Toc12035 2.1 需求分析 PAGEREF _Toc12035 4 HYPERLINK l _Toc10802 2.2可行性分析 PAGEREF _Toc10802 4 HYPERLINK l _Toc7165 技術可行性 PAGEREF _Toc7165 4 HYPERLINK l _Toc454 2.2.2經濟可行性 PAGEREF _Toc454 5 HYPERLINK l _Toc12126 2.2.3操作可行性 PAGEREF _Toc12126 5 HYPERLINK l _Toc6251 2.3 系統(tǒng)開發(fā)與運行環(huán)境分析 PAGEREF _Toc6251 5 HYPE
4、RLINK l _Toc7094 第四章 系統(tǒng)設計 PAGEREF _Toc7094 6 HYPERLINK l _Toc23212 4.1 系統(tǒng)設計原則 PAGEREF _Toc23212 6 HYPERLINK l _Toc30391 4.2 功能模塊的劃分 PAGEREF _Toc30391 6 HYPERLINK l _Toc15741 4.3 威客網(wǎng)的任務發(fā)布流程 PAGEREF _Toc15741 8 HYPERLINK l _Toc26472 4.4 威客網(wǎng)的稿件提交流程 PAGEREF _Toc26472 8 HYPERLINK l _Toc16934 4.5 數(shù)據(jù)庫設計 PA
5、GEREF _Toc16934 9 HYPERLINK l _Toc28383 4.5.1系統(tǒng)E-R圖 PAGEREF _Toc28383 9 HYPERLINK l _Toc7816 4.5.2 數(shù)據(jù)庫邏輯構造設計 PAGEREF _Toc7816 10 HYPERLINK l _Toc26620 第五章 系統(tǒng)實現(xiàn) PAGEREF _Toc26620 13 HYPERLINK l _Toc21635 5.1 Spring與Hibernate的整合 PAGEREF _Toc21635 13 HYPERLINK l _Toc32180 5.2 Struts2、Spring與Hibernate的整
6、合 PAGEREF _Toc32180 14 HYPERLINK l _Toc6530 5.3 系統(tǒng)前臺主要功能模塊設計與實現(xiàn) PAGEREF _Toc6530 14 HYPERLINK l _Toc5352 5.3.1 任務實體類定義 PAGEREF _Toc5352 14 HYPERLINK l _Toc14201 5.3.2 稿件實體類定義 PAGEREF _Toc14201 17 HYPERLINK l _Toc19944 5.3.3 持久化操作默認實現(xiàn)類 PAGEREF _Toc19944 19 HYPERLINK l _Toc6883 5.3.4 威客主界面設計與實現(xiàn) PAGERE
7、F _Toc6883 22 HYPERLINK l _Toc8971 5.3.5 威客網(wǎng)用戶注冊設計與實現(xiàn) PAGEREF _Toc8971 22 HYPERLINK l _Toc7541 5.3.6 威客用戶登陸設計與實現(xiàn) PAGEREF _Toc7541 23 HYPERLINK l _Toc5380 5.3.7威客發(fā)布任務設計與實現(xiàn) PAGEREF _Toc5380 24 HYPERLINK l _Toc23458 5.3.8 威客任務大廳設計與實現(xiàn) PAGEREF _Toc23458 25 HYPERLINK l _Toc6872 5.3.9 威客用戶提交稿件設計與實現(xiàn) PAGEREF
8、 _Toc6872 26 HYPERLINK l _Toc4912 5.3.10任務詳細信息頁面設計與實現(xiàn) PAGEREF _Toc4912 27 HYPERLINK l _Toc31404 5.3.11 我的威客界面設計與實現(xiàn) PAGEREF _Toc31404 28 HYPERLINK l _Toc15201 5.3.12威客網(wǎng)名人殿堂設計與實現(xiàn) PAGEREF _Toc15201 28 HYPERLINK l _Toc6583 5.3.13 威客網(wǎng)幫助中心設計與實現(xiàn) PAGEREF _Toc6583 29 HYPERLINK l _Toc19331 5.4 系統(tǒng)后臺主要功能模塊設計與實現(xiàn)
9、 PAGEREF _Toc19331 31 HYPERLINK l _Toc1316 5.4.1后臺管理任務類別模塊設計與實現(xiàn) PAGEREF _Toc1316 31 HYPERLINK l _Toc2789 5.4.2 后臺管理所有任務模塊設計與實現(xiàn) PAGEREF _Toc2789 31 HYPERLINK l _Toc17064 5.4.3 后臺管理所有用戶模塊設計與實現(xiàn) PAGEREF _Toc17064 31 HYPERLINK l _Toc23932 5.4.4后臺管理系統(tǒng)公告模塊設計與實現(xiàn) PAGEREF _Toc23932 32 HYPERLINK l _Toc12051 5.
10、4.5 后臺管理幫助中心模塊設計與實現(xiàn) PAGEREF _Toc12051 33 HYPERLINK l _Toc23240 第六章 系統(tǒng)測試 PAGEREF _Toc23240 34 HYPERLINK l _Toc8746 6.1系統(tǒng)測試原則 PAGEREF _Toc8746 34 HYPERLINK l _Toc10417 6.2系統(tǒng)測試用例 PAGEREF _Toc10417 34 HYPERLINK l _Toc2695 6.2.1用戶注冊測試 PAGEREF _Toc2695 34 HYPERLINK l _Toc8818 6.2.2用戶登錄測試 PAGEREF _Toc8818
11、34 HYPERLINK l _Toc2395 6.2.3任務發(fā)布測試36 HYPERLINK l _Toc21460 6.2.4稿件提交測試376 HYPERLINK l _Toc5434 .2.5其他測試38 HYPERLINK l _Toc21317 總結與展望 PAGEREF _Toc21317 39 HYPERLINK l _Toc6536 參考文獻40 HYPERLINK l _Toc9312 辭42-. z.威客網(wǎng)的設計與實現(xiàn)摘要:威客是指在網(wǎng)絡時代憑借自己的能力智慧和創(chuàng)意,在互聯(lián)網(wǎng)上出售自己的富裕工作時間和勞動成果而獲得報酬的人;而威客類的出現(xiàn),為有知識生產加工能力的個人創(chuàng)造了
12、一個銷售知識產品的商業(yè)平臺和時機。此系統(tǒng)的設計正是為有需求或者有能力的的用戶提供一個實用的網(wǎng)絡效勞平臺,系統(tǒng)采用了B/S的模式,使用java語言技術,并結合了struts2、Spring、Hibernate框架技術,完成了一個根本滿足用戶需求的威客系統(tǒng),并且系統(tǒng)具有一定的穩(wěn)定性、平安性和拓展性。關鍵詞:威客網(wǎng);Java;Struts2;Spring;Hibernate-. z.Design and realization of Witkey netAbstract: Witkey is refers in the network era by virtue of their ability (
13、intelligence and creativity), to sell their rich working time and labor and get paid on the Internet; The emergence of Witkey website created a marketing knowledge products business platform and opportunity for the ability of knowledge production and processing of individual. Design of this system i
14、s for users with demand or have the ability to provide a practical network service platform, the system adopts B/S mode, use Java language technology, bined with the struts 2 framework, Spring, Hibernate, pleted a basic meet user requirements of system, and the system has certain stability, security
15、 and e*pansibility.Keywords: witkey net; Java; Struts2; Spring; Hibernate-. z.第一章 緒論隨著互聯(lián)網(wǎng)技術的不斷變革,電子商務已經得到的廣泛的推廣和極大的開展,相信在未來的一段時間里,會日趨成熟。不出家門,人們可以通過互聯(lián)網(wǎng)買到全世界各的的商品,商人可以通過互聯(lián)網(wǎng)電子商務的模式在網(wǎng)上進展商品營銷和推廣,增加商品的曝光率和品牌知名對的提升。同時,作為商家和生產廠家,可以以互聯(lián)網(wǎng)為平臺將產品推廣出去,擴大銷量,提升品牌知名度。使得人們的生活更加方便,更加有效率。但是商品指的并不僅僅市實體的產品,隨著電子商務的日漸成熟,無形
16、的商品也登上了舞臺。而威客這種新型電子商務模式的提出和開展,使得傳統(tǒng)電子商務模式中常被忽略的知識產權這種無形商品成為了與普通商品一樣可交易的產品。這種商業(yè)模式使得電子商業(yè)跨上了一個智慧交易的嶄新臺階,使得更多的知識分子能夠將自己的知識、技術、創(chuàng)意等等無形資產通過網(wǎng)絡轉化成有形的資產。1.1選題的背景威客網(wǎng)的出現(xiàn)是市場作用的表達,隨著一種新型的商品交換模式,威客隨著互聯(lián)網(wǎng)的開展而開展。從本世紀初,互聯(lián)網(wǎng)開場加速開展,各種創(chuàng)新型應用和互聯(lián)網(wǎng)新概念不斷出現(xiàn),搜索引擎、電子商務、博客、維基百科、RSS、3G、web2.0、長尾理論等。這些應用和概念與知識管理都有著或多或少的關系。隨著物聯(lián)網(wǎng)支付的誕生,
17、信息免費的時代就已經過去了。信息已經成為了一種有價值的商品,極大的增加了知識的創(chuàng)新和開展。利用這些理論成果對知識產權進展合理的管理。威客模式就在這種情況下誕生了,它是一種利用互聯(lián)網(wǎng)進展知識管理的網(wǎng)絡創(chuàng)新模式。最初的威客網(wǎng)簡單來說就是一個平臺,通過一種懸賞的模式,將任務發(fā)布出去,尋找適宜的人完成,一局部由工程完成者獲得,一局部由該平臺獲得。但是隨著時代的開展,威客網(wǎng)的模式也呈現(xiàn)多元化,有創(chuàng)意產品威客模式、勞務效勞威客模式、定向威客效勞模式和一對一直接雇傭模式、綜合性威客效勞模式。他們自身的定位不同,提供不同的模式的效勞體系?,F(xiàn)今主要的一些威客網(wǎng)友:一品威客網(wǎng)、西游記威客網(wǎng)、威客管家、云創(chuàng)意威客網(wǎng)
18、等。威客網(wǎng)的最初的形式是 Witkey和威客這兩個詞完全為中國首創(chuàng)。該概念最先由鋒在中國科學院研究生院提出。2005年,鋒開場建立威客網(wǎng)witkey 試圖將中國科學院的專家資源,科技成果與企業(yè)的科技難題對接起來。在建立的過程中,鋒發(fā)現(xiàn)通過互聯(lián)網(wǎng)解決問題并讓解決者獲取報酬是互聯(lián)網(wǎng)一個全新的領域,于是他開場通過邊實踐邊總結的方式對這個領域進展探討和研究,并因此提出威客理論。1.2選題的研究意義傳統(tǒng)的電子商務模式有淘寶,阿里巴巴,環(huán)球市場等,它們主要是將商品限定為有形商品在網(wǎng)絡中進展交易,或者是充值卡之類的半有形商品,卻很難對知識,創(chuàng)意的無形商品交易。然而,在日常生活中,經常會有一些自己難以解決的問
19、題,需要別人幫助解決,然而由于問題的復雜程度,無法找到免費的幫助。傳統(tǒng)情況下,只能夠尋找專門的運營機構例如點子公司、設計公司、文檔處理公司等等,這會造成大量的時間和資源的浪費,并且會降低工作效率。舉一個簡單的例子,假設一圖片,你需要進展處理,如果你拿到專門的公司里去設計,不僅收費貴,而且麻煩,但是在威客網(wǎng)上,只要發(fā)布任務,就有人自動找上來,而且價格有你來定。在威客模式下,用戶被分為兩種類別,一種是任務的發(fā)布者,一種是威客:它們在威客模式中,扮演著不同的角色和功能。任務的發(fā)布者,在網(wǎng)上發(fā)布一些自己無法解決的問題,根據(jù)問題的難易程度,提供相應的金額的賞金,一般來說,提供的賞金越高,越容易威客攻破。
20、網(wǎng)絡的廣泛性和賞金的吸引力會使得數(shù)量可觀的威客來為發(fā)布任務者提供不同的問題解決方案,這樣,發(fā)布者可以用等同或低于傳統(tǒng)渠道的金額換取大量不同的解決方案,并從中選取自己最滿意的解決方案。這樣極大的提高了工作效率,節(jié)省了大量的金錢和時間,并且由于網(wǎng)絡的特性,使得發(fā)布者可以更加方便的在家中解決大量問題。作為威客,可以在網(wǎng)絡上尋找自己最擅長的任務,將自己的知識、技術、創(chuàng)意等無形資產方便的轉換成金錢,相比傳統(tǒng)的方式進入專門提供解決方案的公司工作,威客方式更加靈活,更加自由,也更加方便快捷。同時,威客可以作為一種兼職工作,將生活中閑置的時間充分地利用起來,給自己帶來更多的財富。-. z.第二章 關鍵技術介紹
21、1.1 Java語言Java是一種可以撰寫跨平臺應用軟件的面向對象的程序設計語言,是由Sun Microsystems公司Java程序設計語言和Java平臺即JavaSE, JavaEE, JavaME的總稱。Java 技術具有卓越的通用性、高效性、平臺移植性和平安性,廣泛應用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學超級計算機、移動和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。1.2 MysqlMySQL是一個精巧的SQL數(shù)據(jù)庫管理系統(tǒng),雖然它不是開放源代碼的產品,但在*些情況下你可以自由使用。由于它的強大功能、靈活性、豐富
22、的應用編程接口(API)以及精巧的系統(tǒng)構造,受到了廣闊自由軟件愛好者甚至是商業(yè)軟件用戶的青睞,特別是與Apache和PHP/PERL結合,為建立基于數(shù)據(jù)庫的動態(tài)提供了強大動力。MySQL是一個真正的多用戶、多線程SQL數(shù)據(jù)庫效勞器。SQL(構造化查詢語言)是世界上最流行的和標準化的數(shù)據(jù)庫語言。MySQL是以一個客戶機/效勞器構造的實現(xiàn),它由一個效勞器守護程序mysqld和很多不同的客戶程序和庫組成。1.3 Struts2Struts2看似是從Struts1開展而來,但實際上Struts2與Struts1在框架的設計思想上面還是有很大的區(qū)別,Struts2是以WebWork的設計思想為核心,為什
23、么Struts2不沿用Struts1的設計思想,畢竟Struts1在目前的企業(yè)應用中還是有非常大的市場在的,則,來看下Struts1的一些缺點吧:1支持的表現(xiàn)層技術單一2與Servlet API嚴重耦合,這點可以從Action的E*ecute的方法聲明里面就可以看的出來3代碼依賴Struts1 API,有侵入性,這點可以從寫Action類和FormBean的時候看的出來,Action必須實現(xiàn)Struts的Action類而Struts2之所以以WebWork的設計思想為其核心,一點就是最近WebWork的上升勢頭,再就是WebWork沒有Struts1上面的那些缺點,更符合MVC的設計思想,也更
24、利于代碼的復用?;谝陨辖榻B可以看的出,Struts2體系構造與Struts1的體系構造有很大的差異,Struts1是使用ActionServlet做為其中心處理器,Struts2則使用一個攔截器FilterDispatcher做為其中心處理器,這樣做的一個好處就是將Action類和Servlet API進展了別離。Struts2的簡單處理流程如下:1瀏覽器發(fā)送請求2中心處理器根據(jù)struts.*ml文件查找對應的處理請求的Action類3WebWork的攔截器鏈自動對請求應用通用功能,例如:WorkFlow、Validation等功能4如果Struts.*ml文件中配置Method參數(shù),則調
25、用Method參數(shù)對應的Action類中的Method方法,否則調用通用的E*ecute方法來處理用戶請求5將Action類中的對應方法返回的結果響應給瀏覽器1.4 SpringSpring 是一個開源框架,是為了解決企業(yè)應用程序開發(fā)復雜性而創(chuàng)立的??蚣艿闹饕獌?yōu)勢之一就是其分層架構,分層架構允許您選擇使用哪一個組件,同時為 J2EE 應用程序開發(fā)提供集成的框架;Spring框架主要可以分為3個核心容:1、容器:核心容器提供 Spring 框架的根本功能。核心容器的主要組件是 BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory 使用控制反轉 IOC 模式將應用程序的配置和依賴性規(guī)
26、與實際的應用程序代碼分開。2、控制反轉IoC ,Inversion of Control:不創(chuàng)立對象,但是描述創(chuàng)立它們的方式。在代碼中不直接與對象和效勞連接,但在配置文件中描述哪一個組件需要哪一項效勞。容器 在 Spring 框架中是 IOC 容器 負責將這些聯(lián)系在一起。3、面向切面編程AOP ,Aspect-Oriented Programming:通過配置管理特性,Spring AOP 模塊直接將面向方面的編程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何對象支持 AOP。Spring AOP 模塊為基于 Spring 的應用程序中的對象提供了事務管
27、理效勞。通過使用 Spring AOP,不用依賴 E 組件,就可以將聲明性事務管理集成到應用程序中。1.5 HibernateHibernate是一個基于Java的開源的持久化中間件,對JDBC做了輕量的封裝。采用ORM映射機制,負責實現(xiàn)Java對象和關系數(shù)據(jù)庫之間的映射,把sql語句傳給數(shù)據(jù)庫,并且把數(shù)據(jù)庫返回的結果封裝成對象。部封裝了JDBC訪問數(shù)據(jù)庫的操作,向上層應用提供了面向對象的數(shù)據(jù)庫訪問API. 優(yōu)點:以對象的形式操作數(shù)據(jù),提高開發(fā)效率,不用關心數(shù)據(jù)庫種類換數(shù)據(jù)庫只要修改配值文件。-. z.第三章 系統(tǒng)分析2.1 需求分析通過對威客網(wǎng)工作流程的研究和分析,要求本系統(tǒng)應該具有以下功能
28、: 1、前臺功能1實現(xiàn)會員注冊、登陸系統(tǒng)的功能;2實現(xiàn)顯示所有發(fā)布的任務并可以進展篩選等功能;3實現(xiàn)管理任搜索并篩選的功能; 4實現(xiàn)會員可以發(fā)布任務的功能; 5實現(xiàn)會員可以提交任務稿件的功能; 6實現(xiàn)管理自身發(fā)布的任務和稿件等功能;7實現(xiàn)查看最新任務和高額任務等功能;8實現(xiàn)對用戶數(shù)據(jù)統(tǒng)計的功能;9實現(xiàn)顯示并查看系統(tǒng)公告和中標的功能;10實現(xiàn)威客幫助中心的功能。 2、后臺功能1實現(xiàn)管理任務類別的功能;2實現(xiàn)管理任務的功能;3實現(xiàn)管理會員的功能;4實現(xiàn)管理系統(tǒng)公告的功能;5實現(xiàn)管理幫助中心的功能;2.2可行性分析技術可行性本系統(tǒng)采用Windows *P作為操作平臺?;趈ava web技術,使用m
29、ysql數(shù)據(jù)庫,充分表達了網(wǎng)頁的動態(tài)管理與數(shù)據(jù)庫的連接,對數(shù)據(jù)庫的查詢、修改及其刪除。2.2.2經濟可行性威客模式的英文是witkey,寓意于是通過個人的智慧,知識,專業(yè)專長在互聯(lián)網(wǎng)上通過勞作轉化為實際收入的模式,威客模式認為人的智慧,知識,經歷可以通過互聯(lián)網(wǎng)轉化為商品,通過互動問答的方式,提供有效的信息,表達商品的價值。這種商品屬于電子商務中的信息商品的疇。2.2.3操作可行性 系統(tǒng)操作方式簡單,易于理解,營運環(huán)境要求低,不管是發(fā)布者和威客只需 要通過簡單的培訓即可操作。2.3 系統(tǒng)開發(fā)與運行環(huán)境分析 效勞器端的工作環(huán)境要求如下: 操作系統(tǒng):Windows *P或更高。本機是用Windows
30、 *P系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng):MySQL數(shù)據(jù)管理系統(tǒng),也可以采用其它數(shù)據(jù)系統(tǒng)。 Web效勞器:Tomcat。 客戶機的工作環(huán)境要求如下: 網(wǎng)頁瀏覽器:IE6及以上、360瀏覽器5.0以上以及其他瀏覽器-. z.第四章 系統(tǒng)設計4.1 系統(tǒng)設計原則 本系統(tǒng)的設計遵循以下設計原則: 1實用性:根據(jù)當代人的需求合理設計系統(tǒng)。 2可靠性:系統(tǒng)的軟件設計、數(shù)據(jù)庫設計和界面形式等各方面要詳細的考 慮,要做到可靠性,采用廣泛使用的成熟技術和產品,將故障率降至最 低。 3易管理性:系統(tǒng)管理員可以及時方便的對系統(tǒng)進展管理,具備對威客網(wǎng) 進展更新調整的能力。 4平安性:為了保障系統(tǒng)平穩(wěn)正常的運行,以及數(shù)據(jù)的完整性,
31、整個系統(tǒng) 必須有很好的平安性。 5友好性:系統(tǒng)界面要友好,操作上要求簡單方便,便于用戶掌握。 6可擴展性:采用開放的標準和接口,以便于系統(tǒng)后續(xù)的開展和功能上的擴大4.2 功能模塊的劃分工程整體模塊圖如下列圖4.1所示。威客系統(tǒng)威客系統(tǒng)后臺后臺管理登錄所有任務類別管理管理所有任務管理所有的注冊用戶管理系統(tǒng)公告管理幫助中心前臺用戶登錄注冊查看任務詳細發(fā)布懸賞任務參與任務提交稿件管理我的任務與稿件查看公告與幫助圖4.1 功能模塊構造圖1.用戶注冊登陸:是提供應沒有威客的網(wǎng)民注冊威客用戶和登陸平臺。2.查看任務詳細:提供應用戶查詢任務詳細容參與任務等功能的模塊。3.發(fā)布懸賞任務:發(fā)布者即為用戶在威客網(wǎng)
32、上發(fā)布任務,填寫任務具體的 容要求。4.參與任務提交:用戶登陸后,可以進入任務大廳或者通過搜索篩選自己感興趣的任務進展提交稿件方案。5.管理我的任務與稿件:提供應用戶管理自己發(fā)布的任務與提交的稿件。6.查看公告于幫助:提供應用戶查看系統(tǒng)和中標的公告和查看一些系統(tǒng)幫助。7.后臺登陸:管理員通過密鑰登陸后臺所經過的一個窗口。8.所有任務類別管理:管理員登陸后可以對任務的類別進展管理。9.管理所有任務:管理員登陸后可以對用戶發(fā)布的任務進展管理。10.管理所有的注冊用戶:管理員登陸后對所有的注冊用戶進展管理。11.管理系統(tǒng)公告:管理員登陸后對系統(tǒng)的公告進展管理。12.管理幫助中心:管理員登陸后對幫助中
33、心進展管理。4.3 威客網(wǎng)的任務發(fā)布流程1用戶注冊:不管是發(fā)布者還是威客都需要在威客主頁上有一個用戶名, 可以選擇注冊用戶,注冊一個新的威客會員,如果有則直接登 錄。2用戶登錄威客:用戶用所注冊的威客登錄威客系統(tǒng)。3填寫任務需求:在主界面選擇通過點擊懸賞按鈕發(fā)布懸賞任務,而后根 據(jù)表格的要求填寫,其中包括任務標題,任務類別,完畢時間,懸賞金 額,任務容等信息。4托管任務賞金:根據(jù)自己所填寫的任務金額,匯款至威客。5發(fā)布任務:托管賞金后,管理員通過審核將發(fā)布者的需求信息直接將用 戶的任務發(fā)布與威客首頁,供應廣闊網(wǎng)民查看和有意向的用戶參與 競標。威客任務發(fā)布流程如下列圖4.2所示:用戶登錄威客用戶
34、登錄威客填寫任務需求發(fā)布成功托管任務賞金用戶注冊圖4.2發(fā)布任務流程圖4.4 威客網(wǎng)的稿件提交流程注冊威客:在威客主頁選擇注冊用戶,注冊自己的威客會員,如果有 則直接登陸。登陸前方可競標。查看任務列表:登陸后,用戶在任務大廳查看任務列表,看是否有自己感 興趣的任務然后參與競標。參加任務:點擊自己想?yún)⒓拥娜蝿崭倶斯こ?,在該任務頁面點擊我要交 稿。4提交作品:根據(jù)表單容填寫自己參加任務所要提供的任務作品。5發(fā)布人選擇中標:在任務截止時間到期之前,任務發(fā)布人可以在眾多稿 件當中選擇自己最滿意的任務作品并宣告競標用戶中標。發(fā)布賞金:管理員根據(jù)中標用戶匯款項至中標用戶。任務競標流程圖如下列圖4.3所示:
35、注冊威客會員注冊威客會員查看任務列表參加任務發(fā)布賞金選擇中標提交作品圖4.3接取任務流程圖4.5 數(shù)據(jù)庫設計4.5.1系統(tǒng)E-R圖圖4.4 系統(tǒng)E-R圖1圖4.5 系統(tǒng)E-R圖2圖4.6 系統(tǒng)E-R圖34.5.2 數(shù)據(jù)庫邏輯構造設計本系統(tǒng)的數(shù)據(jù)庫管理系統(tǒng)采用MySQL,其數(shù)據(jù)庫名為vike。user圖書表。具體數(shù)據(jù)表構造如表4.1所示。表4、1 user數(shù)據(jù)表構造字段名字段含義數(shù)據(jù)類型主鍵允許空id用戶idint(11)userName用戶名varchar(25)passWord密碼varchar(25)e*perience經歷值int(11)balance賬戶余額doubleemailvar
36、char(25)assignment任務表。具體數(shù)據(jù)表構造如表4.2所示。表4.2 assignment數(shù)據(jù)表構造字段名字段名數(shù)據(jù)類型主鍵允許空id任務idint(11)categoryId所在類別idint(11)title任務標題varchar(25)detail詳細描述longte*tfileName附件文件名varchar(255)need需求個數(shù)int(11)續(xù)表4、2字段名字段名數(shù)據(jù)類型主鍵允許空pay賞金int(11)pubDate發(fā)布日期datetimeendDate截止日期datecontributionCount稿件個數(shù)int(11)currentNeed當前需求int(1
37、1)uid發(fā)布人idint(11)stauts任務狀態(tài)int(11)contribution稿件表。具體數(shù)據(jù)表構造如表4.3所示。表4.3 contribution數(shù)據(jù)表構造 字段名字段含義數(shù)據(jù)類型主鍵允許空id稿件idint(11)content稿件描述longte*tpicture稿件圖片varchar(60)fileName附件文件名varchar(255)hidden是否隱藏tinyint(1)pubDate發(fā)布日期datetimestatus稿件狀態(tài)int(11)passDate審核時間datetimeassignmentId所在任務idint(11)uid發(fā)布人idint(11)c
38、ategory任務類別表。具體數(shù)據(jù)表構造如表4.4所示。表4.4 category數(shù)據(jù)表構造字段名字段含義數(shù)據(jù)類型主鍵允許空categoryId 類別idint(11)categoryDescribe類別描述varchar(25)categoryName類別名稱varchar(25)parentCategoryId父類別idint(11)announcement系統(tǒng)公告表。具體數(shù)據(jù)表構造如表4.5所示。表4.5 announcement數(shù)據(jù)表構造字段名字段含義數(shù)據(jù)類型主鍵允許空id公告idint(11)title公告標題varchar(25)content公告容longte*tpubDate發(fā)
39、布日期datetimedatetmp截止日期表。具體數(shù)據(jù)表構造如表4.6所示。表4.6 datetmp數(shù)據(jù)表構造字段名字段含義數(shù)據(jù)類型主鍵允許空id 表idint(11)endDate任務截止日期dateassignmentId任務idint(11)problem幫助問題表。具體數(shù)據(jù)表構造如表4.7所示。表4.7 problem數(shù)據(jù)表構造字段名字段含義數(shù)據(jù)類型主鍵允許空id表idint(11)question問題描述varchar(25)answer問題答案longte*thelpful幫助個數(shù)int(11)type問題所在欄目int(11)manager管理員表。具體數(shù)據(jù)表構造如表4.8所示
40、。表4-8 manager數(shù)據(jù)表構造字段名字段含義數(shù)據(jù)類型主鍵允許空id管理員idint(11)name管理員名稱varchar(25)passWord管理員密碼varchar(25)grade管理員權限int(11)-. z.第五章 系統(tǒng)實現(xiàn)5.1 Spring與Hibernate的整合本系統(tǒng)使用的Spring版本為4.0.0,Hibernate版本為4.2.0。在Spring與Hibernate的整合中,主要把Hibernate的SessionFactory和事務管理交由Spring管理。所以,在spring4-config.*ml文件中的配置如下: .vike.model.User .v
41、ike.model.Manager .vike.model.Category .vike.model.Assignment .vike.model.Contribution .vike.model.DateTmp .vike.model.Announcement .vike.model.Problem hibernate.show_sql=true hibernate.format_sql=true hibernate.hbm2ddl.auto=select hibernate.connection.automit=true 此外,需要在Web容器本系統(tǒng)使用Tomcat效勞器啟動的時候加載Sp
42、ring。所以,還需要在web.*ml中進展如下配置:conte*tConfigLocationclasspath:spring-config.*ml5.2 Struts2、Spring與Hibernate的整合本系統(tǒng)使用的Struts2的版本為。Struts2與Spring整合,主要是把Struts2中的objectFactory指定為Spring,由Spring容器來管理Action的生命周期。把struts2-spring-plugin-.jar導入lib目錄即可。此外,需要在web.*ml中配置Struts2的過濾器,配置如下所示:struts2org.apache.struts2.d
43、ispatcher.ng.filter.StrutsPrepareAndE*ecuteFilterstruts2/*5.3 系統(tǒng)前臺主要功能模塊設計與實現(xiàn)5.3.1 任務實體類定義Entitypublicclass Assignment privateint id;privateint categoryId;private String title;private String detail;private String fileName;privateint pay;privateint need;private Date pubDate;private Date endDate;priva
44、te User user;privateint status; / 0未托管,1托管,2完畢privateint currentNeed;privateint contributionCount;private Set contributions;public Assignment() contributions = new HashSet();IdGeneratedValuepublicint getId() return id;publicvoid setId(int id) this.id = id;publicint getCategoryId() return categoryId;
45、publicvoid setCategoryId(int categoryId) this.categoryId = categoryId;public String getTitle() return title;publicvoid setTitle(String title) this.title = title;public String getDetail() return detail;publicvoid setDetail(String detail) this.detail = detail;public String getFileName() return fileNam
46、e;publicvoid setFileName(String fileName) this.fileName = fileName;publicint getPay() return pay;publicvoid setPay(int pay) this.pay = pay;publicint getNeed() return need;publicvoid setNeed(int need) this.need = need;public Date getPubDate() return pubDate;publicvoid setPubDate(Date pubDate) this.pu
47、bDate = pubDate;Temporal(TemporalType.DATE)public Date getEndDate() return endDate;publicvoid setEndDate(Date endDate) this.endDate = endDate;ManyToOne(fetch = FetchType.EAGER)JoinColumn(name = uid)public User getUser() return user;publicvoid setUser(User user) this.user = user;publicint getStatus()
48、 return status;publicvoid setStatus(int status) this.status = status;OneToMany(mappedBy = assignment, fetch = FetchType.LAZY, cascade = CascadeType.ALL )public Set getContributions() return contributions;publicvoid setContributions(Set contributions) this.contributions = contributions;publicint getC
49、urrentNeed() return currentNeed;publicvoid setCurrentNeed(int currentNeed) this.currentNeed = currentNeed;publicint getContributionCount() return contributionCount;publicvoid setContributionCount(int contributionCount) this.contributionCount = contributionCount;5.3.2 稿件實體類定義Entitypublicclass Contrib
50、ution privateint id;private String content;private String picture;private String fileName;private Date pubDate;private Date passDate;privateboolean hidden;privateint status; private Assignment assignment = new Assignment();private User user = new User();IdGeneratedValuepublicint getId() return id;pu
51、blicvoid setId(int id) this.id = id;public String getContent() return content;publicvoid setContent(String content) this.content = content;public String getPicture() return picture;publicvoid setPicture(String picture) this.picture = picture;public String getFileName() return fileName;publicvoid set
52、FileName(String fileName) this.fileName = fileName;public Date getPubDate() return pubDate;publicvoid setPubDate(Date pubDate) this.pubDate = pubDate;public Date getPassDate() return passDate;publicvoid setPassDate(Date passDate) this.passDate = passDate;publicboolean isHidden() return hidden;public
53、void setHidden(boolean hidden) this.hidden = hidden;publicint getStatus() return status;publicvoid setStatus(int status) this.status = status;ManyToOne(fetch = FetchType.EAGER)JoinColumn(name = assignmentId)public Assignment getAssignment() return assignment;publicvoid setAssignment(Assignment assig
54、nment) this.assignment = assignment;ManyToOne(fetch = FetchType.EAGER)JoinColumn(name = uid)public User getUser() return user;publicvoid setUser(User user) this.user = user;5.3.3 持久化操作默認實現(xiàn)類publicabstractclass DaoSupport implements BaseDaoprotected Class entityClass = GenericsUtils.getGenericType(thi
55、s.getClass();protected SessionFactory sessionFactory;public SessionFactory getSessionFactory() return sessionFactory; Resourcepublicvoid setSessionFactory(SessionFactory sessionFactory) this.sessionFactory = sessionFactory;publicvoid delete(Serializable. ids) for (Serializable id : ids) T t = (T) se
56、ssionFactory.getCurrentSession().load(this.entityClass, id);sessionFactory.getCurrentSession().delete(t);public T get(Serializable entityId) return (T) sessionFactory.getCurrentSession().get(this.entityClass, entityId);public T load(Serializable entityId) return (T) sessionFactory.getCurrentSession(
57、).load(this.entityClass, entityId);publicvoid save(Object obj) sessionFactory.getCurrentSession().save(obj);publicvoid saveOrUpdate(Object obj) sessionFactory.getCurrentSession().saveOrUpdate(obj);publicvoid update(Object obj) sessionFactory.getCurrentSession().update(obj);public Object uniqueResult
58、(String hql, Object queryParams) Query query = sessionFactory.getCurrentSession().createQuery(hql);setQueryParams(query, queryParams); return query.uniqueResult();protectedvoid setQueryParams(Query query, Object queryParams)if(queryParams!=null & queryParams.length0)for(int i=0; iqueryParams.length;
59、 i+)if (queryParamsi instanceof List) query.setParameterList(list,(List)queryParamsi);else query.setParameter(i, queryParamsi);public PageModel find(int pageNo, int ma*Result) return find(null, null, null, pageNo, ma*Result);public PageModel find(int pageNo, int ma*Result, String where,Object queryP
60、arams) return find(where, queryParams, null, pageNo, ma*Result);public PageModel find(int pageNo, int ma*Result,Map orderby) return find(null, null, orderby, pageNo, ma*Result);public PageModel find(String where, Object queryParams,Map orderby, int pageNo, int ma*Result) final PageModel pageModel =
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)殖雞鴨大棚租賃合同
- 合同之電動門購銷合同
- 農業(yè)合作發(fā)展種植合同
- 商場停車場租賃合同
- 個性化倉儲服務合同
- 房屋買賣居間合同
- 企業(yè)軍訓合同協(xié)議
- 轉讓展廳合同協(xié)議書模板
- 大棚轉讓協(xié)議合同
- 租房合同補償協(xié)議
- 姜文導演風格分析
- 2024年山東省青島市城陽區(qū)中考一模物理試題+
- FZT 73012-2017 文胸行業(yè)標準
- 醫(yī)療耗材采購工作總結
- 薄膜制備技術CVD課件
- 汽車振動學:基于MATLABSimulink的分析與實現(xiàn) 課件 第2章 汽車單自由度振動系統(tǒng)
- 家長進課堂-急救及醫(yī)學小常識
- 思想政治教育的研究方法
- 明亞保險經紀人考試題庫答案
- 2024屆高考英語閱讀理解命題說題課件
- 五星級物業(yè)標準
評論
0/150
提交評論