版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1 引言1.1系統(tǒng)背景和意義在如今網(wǎng)絡(luò)技術(shù)如此發(fā)達(dá)的時(shí)代,網(wǎng)站的重要性已經(jīng)是不言而喻。足球俱樂部網(wǎng)站是足球俱樂部的形象之一。足球俱樂部若想長久長遠(yuǎn)發(fā)展、做好宣傳,足球俱樂部網(wǎng)站是必須的一部分。好的網(wǎng)站可以為足球俱樂部贏得一個(gè)好的形象和口碑。足球俱樂部網(wǎng)站就是一個(gè)聯(lián)接足球俱樂部內(nèi)部和外部的網(wǎng)站,它可以為社會(huì)提供一個(gè)單一的了解足球俱樂部各種信息資源的入口,足球俱樂部的員工、客戶、合作伙伴等等都可以通過這個(gè)網(wǎng)站獲得個(gè)性化的信息和服務(wù)。足球俱樂部網(wǎng)站可以無縫地集成足球俱樂部的內(nèi)容、商務(wù)和社區(qū):首先,通過足球俱樂部網(wǎng)站,足球俱樂部能夠?qū)崟r(shí)動(dòng)態(tài)地發(fā)布關(guān)于足球俱樂部內(nèi)部和外部的各種信息。近年來,隨著網(wǎng)絡(luò)的普
2、及。人們獲取新聞及各種信息的途徑已不僅僅限于報(bào)紙,廣播等傳統(tǒng)媒體。人們開始越來越多地在網(wǎng)上查找自己感興趣的信息。由于網(wǎng)絡(luò)的即時(shí)性和更新速度快等優(yōu)點(diǎn),上網(wǎng)看新聞已經(jīng)成為人們獲取信息的主要途徑之一。由此各種類型的網(wǎng)站隨即出現(xiàn),大大地提高了人們獲取信息的速度,加大了信息交流的效率。結(jié)合整個(gè)課題設(shè)計(jì)的實(shí)踐過程,充分理解網(wǎng)頁開發(fā)技術(shù)和數(shù)據(jù)庫的基本知識,學(xué)習(xí)相關(guān)開發(fā)工具和應(yīng)用軟件,并熟悉網(wǎng)站建設(shè)的過程,熟練掌握網(wǎng)絡(luò)數(shù)據(jù)庫編程方法。足球俱樂部網(wǎng)站的建設(shè)最為重要的是長期的網(wǎng)站的維護(hù),而目前大多數(shù)網(wǎng)站的維護(hù)意識與當(dāng)初域名申請和網(wǎng)站開通時(shí)的超前意識相比卻顯得十分不足。許多新建立起網(wǎng)站后就在那里守株待兔了,既不管理
3、又不更新,這是錯(cuò)的。網(wǎng)站不及時(shí)更新,就不能正確反應(yīng)相關(guān)的信息,這樣宣傳的效果不能達(dá)到反而會(huì)給其本身形象帶來負(fù)面的影響。 其次一個(gè)好的足球俱樂部網(wǎng)站應(yīng)具備以下幾個(gè)內(nèi)容: 1)足球俱樂部網(wǎng)站架構(gòu)應(yīng)該是以足球俱樂部為核心的主題層次、內(nèi)容分類、頁面順序等所組成。由于每一個(gè)瀏覽者都可能成為足球俱樂部的客戶,網(wǎng)站的主題應(yīng)突出對足球俱樂部主題,這樣可以讓訪問者記憶深刻;而足球俱樂部規(guī)模、實(shí)力等方面的描述則只是對主題的烘托,由此決定了在內(nèi)容分類上應(yīng)加大主題內(nèi)容的渲染,在頁面順序上應(yīng)優(yōu)先考慮主題內(nèi)容的排列。 2)足球俱樂部網(wǎng)站另一個(gè)重要的作用就是體現(xiàn)出足球俱樂部精神、理念以及足球俱樂部文化,這些是足球俱樂部理念
4、中的組成部分,在網(wǎng)站的建設(shè)中該部分也應(yīng)該得到很好的體現(xiàn)。3)同時(shí),在策劃過程中還要兼顧足球俱樂部營銷理念和足球俱樂部未來的發(fā)展規(guī)劃。本課題的設(shè)計(jì),專門為足球俱樂部網(wǎng)站而設(shè)計(jì)的。1.2現(xiàn)狀國內(nèi)外網(wǎng)站的建設(shè)也進(jìn)入高速發(fā)展時(shí)期,就信息內(nèi)容的組成看,大部分網(wǎng)站內(nèi)容豐富,為外界了解自身動(dòng)態(tài)的一種的捷徑。信息化帶來的最為直觀、也是最有說服力的經(jīng)濟(jì)效果是它對國民經(jīng)濟(jì)的發(fā)展起到了舉足輕重的推動(dòng)作用。美國就是一個(gè)最為明顯的例子。由于在上世紀(jì)80年代末對信息技術(shù)進(jìn)行了大規(guī)模和普遍的投入.美國90年代實(shí)現(xiàn)了被稱為“新經(jīng)濟(jì)”的長達(dá)十年的經(jīng)濟(jì)快速增長。信息技術(shù)行業(yè)在美國經(jīng)濟(jì)中所占的比例從1990年的58上升到2000年
5、的83。90年代后期.美國約三分之一的經(jīng)濟(jì)增長來自信息化的拉動(dòng).超過其他任何行業(yè)的拉動(dòng)作用。 在利用信息化手段改變傳統(tǒng)經(jīng)營模式方面.發(fā)達(dá)國家的企業(yè)更是取得了突破性的進(jìn)展.對于企業(yè)的發(fā)展起到了至關(guān)重要的作用。例如在美國.福特汽車公司通過網(wǎng)上采購.使汽車零部件的采購成本下降了30.通用電氣公司借助供應(yīng)鏈管理手段.2000年節(jié)省成本16億美元;美國的飛利浦莫利斯公司應(yīng)用客戶關(guān)系管理系統(tǒng).建立了擁有26億煙民的個(gè)人檔案.卡夫通用食品公司建立了3000萬顧客的個(gè)人檔案.布洛克巴斯特公司建立了3600萬個(gè)家庭的娛樂消費(fèi)檔案。隨后開展了以互聯(lián)網(wǎng)應(yīng)用為主要內(nèi)容的企業(yè)信息化時(shí)代.90年代后期.ERP(企業(yè)資源計(jì)
6、劃)的網(wǎng)絡(luò)功能增強(qiáng).在世界500強(qiáng)企業(yè)中有近80的企業(yè)采用了ERP管理軟件6。 目前信息化已經(jīng)將企業(yè)帶入了網(wǎng)絡(luò)經(jīng)濟(jì)時(shí)代.門戶網(wǎng)站成為現(xiàn)代企業(yè)信息化的一大熱點(diǎn)手段。相關(guān)數(shù)據(jù)顯示.1998年電子商務(wù)全球營業(yè)額約740億美元.到1999年猛增到2000億美元。美國在1997年到2001年5年間的門戶網(wǎng)站年均增長率達(dá)到了97.從原來的24億美元激增至721億美元。據(jù)統(tǒng)計(jì).美國企業(yè)信息化已進(jìn)入比較高級的階段.60的小企業(yè)、80的中型企業(yè)、90以上的大企業(yè)已借助互聯(lián)網(wǎng)廣泛開展電子商務(wù)活動(dòng).其中B2B占電子商務(wù)總額的80以上。 相比之下.我國的網(wǎng)站效益不是特別大,但是也是處在了時(shí)代的新形勢下,各方面都在迅速
7、發(fā)展,足球俱樂部網(wǎng)站的建設(shè)應(yīng)該緊跟時(shí)代的步伐,走出自己的特色。因此,足球俱樂部網(wǎng)站的建設(shè)是形勢所趨,走出自己的特色,成就不一樣的俱樂部。1.3 開發(fā)工具及環(huán)境介紹1.3.1 Java技術(shù)在豐富的開發(fā)語言種類中,Java是一個(gè)非常理想的選擇。Java分為三個(gè)體系JavaSE(J2SE)(Java2 Platform Standard Edition,java平臺標(biāo)準(zhǔn)版),JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版),JavaME(J2ME)(Java 2 Platform Micro Edition,java平臺微型版)。J
8、ava與傳統(tǒng)程序不同,Sun Microsystems公司在推出 Java 之際就將其作為一種開放的技術(shù)。使得全球的Java公司在開發(fā)的關(guān)于Java程序都要做到了互相兼容?!癑ava 語言開發(fā)要靠大家努力而非個(gè)人、企業(yè)的力量”是Sun Microsystems的口號之一,并且得到了大多數(shù)軟件開發(fā)公司的認(rèn)可。這種模式和微軟公司所提倡的注重精英的模式和密封式的模式完全不同。Sun Microsystems公司對Java編程語言的官方詮釋是:Java 編程語言是個(gè)簡單、面向?qū)ο?、健壯、解釋性、分布式、安全與系統(tǒng)無關(guān)、高性能、可移植、多線程和動(dòng)態(tài)的語言。Java編程語言的風(fēng)格非常的接近C語言、C+語言
9、。Java語言的設(shè)計(jì)核心是面向?qū)ο蟮木幊陶Z言,它繼承了C+語言面向?qū)ο蠹夹g(shù)的核心。Java的進(jìn)步是其沒有像C語言那樣,容易由于指針引起錯(cuò)誤、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java 1.5之后的版本中,Java 又引入了類型安全的枚舉、泛型編程(Generic Programming)、自動(dòng)裝/拆箱和不等長參數(shù)等等語言特性。Java的優(yōu)勢:此開發(fā)語言非常適合集體開發(fā),軟件工程可以相對做到一定的標(biāo)準(zhǔn)化。由于其本身的極度嚴(yán)格語法的特點(diǎn),因此Java
10、語言無法寫出結(jié)構(gòu)雜亂無章的程序。這樣將迫使程序員的軟件代碼、軟件結(jié)構(gòu)的一致性、規(guī)范性。這是其很難比擬的優(yōu)勢。Java的劣勢:j2ee的架構(gòu)相對完善,第一版軟件雖然可以做滿意,但是很不適合互聯(lián)網(wǎng)模式的持續(xù)不斷修改。互聯(lián)網(wǎng)軟件工程管理上的不好的地方,不斷的修補(bǔ)就會(huì)導(dǎo)致軟件框架的破壞。1.3.2 My EclipseMy Eclipse的功能是非常的強(qiáng)大,支持產(chǎn)品也十分豐富,特別是對各種開源產(chǎn)品的支持做的是相當(dāng)好。My Eclipse 是一個(gè)非常好的用于開發(fā)Java、 J2EE的 Eclipse插件集合工具。 My Eclipse目前支持Java,AJAX, JSP, Struts,Spring,
11、Hibernate, JDBC數(shù)據(jù)庫鏈接工具等多項(xiàng)功能。換句話說My Eclipse是幾乎包括了目前所有流行的開源產(chǎn)品的開發(fā)工具。My Eclipse是對Eclipse IDE的擴(kuò)展,使用其我們可以在數(shù)據(jù)庫和Java Web的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是一款功能豐富的Java Web集成的開發(fā)環(huán)境,包括了完整齊全的編碼、測試和調(diào)試等功能,完全支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。1.3.3 MySQLMySQL(通常被讀作My-SEQuel)是一個(gè)開放源碼的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng)。原開發(fā)者為瑞
12、典的MySQL AB公司,該公司在2008年被升陽微系統(tǒng)(Sun Microsystems)收購。甲骨文公司(Oracle)2009年收購升陽微系統(tǒng)公司,MySQL成為Oracle旗下產(chǎn)品。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。MySQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積
13、小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。MySQL特性:1)、使用C和C+編寫,并使用了多種編譯器進(jìn)行測試,保證源代碼的可移植性。2)、支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統(tǒng)。3)、為多種編程語言提供了API。這些編程語言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4)、支持多線程,充分利用CPU資源。5)、優(yōu)化的SQL查詢算法,有
14、效地提高查詢速度。6)、既能夠作為一個(gè)單獨(dú)的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中。7)、提供多語言支持,常見的編碼如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。8)、提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫連接途徑。9)、提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。10)、支持大型的數(shù)據(jù)庫??梢蕴幚頁碛猩锨f條記錄的大型數(shù)據(jù)庫。11)、支持多種存儲(chǔ)引擎。1.3.4 Tomcat服務(wù)器技術(shù)開發(fā)者熱愛的服務(wù)器Tomcat,其是款免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,且屬于輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)
15、訪問用戶不是很多的場合下常常被使用,是開發(fā)和調(diào)試JSP 程序的首選。并且作為一個(gè)開發(fā)者,他們可以這樣考慮,當(dāng)在一臺服務(wù)器上配置好Apache 服務(wù)后,他們就可利用它響應(yīng)對HTML頁面的訪問請求。實(shí)際上,Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行它時(shí),它實(shí)際上是作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)在運(yùn)行的。Tomcat服務(wù)器很受廣大開發(fā)者的熱愛,因?yàn)樗鼣U(kuò)展性好,其運(yùn)行時(shí)占用的系統(tǒng)資源要小,支持郵件服務(wù)與負(fù)載平衡等開發(fā)應(yīng)用常用的功能;而且它還在不斷的改進(jìn)和完善中,只要開發(fā)者對其有不同的需求,都可以更改使其功能滿足開發(fā)者的需要。2.系統(tǒng)需求分析一款實(shí)用的軟件就是
16、要能夠讓用戶得到很好的體驗(yàn),本系統(tǒng)開發(fā)就是本著這樣的目標(biāo),首先必須了解用戶真正的需要。做好一個(gè)強(qiáng)大的市場調(diào)查和合理的需求分析,在開發(fā)過程中多問自己一些“客戶需要什么”的問題。這些需求包括:(1)功能需求 a. 足球俱樂部網(wǎng)站 b.主要功能:賽事新聞管理、賽事活動(dòng)管理、用戶管理、賽事活動(dòng)評價(jià)管理等等。(2)性能需求:系統(tǒng)必須滿足的一些使用過程中要做到的技術(shù)目標(biāo),通常包括速度,安全性等方面的需求。(3)運(yùn)行需求:可以在Windows XP/Win7平臺上運(yùn)行,開發(fā)工具采用My Eclipse或是Eclipse, Java開發(fā)。(4) 技術(shù)需求:J2EE中三種框架Spring + Struts +H
17、ibernateSSH 在J2EE項(xiàng)目中表示了3種框架,即 Spring + Struts +Hibernate。 Struts對Model,View和Controller都提供了對應(yīng)的組件。Spring是一個(gè)輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。 Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,可以應(yīng)用在任何使用JDBC的場合,可以在Servlet/JSP的Web應(yīng)用中使用,也可以
18、在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。(一).Struts框架結(jié)構(gòu)如下圖: Struts對Model,View和Controller都提供了對應(yīng)的組件。在上圖中,ActionServlet,這個(gè)類是Struts的核心控制器,負(fù)責(zé)攔截來自用戶的請求。Action,這個(gè)類通常由用戶提供,該控制器負(fù)責(zé)接收來自ActionServlet的請求,并根據(jù)該請求調(diào)用模型的業(yè)務(wù)邏輯方法處理請求,并將處理結(jié)果返回給JSP頁面顯示。2.Model部分由ActionForm和JavaBean組成,其中ActionForm用于封裝用戶的請求參數(shù),封裝成ActionForm對象,該對象
19、被ActionServlet轉(zhuǎn)發(fā)給Action,Action根據(jù)ActionForm里面的請求參數(shù)處理用戶的請求。JavaBean則封裝了底層的業(yè)務(wù)邏輯,包括數(shù)據(jù)庫訪問等。3.View部分該部分采用JSP實(shí)現(xiàn)。Struts提供了豐富的標(biāo)簽庫,通過標(biāo)簽庫可以減少腳本的使用,自定義的標(biāo)簽庫可以實(shí)現(xiàn)與Model的有效交互,并增加了現(xiàn)實(shí)功能。對應(yīng)上圖的JSP部分。4.Controller組件Controller組件有兩個(gè)部分組成系統(tǒng)核心控制器,業(yè)務(wù)邏輯控制器。系統(tǒng)核心控制器,對應(yīng)上圖的ActionServlet。該控制器由Struts框架提供,繼承HttpServlet類,因此可以配置成標(biāo)注的Serv
20、let。該控制器負(fù)責(zé)攔截所有的HTTP請求,然后根據(jù)用戶請求決定是否要轉(zhuǎn)給業(yè)務(wù)邏輯控制器。業(yè)務(wù)邏輯控制器,負(fù)責(zé)處理用戶請求,本身不具備處理能力,而是調(diào)用Model來完成處理。對應(yīng)Action部分。(二).Spring 1.簡介目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能范圍:任何Java應(yīng)用簡單來說,Spring是一個(gè)輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。2.輕量從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的
21、。此外,Spring是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。3.控制反轉(zhuǎn)Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個(gè)對象依賴的其它對象會(huì)通過被動(dòng)的方式傳遞進(jìn)來,而不是這個(gè)對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反不是對象從容器中查找依賴,而是容器在對象初始化時(shí)不等對象請求就主動(dòng)將依賴傳遞給它。4.面向切面Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(jì)(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實(shí)現(xiàn)它們應(yīng)該做的完成業(yè)務(wù)邏
22、輯僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點(diǎn),例如日志或事務(wù)支持。5.容器Spring包含并管理應(yīng)用對象的配置和生命周期,在這個(gè)意義上它是一種容器,你可以配置你的每個(gè)bean如何被創(chuàng)建基于一個(gè)可配置原型(prototype),你的bean可以創(chuàng)建一個(gè)單獨(dú)的實(shí)例或者每次需要時(shí)都生成一個(gè)新的實(shí)例以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。6.框架Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring中,應(yīng)用對象被聲明式地組合,典型地是在一個(gè)XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持
23、久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。(三)Hibernate簡介Hibernate是一個(gè)開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Hi
24、bernate的核心接口一共有5個(gè),分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個(gè)核心接口在任何開發(fā)中都會(huì)用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。下面對這五個(gè)核心接口分別加以介紹。1.Session接口Session接口負(fù)責(zé)執(zhí)行被持久化對象的CRUD操作(CRUD的任務(wù)是完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時(shí),Hibernate的session不同于JSP應(yīng)用中的HttpSession。這里當(dāng)使用session這個(gè)術(shù)語時(shí),
25、其實(shí)指的是Hibernate中的session,而以后會(huì)將HttpSesion對象稱為用戶session。2.SessionFactory接口SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲(chǔ)源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因?yàn)橐话闱闆r下,一個(gè)項(xiàng)目通常只需要一個(gè)SessionFactory就夠,當(dāng)需要操作多個(gè)數(shù)據(jù)庫時(shí),可以為每個(gè)數(shù)據(jù)庫指定一個(gè)SessionFactory。3.Configuration接口Configuration接口負(fù)責(zé)配置并啟動(dòng)Hibernate,創(chuàng)建Session
26、Factory對象。在Hibernate的啟動(dòng)的過程中,Configuration類的實(shí)例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。4.Transaction接口Transaction接口負(fù)責(zé)事務(wù)相關(guān)的操作。它是可選的,開發(fā)人員也可以設(shè)計(jì)編寫自己的底層事務(wù)處理代碼。5.Query和Criteria接口Query和Criteria接口負(fù)責(zé)執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或SQL語句兩種表達(dá)方式。3. 系統(tǒng)總體設(shè)計(jì)3.1系統(tǒng)功能結(jié)構(gòu)圖(1)功能結(jié)構(gòu)圖,如下圖3.1所示。圖3.1 系統(tǒng)功能模塊圖3.2數(shù)據(jù)庫設(shè)計(jì)1. 用戶信息表2. 新聞信息表4. 系統(tǒng)實(shí)現(xiàn)4.
27、1系統(tǒng)首頁 如果所示,是前臺顯示的界面,右上角的四個(gè)板塊,設(shè)為首頁,收藏本站,聯(lián)系我們,關(guān)于。點(diǎn)擊聯(lián)系我們可以進(jìn)入我網(wǎng)站留言界面。4.2賽事活動(dòng)瀏覽 該界面展示了網(wǎng)站上羅列的比賽,通過賽事查詢可以查到想看到的賽事的一切相關(guān)信息,進(jìn)入賽事后,可以評價(jià)賽事,可以查看賽事評價(jià)。4.3用戶注冊 注冊頁面,左側(cè)是用戶注冊時(shí)需要填寫的一些必要信息,右側(cè)是填寫信息的要求。4.4用戶登錄 用戶登錄界面,最上面是頁面圖片,下面用戶輸入用戶名和密碼就可以登錄到會(huì)員界面。4.5賽事新聞等等 此界面羅列了最新的賽事新聞資訊,詳細(xì)的賽事可以點(diǎn)擊進(jìn)入詳細(xì)觀看,而下面是網(wǎng)站的公告信息和友情鏈接。4.6新聞詳細(xì)4.7后臺管理
28、 用戶登錄后進(jìn)入后臺界面,羅列了用戶管理,公告管理,賽事新聞,友情鏈接管理,賽事管理,賽事評論管理幾項(xiàng)。4.8新聞管理 新聞管理模塊,里面羅列的新聞,在后臺可以對新聞進(jìn)行添加,修改,刪除一系列操作。4.9評論管理 評論管理,可以對賽事的評論進(jìn)行刪除操作4.10添加賽事 添加賽事,后臺進(jìn)行賽事的添加,以及賽事的詳細(xì)事宜。4.11賽事管理 賽事管理,對賽事的事宜進(jìn)行添加,刪除,修改,以便用戶更好的看賽事的相關(guān)信息。5.系統(tǒng)測試5.1什么是軟件測試軟件測試是在軟件投入運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明書和編碼的最終的復(fù)審,是軟件質(zhì)量保證的關(guān)鍵步驟。確切的說,軟件測試就是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行的過程。一
29、般分為兩個(gè)階段:1.單元測試:在編完一模塊后進(jìn)行測試;2.綜合測試:在開發(fā)完軟件后進(jìn)行綜合測試。5.2軟件測試的目標(biāo)與方法G.Myers給出了關(guān)于測試的一些規(guī)則,這些規(guī)則可以看作是測試的目標(biāo)或定義:1.測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程;2.好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試;3.成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。測試任何軟件都有兩種方法:黑盒測試和白盒測試法。黑盒測試法(又稱功能測試法)是把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程,是在程序接口進(jìn)行的測試,它只檢查程序功能是否按照規(guī)格說明書的規(guī)定正常使用。白盒測試法(又稱結(jié)構(gòu)測試法)是把程
30、序看成裝在一個(gè)透明的白盒子里,也就是完全了解程序的結(jié)構(gòu)和處理過程,這種方法按照程序內(nèi)部的邏輯測試程序,檢驗(yàn)程序中的每條通路是否都能按照預(yù)定要求正確工作。通過測試并不能證明程序就是完全正確的,但我們的目的就是要通過測試保證軟件的可靠性,因此,必須仔細(xì)設(shè)計(jì)測試方案,力爭用最少的測試發(fā)現(xiàn)盡可能多的錯(cuò)誤。5.3系統(tǒng)的不足和展望對于本次做的足球俱樂部網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)有很多的不足和不完善的地方。比如系統(tǒng)的有些功能操作不夠人性話。提示不夠準(zhǔn)確,對管理信息的設(shè)置很不完善等。6.系統(tǒng)總結(jié)6.1核心代碼6.1.1關(guān)于用戶核心代碼:public String create() userModel.setState(
31、"1");/1普通的會(huì)員 /0管理員userEbi.create(userModel);return SUCCESS;/登陸public String login()HttpServletRequest request = ServletActionContext.getRequest();HttpSession session = request.getSession(); String uid = request.getParameter("uid");String password = request.getParameter("pass
32、word");UserQueryModel qm = new UserQueryModel();qm.setUid(uid);qm.setPassword(password);int num = userEbi.getByConditionCount(qm);if(num>0)List<UserModel> list = userEbi.getByCondition(qm, 0, 20);String state = list.get(0).getState();String aduid = list.get(0).getUid();if(state.equals(
33、"1")session.setAttribute("useradmin", aduid); return "loginhou"else/System.out.println(list.get(0).getUid();session.setAttribute("useradmin", aduid); return "admin"elserequest.setAttribute("error", "用戶名或密碼不對");return "login&q
34、uot;/根據(jù)Id得到用戶信息去修改public String getUserById()HttpServletRequest request = ServletActionContext.getRequest();int id = Integer.parseInt(request.getParameter("id");UserQueryModel qm = new UserQueryModel();qm.setId(id);request.setAttribute("userupdate", userEbi.getByCondition(qm, 0,
35、20);return "byid"/刪除public String deletedById() HttpServletRequest request = ServletActionContext.getRequest();int id = Integer.parseInt(request.getParameter("id");userEbi.delete(id);return "delete"/得到public String getAll() HttpServletRequest request = ServletActionCont
36、ext.getRequest();List<UserModel> list = userEbi.getAll();for(int i = 0;i<list.size();i+)if(list.get(i).getState().equals("0")list.remove(i);request.setAttribute("usermodel", list);return "yuangong"Overridepublic UserModel getModel() return userModel;public Stri
37、ng update() userEbi.update(userModel);return "update"6.1.2首頁布局核心代碼<body onLoad="clockon(bgclock)"><table width="778" border="0" align="center" cellpadding="0" cellspacing="0" class="tableBorder"> <tr align
38、="center"> <td height="165" colspan="4"><jsp:include page="top.jsp"/></td> </tr> <tr align="center"> <td> <iframe src="product_getge" height="218px" width="100%" frameborder=&quo
39、t;0" scrolling="no"></iframe></td> </tr> <tr> <td><iframe src="news_getAllq" height="218px" width="100%" frameborder="0" scrolling="no"></iframe></td> </tr> <tr> <td>
40、<iframe src="link_getAllq" height="218px" width="100%" frameborder="0" scrolling="no"></iframe></td> </tr> <tr> <td colspan="4" align="center"><jsp:include page="bottom.jsp"/><
41、;/td> </tr></table></body>6.2程序中數(shù)據(jù)庫連接方式<hibernate-configuration><session-factory><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:/localhost/z
42、uqiujulebu_web</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">admin</property><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property&g
43、t;<property name="hibernate.show_sql">true</property><property name="hibernate.hbm2ddl.auto">update</property><!- -><mapping resource="com/allde/wo/user/model/UserModel.hbm.xml" /><mapping resource="com/allde/wo/product/model/
44、ProductModel.hbm.xml" /><mapping resource="com/allde/wo/link/model/LinkModel.hbm.xml" /><mapping resource="com/allde/wo/affiche/model/AfficheModel.hbm.xml" /><mapping resource="com/allde/wo/news/model/NewsModel.hbm.xml" /><mapping resource=&
45、quot;com/allde/wo/comment/model/CommentModel.hbm.xml" /><mapping resource="com/allde/wo/leave/model/LeaveModel.hbm.xml" /></session-factory></hibernate-configuration>6.3struts頁面跳轉(zhuǎn)核心配置<package name="myPackage" namespace="/" extends="stru
46、ts-default"><action name="user_*" class="com.allde.wo.user.action.UserAction"method="1"><result name="success">user_logons.jsp</result><result name="yuangong">manage_user.jsp</result><resultname="delete&q
47、uot; type="redirectAction">admin/user_getAll</result><resultname="update" type="redirectAction">admin/user_getAll</result><result name="byid">user_xiugai.jsp</result><result name="admin">admin/adminindex.jsp<
48、/result><result name="loginadmin">admin/adminindex.jsp</result><result name="login">user_logon.jsp</result><result name="loginhou">index.jsp</result></action><actionname="product_*" class="du
49、ct.action.ProductAction"method="1"><resultname="success" type="redirectAction">admin/product_getAll</result><result name="productall">manage_product.jsp</result><result name="productallq">list_softsort.jsp</re
50、sult><result name="productallg">produce.jsp</result><resultname="delete" type="redirectAction">admin/product_getAll</result><resultname="update" type="redirectAction">admin/product_getAll</result><result name
51、="byid">update_product.jsp</result><result name="xxid">info_product.jsp</result></action><action name="link_*" class="com.allde.wo.link.action.LinkAction"method="1"><resultname="success" type="redire
52、ctAction">admin/link_getAll</result><result name="linkall">manage_link.jsp</result><result name="linkallq">left.jsp</result><resultname="delete" type="redirectAction">admin/link_getAll</result><resultname=&q
53、uot;update" type="redirectAction">admin/link_getAll</result><result name="byid">update_link.jsp</result></action><actionname="affiche_*" class="com.allde.wo.affiche.action.AfficheAction"method="1"><resultname=
54、"success" type="redirectAction">admin/affiche_getAll</result><result name="afficheall">manage_affiche.jsp</result><resultname="delete" type="redirectAction">admin/affiche_getAll</result><resultname="update&quo
55、t; type="redirectAction">admin/affiche_getAll</result><result name="byid">update_affiche.jsp</result><result name="xxid">info_affiche.jsp</result></action><action name="news_*" class="com.allde.wo.news.action.News
56、Action"method="1"><resultname="success" type="redirectAction">admin/news_getAll</result><result name="newsalllist">list_new.jsp</result><result name="newsall">manage_news.jsp</result><result name="n
57、ewsallq">new.jsp</result><resultname="delete" type="redirectAction">admin/news_getAll</result><resultname="update" type="redirectAction">admin/news_getAll</result><result name="byid">update_news.jsp</res
58、ult><result name="xxid">info_news.jsp</result></action><actionname="comment_*" class="ment.action.CommentAction"method="1"><result name="success">comment_success.jsp</result><result name="pfaile">
59、;user_logon.jsp</result><result name="commentall">manage_comment.jsp</result><result name="commentp">product_pj.jsp</result><result name="chuanzhi">add_comment.jsp</result><resultname="delete" type="redirectAct
60、ion">admin/comment_getAll</result></action><action name="leave_*" class="com.allde.wo.leave.action.LeaveAction"method="1"><result name="success">leave_success.jsp</result><result name="leaveall">manage_leav
61、e.jsp</result><resultname="delete" type="redirectAction">admin/leave_getAll</result></action></package>6.4MyEclipse使用總結(jié)第一部分 My Eclipse的基本使用一提示:MyEclipse的透視圖按鈕:可以切換不同的透視圖(位于右上角)1.建立一個(gè)工程-Filenewproject-選項(xiàng)含有Java project,webproject等等輸入工程名字如myproject,其他可以
62、選擇默認(rèn)完成2.創(chuàng)建一個(gè)java文件-myproject右鍵new-Source Folder(還有class,package,F(xiàn)older等等)-名字如src以后可以將class文件放入其中,可以在src右鍵new-class創(chuàng)建Java文件注意:folder與Source Folder的區(qū)別 Source Folder:用于放置Java文件,可以自動(dòng)編譯,可以嵌套;Folder:是一般的文件夾,不可以編譯,要用到下面的生成源文件夾3運(yùn)行Java文件-選中Test右鍵run asJava Application 或者單擊工具欄按鈕(類似播放器開始按鈕)4.MyEclipse的自動(dòng)提示,自動(dòng)修正,自動(dòng)完成功能:黃色,紅色標(biāo)志提示(1)輸入部分字符,方法自動(dòng)生成(2)根據(jù)提示,導(dǎo)入相應(yīng)的包(3)提示清楚未使用的包(4)提示無用的方法,變量(5)自動(dòng)提示接口,抽象類的的方法以及重載注意:1 接口 例子:.public class Test implements Connection-就會(huì)在此行出現(xiàn)提示,單擊出現(xiàn)Add Unimplements Methods等等,單擊它自動(dòng)添加Connection中的方法。2抽象類 例子:.public class Test extends List-可以在List上右鍵sourceO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高效房地產(chǎn)經(jīng)紀(jì)服務(wù)協(xié)議示例
- 2024年融資中介服務(wù)協(xié)議范本
- 2024年二手車交易協(xié)議樣本
- 2024年商用司機(jī)短期租賃協(xié)議
- DB11∕T 1692-2019 城市樹木健康診斷技術(shù)規(guī)程
- DB11∕T 1699-2019 在用氨制冷壓力管道X射線數(shù)字成像檢測技術(shù)要求
- 2024年工程裝修全包服務(wù)協(xié)議細(xì)則
- 2024年離婚財(cái)產(chǎn)分割協(xié)議格式
- 2024年法律顧問聘請協(xié)議樣本
- 2024指定區(qū)域建筑工程修復(fù)施工協(xié)議
- 零部件英文縮寫及零部件中英文對照
- 血源性病原體職業(yè)接觸防護(hù)導(dǎo)則
- 煉鋼廠6機(jī)6流小方坯連鑄機(jī)技術(shù)操作規(guī)程
- 跌倒的護(hù)理 (養(yǎng)老護(hù)理員培訓(xùn)課件)
- 船舶租賃盡職調(diào)查
- 統(tǒng)編教學(xué)小學(xué)語文課外閱讀《細(xì)菌世界歷險(xiǎn)記》導(dǎo)讀課課件
- 植物生理學(xué)-植物的逆境生理
- 【課件】比的基本性質(zhì)
- 小學(xué)英語人教新起點(diǎn)五年級上冊Unit3Animalsunit3storytime
- 2023年江蘇省淮安市中考化學(xué)試卷
- 小學(xué)英語名師工作室工作計(jì)劃2篇
評論
0/150
提交評論