奧運專題網(wǎng)站設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第1頁
奧運專題網(wǎng)站設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第2頁
奧運專題網(wǎng)站設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第3頁
奧運專題網(wǎng)站設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第4頁
奧運專題網(wǎng)站設(shè)計與實現(xiàn)畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 奧運專題網(wǎng)站設(shè)計與實現(xiàn) 摘 要 近年來,Internet技術(shù)得到迅速的發(fā)展,已經(jīng)成為計算機產(chǎn)業(yè)的一個技術(shù)熱點。在Internet時代,傳統(tǒng)的電視直播或轉(zhuǎn)播的賽事已無法滿足體育愛好者,在網(wǎng)絡(luò)上獲知賽況或賽事信息成為了一種新的渠道。 促成Internet高速發(fā)展的因素之一就是Web技術(shù)。Web技術(shù)的發(fā)展使得那些具有交互動態(tài)頁面、有條理的數(shù)據(jù)庫查詢、豐富信息內(nèi)容的頁面成為最吸引人的網(wǎng)頁。瀏覽Web有著執(zhí)行Windows程序一樣的感覺和操作性。隨著Internet技術(shù)的發(fā)展,它已經(jīng)成為一種操作平臺,為用戶提供強大的服務(wù),例如網(wǎng)上購物,網(wǎng)上電子商務(wù),社會信息數(shù)據(jù)庫服務(wù)等。 那么體育事業(yè)也可以效仿這種方

2、式,在專門的奧運專題網(wǎng)站上發(fā)布信息,進行廣告合作,在網(wǎng)絡(luò)這種更加方便快捷的交互平臺上開拓廣闊的客戶渠道。同時也為體育愛好者們提供了一個良好的交流和探討的平臺。關(guān)鍵詞:奧運網(wǎng)站;Internet;體育 The Design and Achievement of A Special Website Dedicated OlympicsAbstract In recent years , Internet technology has been rapid development , has become a hot technology of the computer industry . In

3、the Internet era , the traditional live TV broadcast of the event or has been unable to meet the sports fans, informed ITF tournament information or to become a new channel on the web. One of the factors contributed to the rapid development of the Internet is the Web technology. Development of Web t

4、echnology makes those structured database query dynamic pages with interactive , rich content of web pages to be the most attractive . Browsing the Web has to run Windows programs like feel and operability. With the development of Internet technology, it has become a platform for users to provide po

5、werful services such as online shopping, online commerce, social information database services. So sports can also follow this way, information posted on a special website dedicated Olympics , advertising cooperate in such a network is more convenient and efficient platform to develop broad customer

6、 interaction channels . But also for sports enthusiasts to provide a good platform for exchange and discussion .Key words: Olympic site ; Internet; sports 目 錄摘要 iAbstract ii1 緒 論12 系統(tǒng)分析22.1 功能需求分析22.2 本系統(tǒng)采用的關(guān)鍵技術(shù)32.2.1 JSP技術(shù)32.2.2 JavaBean技術(shù)42.2.3 JDBC技術(shù)52.2.4 用JDBC訪問數(shù)據(jù)庫82.3 可行性分析102.4 系統(tǒng)運行環(huán)境103 系統(tǒng)概要

7、設(shè)計123.1 總體功能123.2 E-R圖134 系統(tǒng)詳細設(shè)計144.1 后臺數(shù)據(jù)庫設(shè)計144.1.1 Sqlserver 介紹144.1.2 數(shù)據(jù)庫SQL語句144.1.3 數(shù)據(jù)庫表結(jié)構(gòu)154.2 處理流程設(shè)計174.2.1 系統(tǒng)操作流程174.2.2 數(shù)據(jù)增加流程184.2.3 數(shù)據(jù)修改流程194.2.4 數(shù)據(jù)刪除流程204.3 網(wǎng)站首頁頁面設(shè)計214.4 系統(tǒng)模塊設(shè)計244.4.1 管理員登陸244.4.2 資訊管理264.4.3 過濾詞語管理285 系統(tǒng)調(diào)試與測試305.1 程序調(diào)試305.2 程序的測試305.2.1 測試的重要性及目的305.2.2 測試的步驟315.2.3 測試

8、的主要內(nèi)容316 結(jié)束語386.1 系統(tǒng)評價386.2 安全性問題38參考文獻41致 謝42外文文獻原文43中文翻譯對照521 緒 論作為計算機發(fā)展最迅速的領(lǐng)域之一的數(shù)據(jù)庫技術(shù),已經(jīng)形成了一整套獨有的理論,并廣泛地應(yīng)用于人們的生產(chǎn)和生活中。數(shù)據(jù)庫技術(shù)與網(wǎng)站的結(jié)合是當今Web技術(shù)的一個熱點。有了數(shù)據(jù)庫的支持,可以擴展網(wǎng)頁的功能,可以方便地設(shè)計出交互式頁面,可以構(gòu)造功能強大的后臺管理系統(tǒng),可以為網(wǎng)站的更新、維護提供極大的方便。因此,作為網(wǎng)絡(luò)開發(fā)者或管理者,數(shù)據(jù)庫知識是必不可少的。奧林匹克運動會(Olympic Games),簡稱奧運會或奧運,是國際奧林匹克委員會主辦的包含多種體育運動項目的國際性運

9、動會,每四年舉行一次。奧林匹克運動會最早起源于古希臘(公元前776年),因舉辦地在奧林匹亞而得名。1896年4月6日至4月15日,希臘雅典舉辦了第一屆現(xiàn)代奧運會。從1896年開始奧林匹克運動會每四年舉辦一次(曾在兩次世界大戰(zhàn)中中斷過三次,分別是在公元1916、1940和1944年),會期不超過16天。由于1924年開始設(shè)立了冬季奧林匹克運動會,因此奧林匹克運動會習慣上又稱為“夏季奧林匹克運動會”。隨著信息時代的沖擊,網(wǎng)絡(luò)越來越凸顯出它的重要地位,網(wǎng)絡(luò)給人們帶來了種種便利,給企業(yè)帶來了新的商機,通過網(wǎng)絡(luò)人們不僅更快的得到了所需要的最新資訊,為企業(yè)也帶來了更廣闊的市場。中國2008年成功舉辦奧運會

10、,中國人民乃至全世界人民對體育的熱情達到了前所未有的高漲。姚明,邵佳一,丁俊暉,劉翔在世界體壇的活躍讓全世界看到了中國體育的巨大飛躍,中國的體育在走向全世界。網(wǎng)站設(shè)計(Web Design),網(wǎng)站設(shè)計是一個把軟件需求轉(zhuǎn)換成用軟件網(wǎng)站表示的過程,就是指在因特網(wǎng)上,根據(jù)一定的規(guī)則,使用Dreamweaver、photoshop等工具制作的用于展示特定內(nèi)容的相關(guān)網(wǎng)頁的集合。簡單地說,網(wǎng)站是一種通訊工具,就像布告欄一樣,人們可以通過網(wǎng)站來發(fā)布自己想要公開的資訊(信息),或者利用網(wǎng)站來提供相關(guān)的網(wǎng)路服務(wù)(網(wǎng)絡(luò)服務(wù))。人們可以通過網(wǎng)頁瀏覽器來訪問網(wǎng)站,獲取自己需要的資訊(信息)或者享受網(wǎng)路服務(wù)。網(wǎng)站它是由

11、域名(俗稱網(wǎng)址),網(wǎng)站源程序和網(wǎng)站空間三部分構(gòu)成。其中域名它是類似于互聯(lián)網(wǎng)上的門牌號碼,是用于識別和定位互聯(lián)網(wǎng)上計算機的層次結(jié)構(gòu)式字符標識,與該計算機的互聯(lián)網(wǎng)協(xié)議(IP)地址相對應(yīng)。傳統(tǒng)體育事業(yè)借助互聯(lián)網(wǎng)進行營銷,對于拓寬傳統(tǒng)的經(jīng)營方式,提高競爭力有很大的意義。將體育賽事信息發(fā)布在網(wǎng)上以吸引體育愛好者的關(guān)注,借助網(wǎng)絡(luò)打造網(wǎng)站與體育愛好者的雙向互動平臺:網(wǎng)民不但可以通過網(wǎng)站下載體育賽事視頻,瀏覽體育賽事信息,還可以在網(wǎng)上看到關(guān)于經(jīng)典比賽或?qū)崟r賽況的各種評論。簡而言之,體育事業(yè)藉助奧運網(wǎng)站的專題進行營銷的好處具體表現(xiàn)在:1、吸引更多體育愛好者;2、迅速傳遞賽事信息;3、迅速反應(yīng)網(wǎng)民需求; 4、根據(jù)

12、點擊率,了解賽事動態(tài);5、能夠與眾多體育愛好者進行互動合理確定系統(tǒng)目標、組織系統(tǒng)以及遵循系統(tǒng)工程的開發(fā)步驟,成功的網(wǎng)站建設(shè)也應(yīng)該具備這些要素。網(wǎng)站建設(shè)得開發(fā)一般分為初步調(diào)查、總體方案設(shè)計、網(wǎng)站詳細設(shè)計,網(wǎng)站建設(shè)和后續(xù)建設(shè)五步。對于網(wǎng)站維護,管理以及更新,這都需要一些專業(yè)的人員做好。還有網(wǎng)絡(luò)的安全問題,這些都需要重視的,這些對于一個企業(yè)網(wǎng)站都是非常重要的。奧運專題網(wǎng)站的目的是為發(fā)展我國的全民體育事業(yè)為目的的,所以在網(wǎng)站的內(nèi)容方面不僅僅是對全世界其他體育強國的重要賽事做報道和分析,更主要的是為國內(nèi)的體育愛好者們提供相關(guān)資料的介紹,并提供一個平臺讓大家能夠交流工作當中的心得體會。 2 系統(tǒng)分析2.1

13、 功能需求分析系統(tǒng)分析的主要任務(wù)是將在系統(tǒng)詳細調(diào)查中所得到的文檔資料集中到一起,對組織內(nèi)部整體管理狀況和信息處理過程進行分析。它側(cè)重于從業(yè)務(wù)全過程的角度進行分析。分析的主要內(nèi)容是:業(yè)務(wù)和數(shù)據(jù)的流程是否通暢,是否合理;數(shù)據(jù)、業(yè)務(wù)過程和實現(xiàn)管理功能之間的關(guān)系;老系統(tǒng)管理模式改革和新系統(tǒng)管理方法的實現(xiàn)是否具有可行性等等。系統(tǒng)分析的目的是將用戶的需求及其解決方法確定下來,這些需要確定的結(jié)果包括:開發(fā)者關(guān)于現(xiàn)有組織管理狀況的了解;用戶對信息系統(tǒng)功能的需求;數(shù)據(jù)和業(yè)務(wù)流程;管理功能和管理數(shù)據(jù)指標體系;新系統(tǒng)擬改動和新增的管理模型等等。系統(tǒng)分析所確定的內(nèi)容是今后系統(tǒng)設(shè)計、系統(tǒng)實現(xiàn)的基礎(chǔ)。系統(tǒng)分析從系統(tǒng)需求入

14、手,從用戶觀點出發(fā)建立系統(tǒng)用戶模型。用戶模型從概念上全方位表達系統(tǒng)需求及系統(tǒng)與用戶的相互關(guān)系。系統(tǒng)分析在用戶模型的基礎(chǔ)上,建立適應(yīng)性強的獨立于系統(tǒng)實現(xiàn)環(huán)境的邏輯結(jié)構(gòu)。分析階段獨立于系統(tǒng)實現(xiàn)環(huán)境,可以保證建立起來的系統(tǒng)結(jié)構(gòu)具有相對的穩(wěn)定性,便于系統(tǒng)維護、移植或擴充。在系統(tǒng)分析階段,系統(tǒng)的邏輯結(jié)構(gòu)應(yīng)從以下三方面全面反映系統(tǒng)的功能與性能: (1)信息。完整描述系統(tǒng)中所處理的全部信息; (2)行為。完全描述系統(tǒng)狀態(tài)變化所需處理或功能; (3)表示。詳細描述系統(tǒng)的對外接口與界面。 本奧運專題網(wǎng)站的功能需求分析應(yīng)能夠達到以下效果。第一,開發(fā)實現(xiàn)奧運專題網(wǎng)站,能夠改變傳統(tǒng)觀看方式。隨著信息時代的到來,越來越

15、多的人們選擇在網(wǎng)上搜索賽事信息或者是在線觀看實時賽況。網(wǎng)站信息發(fā)布迅速,人們可以第一時間獲知新鮮資訊。體育主題網(wǎng)站在INTERNET的服務(wù)系統(tǒng)上,登陸的用戶可在網(wǎng)站中上傳獲下載文件,發(fā)布信息,進行評論留言;廣告合作企業(yè)可以向外宣傳企業(yè)的文化,產(chǎn)品信息,及新聞等方面的內(nèi)容。在網(wǎng)站上發(fā)布的信息較為詳細,利用網(wǎng)站圖文并茂的網(wǎng)頁形式進行宣傳,根據(jù)點擊率可以了解市場動態(tài),以利于合作企業(yè)的市場開拓。第二,網(wǎng)站建設(shè)推廣及廣告合作在網(wǎng)站上提高產(chǎn)品品牌的同時,更加宣傳了合作企業(yè)的產(chǎn)品,使其在網(wǎng)頁上的產(chǎn)品信息更加方便的傳達在全球的目標客戶群,在與體育主題網(wǎng)站進行廣告合作前的體育用品服裝企業(yè),產(chǎn)品銷售渠道受到了很大

16、的限制,完全是由銷售人員洽談業(yè)務(wù)來獲得客戶群體。而與網(wǎng)站進行廣告合作以及及時發(fā)布信息后獲得了更大的客戶群體,為企業(yè)的產(chǎn)品走上國際打下了堅實的基礎(chǔ),從而不斷提高產(chǎn)品的品牌形象。第三,網(wǎng)站建設(shè)通過Internet尋求合資,合作伙伴企業(yè)在尋求合資、合作伙伴中通過自身的網(wǎng)上形象以及在相關(guān)知名的BBS上發(fā)布信息以求目標對象獲得信息。利用Internet尋求商貿(mào)合資、合作伙伴具有很大的優(yōu)越性,并可有效的減少尋求目標對象的盲目性。本系統(tǒng)需要具有以下功能:(1)由于一項新的軟件在被使用之前,對于使用者來說是陌生和嶄新的,所以要求系統(tǒng)具有良好的人機界面。(2)能夠?qū)崿F(xiàn)體育信息發(fā)布的各項功能,能成功的對用戶各種信

17、息進行管理。(3)查詢、修改、刪除、添加數(shù)據(jù)方便,數(shù)據(jù)的穩(wěn)定性和可靠性好。系統(tǒng)采用B/S模式。整個系統(tǒng)最關(guān)鍵的就是數(shù)據(jù)庫系統(tǒng),一個強大的數(shù)據(jù)庫可以支持完善一個優(yōu)秀的軟件設(shè)計,通過軟件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的連接來實現(xiàn)通過軟件界面觀察和處理操作數(shù)據(jù)。如圖2-1所示。業(yè)務(wù)服務(wù)器數(shù)據(jù)庫服務(wù)器事務(wù)邏輯數(shù)據(jù)邏輯ClientBrowser表示邏輯Browser表示邏輯JSP網(wǎng)頁WWW服務(wù)器/業(yè)務(wù)邏輯服務(wù)器JavaBean組件中間件JDBC數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫SQL Server 圖2-1 系統(tǒng)模式圖系統(tǒng)采用三層結(jié)構(gòu),在客戶端用戶通過瀏覽器完成數(shù)據(jù)下載與模擬操作,瀏覽器端的表現(xiàn)邏輯通過JSP網(wǎng)頁完成。而系統(tǒng)內(nèi)部復(fù)雜

18、的業(yè)務(wù)邏輯主要通過JavaBean的組件(Component)實現(xiàn),JavaBean組件在WWW服務(wù)器上運行,通過JSP返回到客戶瀏覽器。通過表現(xiàn)邏輯與業(yè)務(wù)邏輯的分離,使網(wǎng)頁內(nèi)容簡潔,系統(tǒng)的可維護性和可擴充性增強。在服務(wù)器端,系統(tǒng)使用JDBC中間件訪問數(shù)據(jù)庫,數(shù)據(jù)庫服務(wù)器定義了本系統(tǒng)所需要的事務(wù)邏輯和數(shù)據(jù)邏輯。本系統(tǒng)使用JSP技術(shù)作為表現(xiàn)手段,服務(wù)器采用Tomcat 5.0.3作為JSP引擎,系統(tǒng)業(yè)務(wù)邏輯由JavaBean 組件完成,使用JDBC 3.0 驅(qū)動程序訪問數(shù)據(jù)庫。由于系統(tǒng)測試需要成熟的數(shù)據(jù)庫支持,因此系統(tǒng)采用SQL SERVER數(shù)據(jù)庫作為數(shù)據(jù)庫服務(wù)器。2.2 本系統(tǒng)采用的關(guān)鍵技術(shù)2

19、.2.1 JSP技術(shù)JSP是由Sun微系統(tǒng)公司于1999年6月推出的一項技術(shù),是基于JavaServlet以及整個Java體系的Web開發(fā)技術(shù),利用這一技術(shù)可以建立先進、安全和跨平臺的動態(tài)網(wǎng)站。JSP技術(shù)在多個方面加速了動態(tài)Web頁面的開發(fā)。與微軟公司的ASP技術(shù)相比,JSP具有如下優(yōu)點:(1) 開放的技術(shù):JSP技術(shù)基于平臺和服務(wù)器的相互獨立,技術(shù)支持來自廣泛的、專門的、各種工具包,有服務(wù)器的組件和數(shù)據(jù)庫產(chǎn)品開發(fā)商提供。相比之下,ASP技術(shù)主要依賴MICROSOFT支持。(2) 平臺和服務(wù)器的獨立性:JSP編寫的代碼可運行在任何符合JAVA語法結(jié)構(gòu)的環(huán)境中。這樣JSP就能夠運行在多種WEB服

20、務(wù)器上并支持來自多家開發(fā)商提供的各種工具包。(3) 開放的開發(fā)過程,開放的源碼:自1995年以來,SUN用開放過程方法同國際JAVA組織合作開發(fā)和修改JAVA技術(shù)和規(guī)范。(4) JSP標記可擴充性:JSP技術(shù)能夠為開發(fā)者擴展JSP標記,充分利用與XML兼容的標記技術(shù)強大的功能,大大減少對腳本語言的依賴。(5)JSP跨平臺的可重用性:JSP組件(EJB,JavaBean或定制的JSP標記)都是跨平臺可重用的。JSP是用來生成動態(tài)內(nèi)容的:根據(jù)用戶的輸入、日期和時間、外部系統(tǒng)的狀態(tài)或其他運行時的情況,內(nèi)容將有不同的變化。JSP為用戶提供了許多產(chǎn)生這些內(nèi)容的工具。如標準行為,自定義行為,JSP標準記憶

21、庫,JavaBeans和腳本元素。JavaBeans規(guī)范為應(yīng)被用作可組合式組件的Java類定義了一套編程約定。在外行看來,如果工具室根據(jù)這些約定開發(fā)的,那么即使工具沒有關(guān)于某類的內(nèi)部信息,也可以使用該類。例如,GUI構(gòu)建工具可以支持作為JavaBeans組件開發(fā)的窗口小部件。JavaBeans組件,或者就簡稱為bean,在JSP中通常用作網(wǎng)頁中顯示的動態(tài)內(nèi)容的容器。它一般表示某些特定的東西,比如一個人,一件產(chǎn)品或一份采購訂單等。當JSP與servlet組合起來使用時,bean可以由servlet用數(shù)據(jù)創(chuàng)建和初始化,并傳遞給僅僅將bean的數(shù)據(jù)添加到應(yīng)答中的JSP頁面。但是即使在純JSP應(yīng)用程序

22、中,bean也是很有用的工具。例如用于捕獲和驗證用戶輸入。程序員必須開發(fā)bean,然后沒有編程經(jīng)驗的人可以再JSP頁面中使用它。JSP定義了許多使用bean的標準行為,而且JSTL表達式語言將bean作為表達式中的變量。我們進一步了解什么是bean,以及它是如何在頁面中生成動態(tài)內(nèi)容的。到目前為止,我們介紹了JSP的基礎(chǔ)(也就是頁面的主要部分以及頁面的安裝和執(zhí)行)和如何使用bean將內(nèi)容動態(tài)地添加到頁面中。在開始使用真正的應(yīng)用程序之前,先來了解JSP的另一個基礎(chǔ)特性:自定義標記庫。正是自定義標記庫使JSP變得更強大。自定義標記庫令網(wǎng)頁設(shè)計師可以使用熟悉的類似HTML的元素在頁面中嵌入許多邏輯。如

23、何安裝和使用自定義標記庫,以及JSTL有何作用很關(guān)鍵。在現(xiàn)代網(wǎng)頁中用戶輸入是必不可少的。大多數(shù)動態(tài)網(wǎng)站都根據(jù)用戶通過HTML表單提交的輸入來產(chǎn)生網(wǎng)頁。不幸的是,用戶很少完全按照所要求的格式輸入信息,所以在使用這樣的輸入之前,可能要對其進行驗證,確保其可用性。2.2.2 JavaBean技術(shù)JSP作為一個很好的動態(tài)網(wǎng)站開發(fā)語言得到了越來越廣泛的應(yīng)用,在各類JSP應(yīng)用程序中,JSP + JavaBean的組合成為了一種事實上最常見的JSP程序的標準. JavaBean是描述Java的軟件組件模型,有點類似于Microsoft的COM組件概念。在Java模型中,通過JavaBean可以無限擴充Jav

24、a程序的功能,通過JavaBean的組合可以快速的生成新的應(yīng)用程序。對于程序員來說,最好的一點就是JavaBean可以實現(xiàn)代碼的重復(fù)利用,另外對于程序的易維護性等等也有很重大的意義。JavaBean通過Java虛擬機(Java Virtual Machine)可以得到正確的執(zhí)行,具有平臺無關(guān)性。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對象進行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對象。用戶可以認為JavaBean提供了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何

25、改變。JavaBean可分為兩種:一種是有用戶界面(UI,User Interface)的JavaBean;還有一種是沒有用戶界面,主要負責處理事務(wù)(如數(shù)據(jù)運算,操縱數(shù)據(jù)庫)的JavaBean。JSP通常訪問的是后一種JavaBean。一個JavaBean有三個部分組成:(1)屬性(Property)Bean的屬性就是對象的屬性,但提供了屬性讀取和設(shè)置的接口支持。例如一個時鐘Bean可以有時區(qū)和鎮(zhèn)鈴屬性,日歷Bean可以有年份和月份屬性。每個屬性通常遵守簡單的方法命名規(guī)則。這樣可以很方便的找出Bean提供的屬性,然后查詢屬性值或改變屬性值,對Bean進行操作。(2)方法(Method)由于Be

26、an本身是Java對象,調(diào)用這個對象的方法是與其交互作用的唯一途徑。JavaBean嚴格遵守面向?qū)ο蟮念愒O(shè)計邏輯,不讓外界訪問其任何實例字段(沒有Public字段)。這樣,方法調(diào)用的是接觸Bean的唯一途徑。(3)事件(Event)Bean與其他軟件組件交流信息的主要方式是發(fā)送和接收事件。這與對象之間通過消息通信類似。JavaBean傳統(tǒng)的應(yīng)用在于可視化的領(lǐng)域,如AWT下的應(yīng)用。自從JSP誕生后,JavaBean更多的應(yīng)用在非可視化領(lǐng)域,在服務(wù)器端應(yīng)用方面表現(xiàn)出來了越來越強的生命力。利用非可視化JavaBean, 來封裝事務(wù)邏輯、數(shù)據(jù)庫操作等等,可以很好地實現(xiàn)業(yè)務(wù)邏輯和前臺程序(如JSP)的分

27、離,使得系統(tǒng)具有更好的健壯性和靈活性。2.2.3 JDBC技術(shù)JDBC是Java的開發(fā)者Sun的JavaSoft公司制定的Java數(shù)據(jù)庫連接JavaDataBaseConnectivity技術(shù)的簡稱,是為各種常用數(shù)據(jù)庫提供無縫聯(lián)接的技術(shù)。JDBC在Web和Internet應(yīng)用程序中的作用和ODBC在Windows系列平臺應(yīng)用程序中的作用類似。JDBC有一個非常獨特的動態(tài)連接結(jié)構(gòu),它使得系統(tǒng)模塊化。使用JDBC來完成對數(shù)據(jù)庫的訪問包括以下四個主要組件:Java的應(yīng)用程序、JDBC驅(qū)動器管理器、驅(qū)動器和數(shù)據(jù)源。簡單地說,JDBC能完成下列三件事: (1)同一個數(shù)據(jù)庫建立連接; (2)向數(shù)據(jù)庫發(fā)送S

28、QL語句; (3)處理數(shù)據(jù)庫返回的結(jié)果。JDBC是一種可用于執(zhí)行SQL語句的JavaAPI(ApplicationProgrammingInterface,應(yīng)用程序設(shè)計接口)。它由一些Java語言寫的類、界面組成。JDBC給數(shù)據(jù)庫應(yīng)用開發(fā)人員、數(shù)據(jù)庫前臺工具開發(fā)人員提供了一種標準的應(yīng)用程序設(shè)計接口,使開發(fā)人員可以用純Java語言編寫完整的數(shù)據(jù)庫應(yīng)用程序。 通過使用JDBC,開發(fā)人員可以很方便地將SQL語句傳送給幾乎任何一種數(shù)據(jù)庫。也就是說,開發(fā)人員可以不必寫一個程序訪問Sybase,寫另一個程序訪問Oracle,再寫一個程序訪問Microsoft的SQLServer。用JDBC寫的程序能夠自動

29、地將SQL語句傳送給相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。不但如此,使用Java編寫的應(yīng)用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上編寫不同的應(yīng)用。Java和JDBC的結(jié)合可以讓開發(fā)人員在開發(fā)數(shù)據(jù)庫應(yīng)用時真正實現(xiàn)“WriteOnce,RunEverywhere!” Java具有健壯、安全、易用等特性,而且支持自動網(wǎng)上下載,是一種很好的與數(shù)據(jù)庫線連接而使用的編程語言。它所需要的是Java應(yīng)用如何同各種各樣的數(shù)據(jù)庫連接,JDBC正是實現(xiàn)這種連接的關(guān)鍵。 JDBC擴展了Java的能力,如使用Java和JDBCAPI就可以公布一個Web頁,頁中帶有能訪問遠端數(shù)據(jù)庫的Applet?;蛘咂髽I(yè)可

30、以通過JDBC讓全部的職工(他們可以使用不同的操作系統(tǒng),如Windwos,Machintosh或UNIX)在Intranet上連接到幾個全球數(shù)據(jù)庫上,而這幾個全球數(shù)據(jù)庫可以是不相同的。JDBC常用接口:(1) Driver接口 每種數(shù)據(jù)庫的驅(qū)動程序都應(yīng)該提供一個實現(xiàn)java.sql.Driver接口的類,簡稱Driver類,在加載某一驅(qū)動程序的Driver類時,應(yīng)該創(chuàng)建自己的實例并向java.sql.DriverManager類注冊該實例。 通常情況下通過java.lang.Class類的靜態(tài)方法forName(String className),加載欲連接數(shù)據(jù)庫的Driver類,該方法的入口

31、參數(shù)為欲加載Driver類的完整路徑。成功加載后,會將Driver類的實例注冊的DriverManager類中,如果加載失敗,將拋出ClassNotFoundException異常,即未找到指定Driver類的異常。 DriverManager類 java.sql.DriverManager類負責管理JDBC驅(qū)動程序的基本服務(wù),是JDBC的管理層,作用于用戶和驅(qū)動程 序之間,負責跟蹤可用的驅(qū)動程序,并在數(shù)據(jù)庫和驅(qū)動程序之間建立連接;另外,DriverManager類也處理諸如驅(qū)動程序登錄時間限制及登錄和跟蹤消息的顯示等工作。成功加載Driver類并在DriverManager類中注冊后,Dri

32、verManager類即可用來建立數(shù)據(jù)庫連接。 當調(diào)用DriverManager類的getConnection()方法請求建立數(shù)據(jù)庫連接時,DriverManager類將試圖定位一 個適當?shù)腄river類,并檢查定位到的Driver類是否可以建立連接,如果可以則建立連接并返回,如果不可以則拋出SQLException異常。DriverManager類的方法: (1) getConnection(String url, String user, String password) 為靜態(tài)方法,用來獲得數(shù)據(jù)庫連接,有3個入口參數(shù),依次為欲連接數(shù)據(jù)庫的URL、用戶名和密碼,返回值類型為java.sql

33、.Connection (2) setLoginTimeout(int seconds) 為靜態(tài)方法,用來設(shè)置每次等待建立數(shù)據(jù)庫連接的最長時間 (3) setLogWriter(java.io.PrintWriter out) 為靜態(tài)方法,用來設(shè)置日志的輸出對象 (4) println(String message) 為靜態(tài)方法,用來輸出指定消息到當前的JDBC日志流(2) Connection接口 java.sql.Connection接口代表與特定數(shù)據(jù)庫的連接,在連接的上下文中可以執(zhí)行SQL語句并返回結(jié)果,還可以通過getMetaData()方法獲得由數(shù)據(jù)庫提供的相關(guān)信息,例如數(shù)據(jù)表、存儲

34、過程和連接功能等信息常用方法: (1)createStatement() 創(chuàng)建并返回一個Statement實例,通常在執(zhí)行無參的SQL語句時創(chuàng)建該實例。 (2)prepareStatement() 創(chuàng)建并返回一個PreparedStatement實例,通常在執(zhí)行包含參數(shù)的SQL語句時創(chuàng)建該實例,并對SQL語句進行了預(yù)編譯處理。 (3)prepareCall() 創(chuàng)建并返回一個CallableStatement實例,通常在調(diào)用數(shù)據(jù)庫存儲過程時創(chuàng)建該實例。 (4).setAutoCommit() 設(shè)置當前Connection實例的自動提交模式。默認為true,即自動將更改同步到數(shù)據(jù)庫中;如果設(shè)為f

35、alse ,需要通過執(zhí)行commit()或rollback()方法手動將更改同步到數(shù)據(jù)庫中。 (5)getAutoCommit() 查看當前的Connection實例是否處于自動提交模式,如果是則返回true,否則返回false。 (6)setSavepoint() 在當前事務(wù)中創(chuàng)建并返回一個Savepoint實例,前提條件是當前的Connection實例不能處于自動提交模式,否則將拋出異常。 (7)releaseSavepoint() 從當前事務(wù)中移除指定的Savepoint實例 (8)setReadOnly() 設(shè)置當前Connection實例的讀取模式,默認為非只讀模式。不能在事務(wù)當中執(zhí)

36、行該操作,否則將拋出異 常。有一個boolean型的入口參數(shù),設(shè)為true則表示開啟只讀模式,設(shè)為false則表示關(guān)閉只讀模式 (9)isReadOnly() 查看當前的Connection實例是否為只讀模式,如果是則返回true,否則返回false (10)isClosed() 查看當前的Connection實例是否被關(guān)閉,如果被關(guān)閉則返回true,否則返回false (11)commit() 將從上一次提交或回滾以來進行的所有更改同步到數(shù)據(jù)庫,并釋放Connection實例當前擁有的所有數(shù)據(jù) 庫鎖定 (12)rollback() 取消當前事務(wù)中的所有更改,并釋放當前Connection實例

37、擁有的所有數(shù)據(jù)庫鎖定。該方法只能在非自動 提交模式下使用,如果在自動提交模式下執(zhí)行該方法,將拋出異常。有一個入口參數(shù)為Savepoint實例的 重載方法,用來取消Savepoint實例之后的所有更改,并釋放對應(yīng)的數(shù)據(jù)庫瑣定 (13)close() 立即釋放Connection實例占用的數(shù)據(jù)庫和JDBC資源,即關(guān)閉數(shù)據(jù)庫連接(3) Statement接口 java.sql.Statement接口用來執(zhí)行靜態(tài)的SQL語句,并返回執(zhí)行結(jié)果。例如,對于insert、update和 delete語句,調(diào)用executeUpdate(String sql)方法,而select語句則調(diào)用executeQue

38、ry(String sql) 方法,并返回一個永遠不能為null的ResultSet實例。常用方法: (1)executeQuery(String sql) 執(zhí)行指定的靜態(tài)SELECT語句,并返回一個永遠不能為null的ResultSet實例 (2)executeUpdate(String sql) 執(zhí)行指定的靜態(tài)INSERT、UPDATE或DELETE語句,并返回一個int型數(shù)值,為同步更新記錄的條數(shù) (3)clearBatch() 清除位于Batch中的所有SQL語句。如果驅(qū)動程序不支持批量處理將拋出異常 (4)addBatch(String sql) 將指定的SQL命令添加到Batch中

39、。String型入口參數(shù)通常為靜態(tài)的INSERT或UPDATE語句。如果驅(qū)動程序 不支持批量處理將拋出異常 (5)executeBatch() 執(zhí)行Batch中的所有SQL語句,如果全部執(zhí)行成功,則返回由更新計數(shù)組成的數(shù)組,數(shù)組元素的排序與SQL 語句的添加順序?qū)?yīng)。數(shù)組元素有以下幾種情況:大于或等于零的數(shù):說明SQL語句執(zhí)行成功,為影響 數(shù)據(jù)庫中行數(shù)的更新計數(shù);-2:說明SQL語句執(zhí)行成功,但未得到受影響的行數(shù)-3:說明SQL語句執(zhí) 行失敗,僅當執(zhí)行失敗后繼續(xù)執(zhí)行后面的SQL語句時出現(xiàn)。如果驅(qū)動程序不支持批量、或者未能成功執(zhí)行 Batch中的SQL語句之一,將拋出異常 (6)close()

40、立即釋放Statement實例占用的數(shù)據(jù)庫和JDBC資源(四)PreparedStatement接口 java.sql.PreparedStatement接口繼承并擴展了Statement接口,用來執(zhí)行動態(tài)的SQL語句,即包含參數(shù) 的SQL語句。通過PreparedStatement實例執(zhí)行的動態(tài)SQL語句,將被預(yù)編譯并保存到PreparedStatement 實例中,從而可以反復(fù)并且高效地執(zhí)行該SQL語句。 需要注意的是,在通過setXXX()方法為SQL語句中的參數(shù)賦值時,建議利用與參數(shù)類型匹配的方法,也可 以利用setObject()方法為各種類型的參數(shù)賦值。2.2.4 用JDBC訪問數(shù)

41、據(jù)庫所有的數(shù)據(jù)庫的對象和方法都在java.sql.* 里面,所以首先要import java.sql.*,要想連接數(shù)據(jù)庫,首先要將驅(qū)動程序調(diào)入。Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);這是JDBC-ODBC 的驅(qū)動程序。 要想連接一個指定的數(shù)據(jù)庫,必須創(chuàng)建Connection類的一個實例。 String url = jdbc:odbc:Grocery prices; Connection con = DriverManager.getConnection(url); 注意在此用到的數(shù)據(jù)庫名稱是在ODBC設(shè)置控制面板中輸入的數(shù)據(jù)資源名。URL語法對

42、于不同類型的數(shù)據(jù)庫會很不一樣。 語法是這樣的: jdbc:subprotocol:subname 開頭都是JDBC,后面是子協(xié)議,然后是ODBC名稱。 若要使用純JDBC驅(qū)動程序,必須安裝第三方軟件提供的驅(qū)動程序,一般在數(shù)據(jù)庫的官方網(wǎng)站上可以找到這里不做討論。本系統(tǒng)采用JDBC-ODBC的驅(qū)動程序連接數(shù)據(jù)庫,并使用JavaBean組件,有效的避免了代碼的重復(fù),具體過程如下:package exam; import java.sql.*; public class ExamBean String strDBDriver=sun.jdbc.odbc.JdbcOdbcDriver;/JDBC-ODB

43、C驅(qū)動程序 String strDBUrl=jdbc:odbc:exam; private Connection conn=null; private Statement stmt=null; ResultSet rs=null; / public ExamBean() try Class.forName(strDBDriver); /catch(java.lang.ClassNotFoundException e) System.err.println(exam():+e.getMessage(); /public ResultSet executeQuery(String sql) rs=

44、null; try conn=DriverManager.getConnection(strDBDriver);/創(chuàng)建數(shù)據(jù)庫連接對象 stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);/支持數(shù)據(jù)回滾 rs=stmt.executeQuery(sql); catch(SQLException ex) System.err.println(aq.executeQuery:+ex.getMessage(); return rs; / public void executeUpda

45、te(String sql) stmt=null; try conn=DriverManager.getConnection(strDBDriver); stmt=conn.createStatement(); stmt.executeUpdate(sql); stmt.close(); catch(SQLException ex) System.err.println(aq.executeQuery:+ex.getMessage(); / public void closeStmt() try stmt.close(); catch(SQLException e) e.printStackT

46、race(); public void closeConn() try conn.close(); catch(SQLException e) e.printStackTrace(); 2.3 可行性分析軟件可行性分析最根本的任務(wù)是對以后的行動方針提出建議。如果問題沒有可行的解釋,分析員應(yīng)該建議停止這項開發(fā)工程,以避免時間、資源、人力和金錢的浪費;如果問題值得解,分析員應(yīng)該推薦一個較好的解決方案,并且為工程制定一個初步的計劃。 軟件可行性分析的步驟1. 復(fù)查系統(tǒng)規(guī)模和目標2. 研究目前正在使用的系統(tǒng)3. 導(dǎo)出新系統(tǒng)的高層邏輯模型4. 重新定義問題5. 導(dǎo)出和評價供選擇的解法6. 推薦行動方針7

47、. 草擬開發(fā)計劃8. 書寫文檔提交審查本網(wǎng)站具體可行性分析如下:首先,技術(shù)可行性。本系統(tǒng)僅需要一臺裝有IE瀏覽器的計算機即可,對機器本身沒有太高的要求,一般當前學校或個人電腦完全可滿足要求。對于軟件技術(shù)要求,現(xiàn)在的程序設(shè)計語言已非常成熟,要運用HTML樣式,圖形圖象制作工具來制作生動活潑的網(wǎng)頁及美觀的圖形文件或動畫文件。其次,經(jīng)濟可行性。由于本系統(tǒng)是為發(fā)布體育信息使用的系統(tǒng),裝上該應(yīng)用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當系統(tǒng)投入運行后可以節(jié)約大量的人力,物力。所帶來的效益遠遠大于系統(tǒng)軟件的開發(fā)成本。在經(jīng)濟上完全可行。第三,操作可行性。界面設(shè)計時充分考慮管理人員的習慣,使得

48、操作簡單;數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準確;制表靈活;適應(yīng)力強;容易擴充。2.4 系統(tǒng)運行環(huán)境 服務(wù)起端的最低配置是由建立站點所需要的軟件來決定的,在最底配置的情況下,服務(wù)器的性能往往不進人意,現(xiàn)在硬件性能已經(jīng)相當出色,而且價格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能硬件。本機器的配置如下:處理器:Inter Pentium 41.6Hz或更高。內(nèi)存:512MB硬件空間:160GB題目主要采用的技術(shù)數(shù)據(jù)庫:Sqlserver5.0編程語言 JSP服務(wù)器:Tomcat5.5,jdk1.6開發(fā)環(huán)境:Windows7旗艦版3 系統(tǒng)概要設(shè)計3.1 總體功能 圖3-1 系統(tǒng)功能圖 本系統(tǒng)主要實現(xiàn)以下一

49、些基本功能:新聞發(fā)布:新聞發(fā)布系統(tǒng)主要是信息的發(fā)布與管理,涉及到前臺用戶對新聞信息的瀏覽和后臺新聞的管理兩大模塊。前臺頁面一般不需要用戶登錄注冊,也就是對所有用戶均開放,不做權(quán)限驗證,在前臺為了滿足用戶參與的需求,還需要添加新聞評論的功能,使得用戶可以對新聞信息發(fā)表自己的看法和意見。另外,為了獲得用戶對哪些方面的信息感興趣,還要在用戶單擊新聞瀏覽時自動統(tǒng)計新聞的瀏覽次數(shù),以供后臺展示熱點新聞信息的受歡迎程度。后臺管理方面,必須由合法的管理者來管理新聞的發(fā)布、修改、刪除等,我們要將新聞信息添加到數(shù)據(jù)庫,放置到指定的欄目下。為了使新聞?wù)故境鰜砭哂泻玫男Ч?,還需要對新聞進行排版、添加圖片及上傳附件等

50、。另外,新聞的發(fā)布難免會發(fā)生錯誤,由此還需要對新聞進行修改和刪除等。 系統(tǒng)采用了敏捷開發(fā)的思想,結(jié)合跨平臺的J2EE技術(shù)架構(gòu),數(shù)據(jù)庫采用了Sqlserver5.0,使得系統(tǒng)具有易用性、個性化、跨平臺等特點;同時又保證數(shù)據(jù)的安全、穩(wěn)定、快速和完整;使其運行得高速、安全、穩(wěn)定。3.2 E-R圖 本奧運專題網(wǎng)站設(shè)計的E-R圖,如圖3-2所示。 圖3-2 系統(tǒng)E-R圖 本奧運專題網(wǎng)站權(quán)限分為管理員與用戶兩種,管理員權(quán)限可以對網(wǎng)站公告,新聞資訊以及過濾詞語等的管理,而普通用戶只能對奧運網(wǎng)站發(fā)布的新聞資訊進行瀏覽與評論。4 系統(tǒng)詳細設(shè)計4.1 后臺數(shù)據(jù)庫設(shè)計4.1.1 Sqlserver 介紹SQL是英文

51、structured query language的縮寫,意思是結(jié)構(gòu)化查詢語言。SQL語言具有同各種數(shù)據(jù)庫建立聯(lián)系并能進行溝通的功能。按照ansi(美國國家標準協(xié)會)的規(guī)定,SQL是關(guān)系型數(shù)據(jù)庫系統(tǒng)的標準語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle, Sybase, Microsoft Sqlserver, Access等都采用了SQL語言標準。Sqlserver是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典Sqlserver AB公司開發(fā),目前屬于Oracle公司。數(shù)據(jù)庫關(guān)聯(lián)將數(shù)據(jù)存儲在不同的表里,而不

52、是把全部數(shù)據(jù)放到一個大倉庫里,這樣的目的是為了提高了靈活性和增加速度。Sqlserver用于訪問數(shù)據(jù)庫的最常用標準化語言使用的是SQL語言。Sqlserver軟件用雙授權(quán)政策(本詞條“授權(quán)政策”),它分為社區(qū)版和商業(yè)版,因為它總體擁有成本低、速度快、體積小,特別是源碼開放的特點,一般中小型網(wǎng)站的開發(fā)都選擇Sqlserver作為網(wǎng)站數(shù)據(jù)庫。 SQL包括了所有對數(shù)據(jù)庫的操作,主要是由4個部分組成: (1)數(shù)據(jù)定義:這一部分又稱為“SQL DDL”,定義數(shù)據(jù)庫的邏輯結(jié)構(gòu),包括定義數(shù)據(jù)庫、基本表、視圖和索引4部分。 (2)數(shù)據(jù)操縱:這一部分又稱為“SQL DML”,其中包括數(shù)據(jù)查詢和數(shù)據(jù)更新兩大類操作

53、,其中數(shù)據(jù)更新又包括插入、刪除和更新三種操作。 (3)數(shù)據(jù)控制:對用戶訪問數(shù)據(jù)的控制有基本表和視圖的授權(quán)、完整性規(guī)則的描述,事務(wù)控制語句等。4.1.2 數(shù)據(jù)庫SQL語句(一)數(shù)據(jù)庫的建立與刪除(1)建立數(shù)據(jù)庫:數(shù)據(jù)庫是一個包括了多個基本表的數(shù)據(jù)集,其語句格式為:CREATE DATABASE 其它參數(shù)其中,在系統(tǒng)中必須是唯一的,不能重復(fù),不然將導(dǎo)致數(shù)據(jù)存取失誤。其它參數(shù)因具體數(shù)據(jù)庫實現(xiàn)系統(tǒng)不同而異。例:要建立項目管理數(shù)據(jù)庫(xmmanage),其語句應(yīng)為:CREATE DATABASE xmmanage(2)數(shù)據(jù)庫的刪除:將數(shù)據(jù)庫及其全部內(nèi)容從系統(tǒng)中刪除。其語句格式為:DROP DATABASE 例:刪除項目管理數(shù)據(jù)庫(xmmanage),其語句應(yīng)為: DROP DATAB

溫馨提示

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

評論

0/150

提交評論