版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、哈爾濱學(xué)院本科畢業(yè)論文設(shè)計(jì)題目:學(xué)生學(xué)籍管理系統(tǒng) 院系軟件學(xué)院專 業(yè)軟件工程年 級(jí)姓 名學(xué) 號(hào)05033112指導(dǎo)教師職 稱培訓(xùn)講師工程師2009年6月15日畢業(yè)論文設(shè)計(jì)評(píng)語(yǔ)及成績(jī)論文類(lèi)型:軟件開(kāi)發(fā)型評(píng)語(yǔ):指導(dǎo)教師簽字年 月 日評(píng)語(yǔ)及評(píng)分成績(jī): 辯論委員會(huì)主席簽字年 月 日院系學(xué)位評(píng)定委員會(huì)意見(jiàn):簽字:年 月 日學(xué)校學(xué)位評(píng)定委員會(huì)意見(jiàn):簽字:年 月 日目 錄 TOC o 1-3 h z u HYPERLINK l _Toc233295475 摘 要 PAGEREF _Toc233295475 h 1 HYPERLINK l _Toc233295476 Abstract PAGEREF _Toc
2、233295476 h 2 HYPERLINK l _Toc233295477 前 言 PAGEREF _Toc233295477 h 3 HYPERLINK l _Toc233295478 第一章 概述 PAGEREF _Toc233295478 h 4 HYPERLINK l _Toc233295479 1.1 信息技術(shù)的開(kāi)展及其開(kāi)展趨勢(shì) PAGEREF _Toc233295479 h 4 HYPERLINK l _Toc233295480 1.2 信息技術(shù)面臨的挑戰(zhàn) PAGEREF _Toc233295480 h 5 HYPERLINK l _Toc233295481 1.3 開(kāi)發(fā)學(xué)生學(xué)
3、籍管理系統(tǒng)的意義 PAGEREF _Toc233295481 h 5 HYPERLINK l _Toc233295482 第二章 學(xué)生學(xué)籍管理系統(tǒng)開(kāi)發(fā)平臺(tái)與技術(shù) PAGEREF _Toc233295482 h 6 HYPERLINK l _Toc233295483 2.1 編程語(yǔ)言Java PAGEREF _Toc233295483 h 6 HYPERLINK l _Toc233295484 2.1.1 Java簡(jiǎn)介 PAGEREF _Toc233295484 h 6 HYPERLINK l _Toc233295485 2.1.2 Java主要特點(diǎn) PAGEREF _Toc233295485
4、h 6 HYPERLINK l _Toc233295486 JSP技術(shù) PAGEREF _Toc233295486 h 7 HYPERLINK l _Toc233295487 2.3 Servlet技術(shù) PAGEREF _Toc233295487 h 8 HYPERLINK l _Toc233295488 2.3.1 Servlet的生命周期 PAGEREF _Toc233295488 h 8 HYPERLINK l _Toc233295489 2.3.2 Java Servlet API PAGEREF _Toc233295489 h 9 HYPERLINK l _Toc233295490
5、2.4 Struts技術(shù) PAGEREF _Toc233295490 h 11 HYPERLINK l _Toc233295491 2.5 WEB技術(shù) PAGEREF _Toc233295491 h 13 HYPERLINK l _Toc233295492 2.6 JavaScript技術(shù) PAGEREF _Toc233295492 h 15 HYPERLINK l _Toc233295493 2.7 MySql數(shù)據(jù)庫(kù)簡(jiǎn)介 PAGEREF _Toc233295493 h 16 HYPERLINK l _Toc233295494 2.8 開(kāi)發(fā)工具 PAGEREF _Toc233295494 h
6、17 HYPERLINK l _Toc233295495 第三章 系統(tǒng)的分析與總體設(shè)計(jì) PAGEREF _Toc233295495 h 18 HYPERLINK l _Toc233295496 3.1 系統(tǒng)分析 PAGEREF _Toc233295496 h 18 HYPERLINK l _Toc233295497 學(xué)生學(xué)籍系統(tǒng)的需求分析 PAGEREF _Toc233295497 h 18 HYPERLINK l _Toc233295498 系統(tǒng)功能分析 PAGEREF _Toc233295498 h 19 HYPERLINK l _Toc233295499 3.2 系統(tǒng)設(shè)計(jì)原那么 PAGE
7、REF _Toc233295499 h 20 HYPERLINK l _Toc233295500 HYPERLINK l _Toc233295501 3.3 系統(tǒng)設(shè)計(jì) PAGEREF _Toc233295501 h 23 HYPERLINK l _Toc233295502 系統(tǒng)功能模塊設(shè)計(jì) PAGEREF _Toc233295502 h 23 HYPERLINK l _Toc233295503 系統(tǒng)流程設(shè)計(jì) PAGEREF _Toc233295503 h 24 HYPERLINK l _Toc233295504 3.4 數(shù)據(jù)庫(kù)分析與設(shè)計(jì) PAGEREF _Toc233295504 h 25 H
8、YPERLINK l _Toc233295505 系統(tǒng)E-R圖 PAGEREF _Toc233295505 h 25 HYPERLINK l _Toc233295506 數(shù)據(jù)庫(kù)設(shè)計(jì) PAGEREF _Toc233295506 h 27 HYPERLINK l _Toc233295507 第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) PAGEREF _Toc233295507 h 30 HYPERLINK l _Toc233295508 4.1 學(xué)生學(xué)籍管理系統(tǒng)首頁(yè)的設(shè)計(jì) PAGEREF _Toc233295508 h 30 HYPERLINK l _Toc233295509 4.2 用戶管理模塊的設(shè)計(jì) PAGERE
9、F _Toc233295509 h 32 HYPERLINK l _Toc233295510 4.3 課程管理模塊的設(shè)計(jì) PAGEREF _Toc233295510 h 34 HYPERLINK l _Toc233295511 4.4 成績(jī)管理模塊的設(shè)計(jì) PAGEREF _Toc233295511 h 36 HYPERLINK l _Toc233295512 4.5 系統(tǒng)管理模塊的設(shè)計(jì) PAGEREF _Toc233295512 h 37 HYPERLINK l _Toc233295513 第五章 系統(tǒng)測(cè)試 PAGEREF _Toc233295513 h 39 HYPERLINK l _Toc
10、233295514 5.1 系統(tǒng)測(cè)試的目的和原那么 PAGEREF _Toc233295514 h 39 HYPERLINK l _Toc233295515 5.1.1 系統(tǒng)測(cè)試的目的 PAGEREF _Toc233295515 h 39 HYPERLINK l _Toc233295519 5.1.2 系統(tǒng)測(cè)試的原那么 PAGEREF _Toc233295519 h 39 HYPERLINK l _Toc233295520 5.2 單元測(cè)試 PAGEREF _Toc233295520 h 40 HYPERLINK l _Toc233295521 5.3 功能測(cè)試 PAGEREF _Toc233
11、295521 h 40 HYPERLINK l _Toc233295522 第六章 結(jié)論 PAGEREF _Toc233295522 h 44 HYPERLINK l _Toc233295523 參考文獻(xiàn) PAGEREF _Toc233295523 h 45 HYPERLINK l _Toc233295524 附 錄 PAGEREF _Toc233295524 h 46 HYPERLINK l _Toc233295525 后 記 PAGEREF _Toc233295525 h 52摘 要隨著計(jì)算機(jī)技術(shù)及網(wǎng)絡(luò)通訊技術(shù)的飛速開(kāi)展,許多學(xué)校已經(jīng)有了較好的基于網(wǎng)絡(luò)的計(jì)算機(jī)應(yīng)用根底設(shè)施。為提高學(xué)校管理工
12、作的現(xiàn)代化、科學(xué)化水平,保證信息處理的即時(shí)化、準(zhǔn)確化,開(kāi)發(fā)一套對(duì)學(xué)生學(xué)籍進(jìn)行管理的軟件是極其重要的、必要的。本系統(tǒng)為解決這一問(wèn)題而開(kāi)發(fā),可以減少學(xué)籍管理工作的工作量、提高工作效率、節(jié)省資源,提高學(xué)校信息技術(shù)應(yīng)用水平。論文概述了信息技術(shù)在教學(xué)中的應(yīng)用,介紹了系統(tǒng)的開(kāi)發(fā)背景、開(kāi)發(fā)工具Eclipse和MyEclipse以及開(kāi)發(fā)中使用的Jsp、Servlet、Struts等Web技術(shù)。詳細(xì)闡述了需求分析及系統(tǒng)設(shè)計(jì)的過(guò)程,后者主要包括功能模塊劃分及數(shù)據(jù)庫(kù)的設(shè)計(jì)。系統(tǒng)分為四大模塊:用戶管理模塊、課程管理模塊、成績(jī)管理模塊及系統(tǒng)管理模塊。用戶管理模塊主要包括學(xué)生管理和教師管理兩個(gè)子模塊,學(xué)生管理負(fù)責(zé)維護(hù)學(xué)生
13、信息,教師管理負(fù)責(zé)維護(hù)教師信息;課程管理模塊負(fù)責(zé)維護(hù)課程信息;成績(jī)管理模塊負(fù)責(zé)維護(hù)成績(jī)信息;系統(tǒng)管理模塊負(fù)責(zé)維護(hù)數(shù)據(jù)字典的維護(hù)與擴(kuò)展。最后,論文對(duì)系統(tǒng)測(cè)試進(jìn)行了闡述。關(guān)鍵詞:信息技術(shù);學(xué)籍管理;Struts;Web技術(shù)AbstractWith the rapid development of computer technology and network communication technology, many schools have a better Web-based computer application infrastructure. In order to enhance t
14、he modernization of school management and scientific levels, to ensure information processing, it is important and necessary to develop a system for students status management. The system was developed to solve this problem. It can reduce the workload of school management and increase work efficienc
15、y and save resources. In short, it improves the level of information technology applications.The paper provides an overview of information technology in teaching applications, introduces the context of system development, development tools of Eclipse and MyEclipse, Jsp, Servlet, Struts and other Web
16、 technologies. It details the needs analysis and system design process which mainly include the division of functional modules and database design. The system is divided into four modules: user management module, course management module, score management module and system management module. User ma
17、nagement module includes two sub-modules: the management of students and teachers. The students sub-module is responsible for the maintenance of student information management. The teachers sub-module is responsible for the maintenance of information management. The course management module is respo
18、nsible for the maintenance information of course. The score management module is responsible for the maintenance information of score. The system management module is responsible for the maintenance and expansion of database dictionary. Finally, the test on the system is described.Key words: Informa
19、tion technology; Students status management; Struts; Web前 言學(xué)生學(xué)籍管理系統(tǒng)是一個(gè)教育單位信息化管理中不可缺少的局部,它的內(nèi)容對(duì)于學(xué)校的決策者和管理者來(lái)說(shuō)都至關(guān)重要,所以學(xué)生學(xué)籍管理系統(tǒng)應(yīng)該能夠?yàn)橛脩艏磳W(xué)生和管理者提供充足的信息和快捷的查詢手段。但一直以來(lái)人們使用傳統(tǒng)人工的方式來(lái)管理文件檔案,這種管理方式存在著許多缺點(diǎn),如:效率低、保密性差,另外時(shí)間一長(zhǎng),將產(chǎn)生大量的文件和數(shù)據(jù),這對(duì)于查找、更新和維護(hù)都帶來(lái)了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識(shí),它已進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著越來(lái)越重要
20、的作用。作為計(jì)算機(jī)應(yīng)用的一局部,使用計(jì)算機(jī)對(duì)學(xué)生學(xué)籍信息進(jìn)行管理,具有手工管理所無(wú)法比較的優(yōu)點(diǎn).例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、本錢(qián)低、數(shù)據(jù)處理快速等。這些優(yōu)點(diǎn)能夠極大地提高了學(xué)生學(xué)籍信息管理的效率,也是學(xué)生學(xué)籍管理科學(xué)化、正規(guī)化,與世界接軌的重要條件。因此,開(kāi)發(fā)一套學(xué)生學(xué)籍管理軟件成為很有必要的事情。本論文共分為6章來(lái)介紹。第一章 概述,主要是介紹信息管理的開(kāi)展?fàn)顩r和開(kāi)展趨勢(shì),還介紹了該系統(tǒng)的開(kāi)發(fā)意義。第二章 開(kāi)發(fā)系統(tǒng)的“準(zhǔn)備材料,主要是介紹開(kāi)發(fā)該系統(tǒng)所涉及到的技術(shù)、開(kāi)發(fā)工具、開(kāi)發(fā)環(huán)境、所用效勞器和數(shù)據(jù)庫(kù)等。第三章 需求分析與總體設(shè)計(jì)局部,主要是分析學(xué)生學(xué)籍系
21、統(tǒng)的功能需求和從總體上設(shè)計(jì)該系統(tǒng)。第四章 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)局部,主要是詳細(xì)描述該系統(tǒng)的功能及其代碼實(shí)現(xiàn)。第五章 系統(tǒng)測(cè)試局部,主要是對(duì)該系統(tǒng)作詳細(xì)的系統(tǒng)測(cè)試。第六章 結(jié)論局部,主要是對(duì)本論文的總結(jié)。第一章 概述1.1 信息技術(shù)的開(kāi)展及其開(kāi)展趨勢(shì)人類(lèi)社會(huì)己經(jīng)踏入21世紀(jì)的門(mén)檻,驀然回首:20世紀(jì)90年代以來(lái),全球信息技術(shù)開(kāi)展明顯加快。由于芯片技術(shù)、電腦軟件技術(shù)突飛猛進(jìn)地提高,電腦功能正日趨強(qiáng)大。隨著Internet的出現(xiàn),人們已經(jīng)認(rèn)識(shí)到,周?chē)囊磺姓诎l(fā)生異乎尋常的變化:“奔騰贊歌唱遍各個(gè)角落;多媒體計(jì)算機(jī)迅速走進(jìn)家庭;上網(wǎng)已成為人們?nèi)粘I畹囊痪植?;WWW瀏覽使你足不出戶便知天下事:各種應(yīng)用軟件
22、更是應(yīng)有盡有。事實(shí)證明:網(wǎng)絡(luò)的普及和應(yīng)用大大推動(dòng)了計(jì)算機(jī)應(yīng)用的開(kāi)展。從國(guó)防軍事、交通運(yùn)輸、財(cái)政金融、科學(xué)教育等大型系統(tǒng),到一個(gè)企業(yè)、一個(gè)機(jī)關(guān)、一所學(xué)校、一座飯店的內(nèi)部管理,幾乎都采用了計(jì)算機(jī)網(wǎng)絡(luò)管理。網(wǎng)絡(luò)開(kāi)展已經(jīng)超越了國(guó)界,跨越了地域,使地球上的人們似乎生活在一個(gè)“地球村里。在新的世紀(jì)里,信息技術(shù)迅猛開(kāi)展,而網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫(kù)技術(shù)又是信息技術(shù)最主要的核心。于是,基于Web的數(shù)據(jù)庫(kù)也就應(yīng)運(yùn)而生了。隨著Internet/Intranet技術(shù)的開(kāi)展,開(kāi)發(fā)基于Web的應(yīng)用程序勢(shì)在必行,數(shù)據(jù)庫(kù)技術(shù)更是需要和Web技術(shù)相結(jié)合,才有更為廣闊的前景。ASP作為微軟推出的Web應(yīng)用程序開(kāi)發(fā)技術(shù),在數(shù)據(jù)庫(kù)應(yīng)用方面發(fā)
23、揮著越來(lái)越重要的作用,同時(shí)瀏覽器/效勞器模式的數(shù)據(jù)庫(kù)體系也正逐漸成為數(shù)據(jù)庫(kù)結(jié)構(gòu)的主流。它的開(kāi)展趨勢(shì)主要表達(dá)在以下幾點(diǎn):1微電子技術(shù)的加速開(kāi)展導(dǎo)致芯片的運(yùn)算能力及性能價(jià)格比繼續(xù)按幾何級(jí)數(shù)的規(guī)律增長(zhǎng),從而帶動(dòng)軟件、通信、信息等技術(shù)的應(yīng)用到達(dá)前所未有的開(kāi)展水平。2信息的數(shù)字處理技術(shù)走向成熟,從而為大規(guī)模、多領(lǐng)域的信息產(chǎn)品制造和信息效勞創(chuàng)造了有利條件。3軟件技術(shù)的高速開(kāi)展成倍地?cái)U(kuò)大了信息技術(shù)的應(yīng)用范圍和功能。4網(wǎng)絡(luò)技術(shù)向高速、寬帶和有線、無(wú)線相互融合方向開(kāi)展。5隨著數(shù)字化技術(shù)的開(kāi)展,計(jì)算機(jī)、電信與媒體技術(shù)的融合已成為必然。6信息產(chǎn)業(yè)己成為世界經(jīng)濟(jì)的龍頭產(chǎn)業(yè),無(wú)論是興旺國(guó)家,還是開(kāi)展中國(guó)家,都把大力開(kāi)展
24、信息產(chǎn)業(yè),加快推進(jìn)信息化作為跨世紀(jì)開(kāi)展的戰(zhàn)略任務(wù)。 信息技術(shù)面臨的挑戰(zhàn)信息技術(shù)與信息產(chǎn)業(yè)的開(kāi)展水平,是衡量一個(gè)國(guó)家現(xiàn)代化水平和綜合國(guó)力的重要際志。世界信息技術(shù)的飛速開(kāi)展對(duì)我國(guó)信息產(chǎn)業(yè)既是難得的機(jī)遇,也是巨大的挑戰(zhàn)。加速開(kāi)展信息技術(shù)與信息產(chǎn)業(yè),直接關(guān)系到我國(guó)社會(huì)主義現(xiàn)代化建設(shè)的進(jìn)程,關(guān)系到我國(guó)21世紀(jì)的國(guó)際地位和競(jìng)爭(zhēng)實(shí)力。目前,我國(guó)信息技術(shù)和信息產(chǎn)業(yè)與興旺國(guó)家相比還有很大的差距。我國(guó)微電子產(chǎn)業(yè)的水平還不高,目前國(guó)內(nèi)需求自給率不到20%,一些技術(shù)檔次高的產(chǎn)品不能生產(chǎn);軟件產(chǎn)業(yè)還沒(méi)有形成規(guī)模,自有知識(shí)產(chǎn)權(quán)的軟件產(chǎn)品還不多,主要操作系統(tǒng)根本上還是采用外國(guó)公司產(chǎn)品;通信效勞的整體水平還有待提高,l/4的
25、行政村還不通 ;信息資掘的開(kāi)發(fā)利用和信息效勞還處于起步階段。為了扭轉(zhuǎn)我國(guó)信息技術(shù)相信息產(chǎn)業(yè)的落后局面,我們必績(jī)?cè)谛畔⒓夹g(shù)領(lǐng)域進(jìn)一步加強(qiáng)技術(shù)創(chuàng)新,大力開(kāi)展我國(guó)的信息產(chǎn)業(yè)。在世紀(jì)之交,黨和國(guó)家站在跨世紀(jì)開(kāi)展的高度上,作出了重大戰(zhàn)略抉擇,成立了信息產(chǎn)業(yè)部,井對(duì)電信體制進(jìn)行了重大改革租調(diào)整,為進(jìn)一步加快我國(guó)信息產(chǎn)業(yè)的開(kāi)展創(chuàng)造了有利條件。1.3 開(kāi)發(fā)學(xué)生學(xué)籍管理系統(tǒng)的意義21世紀(jì)以來(lái),隨著信息技術(shù)的高速開(kāi)展,人們的生活發(fā)生了日新月異的變化,特別是計(jì)算機(jī)的應(yīng)用已經(jīng)普及到經(jīng)濟(jì)和社會(huì)生活的各個(gè)領(lǐng)域。原本的舊的管理方法越來(lái)越不適應(yīng)現(xiàn)在社會(huì)的開(kāi)展。為了適應(yīng)現(xiàn)代社會(huì)人們高度強(qiáng)烈的時(shí)間觀念,學(xué)校信息管理系統(tǒng)軟件為學(xué)校
26、辦公室?guī)?lái)了極大的方便。在各大高校,用計(jì)算機(jī)管理學(xué)校的信息已經(jīng)越來(lái)越普遍了,這樣不但可以提高工作效率,而且還節(jié)省了許多人力物力,增強(qiáng)了學(xué)校資料的平安性,提高了學(xué)校的管理能力。為此,用計(jì)算機(jī)來(lái)管理學(xué)校的信息,是非常必要的。另外,由于學(xué)生人數(shù)的劇增、學(xué)生信息變化快、需求頻繁,學(xué)校對(duì)學(xué)生原來(lái)的學(xué)籍管理軟件已經(jīng)不能適應(yīng)新的辦學(xué)規(guī)模和對(duì)現(xiàn)代辦學(xué)效率的需要,因此有必要編制新的學(xué)生學(xué)籍管理系統(tǒng)來(lái)提高學(xué)校的工作效率。第二章 學(xué)生學(xué)籍管理系統(tǒng)開(kāi)發(fā)平臺(tái)與技術(shù)2.1 編程語(yǔ)言Java Java簡(jiǎn)介Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言以下簡(jiǎn)稱Java語(yǔ)言和Java
27、平臺(tái)的總稱。用Java實(shí)現(xiàn)的HotJava瀏覽器支持Java applet顯示了Java的魅力:跨平臺(tái)、動(dòng)態(tài)的Web、Internet計(jì)算。從此,Java被廣泛接受并推動(dòng)了Web的迅速開(kāi)展,常用的瀏覽器現(xiàn)在均支持Java applet。另一方面,Java技術(shù)也不斷更新。Java平臺(tái)由Java虛擬機(jī)Java Virtual Machine和Java 應(yīng)用編程接口Application Programming Interface、簡(jiǎn)稱API構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為根本局部和擴(kuò)展局部。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java
28、應(yīng)用程序就可運(yùn)行?,F(xiàn)在Java平臺(tái)已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1x版開(kāi)展到1.2版。目前常用的Java平臺(tái)基于Java1.4,最近版本為Java1.7。Java分為三個(gè)體系JavaSE(Java2 Platform Standard Edition,java平臺(tái)標(biāo)準(zhǔn)版),JavaEE(Java 2 Platform,Enterprise Edition,java平臺(tái)企業(yè)版),JavaME(Java 2 Platform Micro Edition,java平臺(tái)微型版)。 Java主要特點(diǎn)1Java語(yǔ)言是簡(jiǎn)單
29、的。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C+語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C+ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類(lèi)型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。2Java語(yǔ)言是一個(gè)面向?qū)ο蟮摹ava語(yǔ)言提供類(lèi)、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類(lèi)之間的單繼承,但支持接口之間的多繼承,并支持類(lèi)與接口之間的實(shí)現(xiàn)機(jī)制關(guān)鍵字為implements。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C+ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊?,Java語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。
30、3Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在根本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類(lèi)庫(kù),包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。4Java語(yǔ)言是平安的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)平安機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多平安特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類(lèi)具有一個(gè)平安防范機(jī)制類(lèi)ClassLoader,如分配不同的名字空間以防替代本地的同名類(lèi)、字節(jié)代碼檢查,并提供平安管理機(jī)制類(lèi)
31、SecurityManager讓Java應(yīng)用設(shè)置平安哨兵。 5Java語(yǔ)言是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)根本數(shù)據(jù)類(lèi)型的長(zhǎng)度。2.2 JSP技術(shù)為了快速方便地進(jìn)行動(dòng)態(tài)網(wǎng)站的開(kāi)發(fā),JSP在以下幾個(gè)方面做了改良,使其成為快速建立跨平臺(tái)的動(dòng)態(tài)網(wǎng)站的首選方案。 1將內(nèi)容的生成和顯示進(jìn)行別離 用JSP技術(shù),Web頁(yè)面開(kāi)發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來(lái)設(shè)計(jì)和格式化最終頁(yè)面,并使用JSP標(biāo)識(shí)或者小腳本來(lái)生成頁(yè)面上的動(dòng)態(tài)內(nèi)容內(nèi)容是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格等。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所
32、有的腳本在效勞器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和JavaBeans中,所以Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的生成。 2可重用組件 絕大多數(shù)JSP頁(yè)面依賴于可重用的、跨平臺(tái)的組件JavaBeans或者Enterprise JavaBeans組件來(lái)執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開(kāi)發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團(tuán)體所使用。基于組件的方法加速了總體開(kāi)發(fā)過(guò)程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開(kāi)發(fā)努力中得到平衡。 3采用標(biāo)識(shí) Web頁(yè)面開(kāi)發(fā)人員不會(huì)都是熟悉腳本語(yǔ)言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是
33、在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問(wèn)和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。 4適應(yīng)平臺(tái) 幾乎所有平臺(tái)都支持Java,JSPJavaBeans幾乎可以在所有平臺(tái)下通行無(wú)阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無(wú)關(guān)的。 5數(shù)據(jù)庫(kù)連接 Java中連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC,Java程序通過(guò)JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開(kāi)發(fā)了JDBCODBC bridge,利用此技術(shù)J
34、ava程序可以訪問(wèn)帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC驅(qū)動(dòng)程序,所以Java程序能訪問(wèn)諸如Oracle、Sybase、MS SQL Server和MS Access等數(shù)據(jù)庫(kù)。 此外,通過(guò)開(kāi)發(fā)標(biāo)識(shí)庫(kù),JSP技術(shù)可以進(jìn)一步擴(kuò)展。第三方開(kāi)發(fā)人員和其他人員可以為常用功能創(chuàng)立自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開(kāi)發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來(lái)進(jìn)行工作。 JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且能擴(kuò)展到支持企業(yè)級(jí)的分布式應(yīng)用中。作為采用Java技術(shù)家族的一局部,以及Java 2企業(yè)版體系結(jié)構(gòu)的一個(gè)組成局部,JSP技術(shù)能夠支持
35、高度復(fù)雜的基于Web的應(yīng)用。 由于JSP頁(yè)面的內(nèi)置腳本語(yǔ)言是基于Java的,而且所有的JSP頁(yè)面都被編譯成為Java Servlets,所以JSP頁(yè)面具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和平安性。作為Java平臺(tái)的一局部,JSP擁有Java編程語(yǔ)言“一次編寫(xiě),各處運(yùn)行的特點(diǎn)。2.3 Servlet技術(shù) Servlet的生命周期Servlet的生命周期由Servlet容器控制,由容器創(chuàng)立Servlet實(shí)例。整個(gè)生命周期: 1實(shí)例化:加載Servlet組件類(lèi),由容器創(chuàng)立Servlet實(shí)例。 2初始化:執(zhí)行init方法,初始化Servlet實(shí)例。 ServletConfig接口實(shí)現(xiàn)對(duì)象:向
36、Servlet傳遞配置信息,包含Servlet初始化信息,以名-值對(duì)形式提供。Servlet使用ServletConfig接口與Servlet容器通信。 通過(guò)getServletConfig方法獲得當(dāng)前ServletConfig接口實(shí)現(xiàn)對(duì)象。 3效勞:調(diào)用Servlet組件GenericServlet類(lèi)的Service方法處理客戶請(qǐng)求;ServletRequest接口和ServletResponse接口的實(shí)現(xiàn)對(duì)象來(lái)處理請(qǐng)求和發(fā)送響應(yīng)。如果URL為GET請(qǐng)求 那么執(zhí)行 Servlet類(lèi)的doGet方法;如果URL為POST請(qǐng)求那么執(zhí)行 Servlet類(lèi)的doPost方法。 4釋放:執(zhí)行Desto
37、ry方法釋放Servlet實(shí)例資源。 Java Servlet API Servlet 使用一個(gè) HTML 表格來(lái)發(fā)送和接收數(shù)據(jù)。要?jiǎng)?chuàng)立一個(gè) Servlet,請(qǐng)擴(kuò)展 Servlet 類(lèi), 該類(lèi)是用專門(mén)的方法來(lái)處理 HTML 表格的 GenericServlet 的一個(gè)子類(lèi)。 HTML 表單是由 和 標(biāo)記定義的。表單中典型地包含輸入字段如文本輸入字段、復(fù)選框、單項(xiàng)選擇按鈕和選擇列表和用于提交數(shù)據(jù)的按鈕。當(dāng)提交信息時(shí),它們還指定效勞器應(yīng)執(zhí)行哪一個(gè)Servlet或其它的程序。 Servlet 類(lèi)包含 init()、destroy()、service() 等方法。其中 init() 和 destroy
38、() 方法是繼承的。1init() 方法在 Servlet 的生命期中,僅執(zhí)行一次 init() 方法。它是在效勞器裝入 Servlet 時(shí)執(zhí)行的。 可以配置效勞器,以在啟動(dòng)效勞器或客戶機(jī)首次訪問(wèn) Servlet 時(shí)裝入 Servlet。 無(wú)論有多少客戶機(jī)訪問(wèn) Servlet,都不會(huì)重復(fù)執(zhí)行 init() 。缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法來(lái)覆蓋它,典型的是管理效勞器端資源。 例如,可能編寫(xiě)一個(gè)定制 init() 來(lái)只用于一次裝入 GIF 圖像,改良 Servlet 返回 GIF 圖像和含有多個(gè)客戶機(jī)請(qǐng)求的性能。另一個(gè)例如是初始化數(shù)據(jù)庫(kù)連接。缺省的
39、 init() 方法設(shè)置了 Servlet 的初始化參數(shù),并用它的 ServletConfig 對(duì)象參數(shù)來(lái)啟動(dòng)配置, 因此所有覆蓋 init() 方法的 Servlet 應(yīng)調(diào)用 super.init() 以確保仍然執(zhí)行這些任務(wù)。在調(diào)用 service() 方法之前,應(yīng)確保已完成了 init() 方法。 2service() 方法service() 方法是 Servlet 的核心。每當(dāng)一個(gè)客戶請(qǐng)求一個(gè) Servlet 對(duì)象,該對(duì)象的service() 方法就要被調(diào)用,而且傳遞給這個(gè)方法一個(gè)“請(qǐng)求ServletRequest對(duì)象和一個(gè)“響應(yīng)ServletResponse對(duì)象作為參數(shù)。 在 Serv
40、let 中已存在 service() 方法。缺省的效勞功能是調(diào)用與 請(qǐng)求的方法相應(yīng)的 do 功能。例如, 如果 請(qǐng)求方法為 GET,那么缺省情況下就調(diào)用 doGet() 。Servlet 應(yīng)該為 Servlet 支持的 方法覆蓋 do 功能。因?yàn)?Servlet.service() 方法會(huì)檢查請(qǐng)求方法是否調(diào)用了適當(dāng)?shù)奶幚矸椒?,不必要覆蓋 service() 方法。只需覆蓋相應(yīng)的 do 方法就可以了。3destroy() 方法destroy() 方法僅執(zhí)行一次,即在效勞器停止且卸裝Servlet 時(shí)執(zhí)行該方法。典型的,將 Servlet 作為效勞器進(jìn)程的一局部來(lái)關(guān)閉。缺省的 destroy()
41、方法通常是符合要求的,但也可以覆蓋它,典型的是管理效勞器端資源。例如,如果 Servlet 在運(yùn)行時(shí)會(huì)累計(jì)統(tǒng)計(jì)數(shù)據(jù),那么可以編寫(xiě)一個(gè) destroy() 方法,該方法用于在未裝入 Servlet 時(shí)將統(tǒng)計(jì)數(shù)字保存在文件中。另一個(gè)例如是關(guān)閉數(shù)據(jù)庫(kù)連接。 當(dāng)效勞器卸裝 Servlet 時(shí),將在所有 service() 方法調(diào)用完成后,或在指定的時(shí)間間隔過(guò)后調(diào)用 destroy() 方法。一個(gè)Servlet 在運(yùn)行service() 方法時(shí)可能會(huì)產(chǎn)生其它的線程,因此請(qǐng)確認(rèn)在調(diào)用 destroy() 方法時(shí),這些線程已終止或完成。 4GetServletConfig方法GetServletConfig
42、方法返回一個(gè) ServletConfig 對(duì)象,該對(duì)象用來(lái)返回初始化參數(shù)和ServletContext。ServletContext 接口提供有關(guān)servlet 的環(huán)境信息。5GetServletInfo方法當(dāng)效勞器調(diào)用sevlet 的Service、doGet和doPost這三個(gè)方法時(shí),均需要 “請(qǐng)求和“響應(yīng)對(duì)象作為參數(shù)?!罢?qǐng)求對(duì)象提供有關(guān)請(qǐng)求的信息,而“響應(yīng)對(duì)象提供了一個(gè)將響應(yīng)信息返回給瀏覽器的一個(gè)通信途徑。javax.servlet 軟件包中的相關(guān)類(lèi)為ServletResponse和ServletRequest,而javax.servlet. 軟件包中的相關(guān)類(lèi)為 ServletReque
43、st 和 ServletResponse。Servlet 通過(guò)這些對(duì)象與效勞器通信并最終與客戶機(jī)通信。Servlet 能通過(guò)調(diào)用“請(qǐng)求對(duì)象的方法獲知客戶機(jī)環(huán)境,效勞器環(huán)境的信息和所有由客戶機(jī)提供的信息。Servlet 可以調(diào)用“響應(yīng)對(duì)象的方法發(fā)送響應(yīng),該響應(yīng)是準(zhǔn)備發(fā)回客戶機(jī)的。2.4 Struts技術(shù) Struts工作原理Struts框架是Apache開(kāi)源軟件聯(lián)盟 的一個(gè)開(kāi)源工程Jakarta Struts Framework。Struts框架繼承了MVC設(shè)計(jì)模式的特性,遵守了J2EE的Servlet、JSP等技術(shù)標(biāo)準(zhǔn),并且根據(jù)J2EE的特點(diǎn)做了相應(yīng)的變化和擴(kuò)展,是J2EE體系架構(gòu)的一種輕量級(jí)
44、實(shí)現(xiàn)。作為一款優(yōu)秀的Java Web應(yīng)用程序的開(kāi)發(fā)框架,Struts框架憑借其清晰性、靈活性,成為當(dāng)前最為廣泛應(yīng)用的輕量級(jí)Java Web 開(kāi)發(fā)框架。Struts框架實(shí)現(xiàn)了MVC設(shè)計(jì)模式,其工作原理圖如圖2-1所示:圖2-1 Struts框架原理圖1控制器的實(shí)現(xiàn)Struts框架中采用了ActionServlet和Action類(lèi)以及Struts-config.xml配置文件作為控制器的實(shí)現(xiàn)。其中,Struts-config.xml配置文件配置了不同用戶請(qǐng)求及對(duì)應(yīng)的具體業(yè)務(wù)邏輯組件來(lái)供ActionServlet類(lèi)查詢。ActionServlet類(lèi)是中心Servlet,負(fù)責(zé)處理所有的用戶請(qǐng)求。當(dāng)用戶
45、提出請(qǐng)求,ActionServlet類(lèi)最先對(duì)請(qǐng)求進(jìn)行處理,它將根據(jù)Struts-config.xml配置文件將用戶請(qǐng)求映射到具體的Action類(lèi);而當(dāng)Action類(lèi)調(diào)用模型組件處理好用戶請(qǐng)求,并返回了處理結(jié)果后,仍然由ActionServlet類(lèi)根據(jù)Struts-config.xml配置文件將結(jié)果轉(zhuǎn)發(fā)到視圖提供給用戶,或者轉(zhuǎn)發(fā)另外一個(gè)Action做進(jìn)一步處理。Action類(lèi)實(shí)現(xiàn)了具體的業(yè)務(wù)邏輯,它接受用戶的輸入,然后調(diào)用具體的模型組件來(lái)完成用戶請(qǐng)求。2視圖的實(shí)現(xiàn)Struts構(gòu)架主要采用了JSP作為視圖的實(shí)現(xiàn),它提供了豐富的JSP標(biāo)簽庫(kù)支持應(yīng)用程序的開(kāi)發(fā),而且引入了ActionForm組件實(shí)質(zhì)為
46、JavaBean作為用戶表單的封裝來(lái)完成數(shù)據(jù)的傳輸。3模型的實(shí)現(xiàn)Struts框架對(duì)模型即復(fù)雜的數(shù)據(jù)持久化層沒(méi)有提供太多的支持,但是這也就是說(shuō)開(kāi)發(fā)人員有更多自由來(lái)選擇適宜量級(jí)的持久化技術(shù),比方Hibernate、EJB等等。Struts框架實(shí)現(xiàn)了MVC設(shè)計(jì)模式,但是它是典型的表現(xiàn)層框架,對(duì)模型的實(shí)現(xiàn)是缺乏的,所以有必要引入其他架構(gòu)加強(qiáng)對(duì)模型的實(shí)現(xiàn)。 Struts工作流程假設(shè)現(xiàn)在在有以下情景:用戶正在瀏覽一個(gè)用STRUTS的技術(shù)構(gòu)建的網(wǎng)站主頁(yè),主頁(yè)上有個(gè)登陸表單,用戶填好登陸名和密碼,單擊登陸按鈕,就激活了以下一系列過(guò)程:1用戶的請(qǐng)求以 方式傳輸?shù)叫谄魃?接受請(qǐng)求的是ActionServlet.
47、2ActionServlet接收到請(qǐng)求后,會(huì)查找Struts-config.xml文件來(lái)確定效勞器上是否有用戶請(qǐng)求的操作,此處用戶請(qǐng)求操作應(yīng)為登陸操作.如果沒(méi)有,那么返回一個(gè)用戶請(qǐng)求無(wú)效的出錯(cuò)信息.3當(dāng)ActionServlet請(qǐng)求找到用戶請(qǐng)求的Action后,首先將用戶輸入的表單參數(shù)打包成一個(gè)ActionFrom對(duì)象,這個(gè)ActionFrom對(duì)象其實(shí)也就是一個(gè)JavaBean,里面包含兩個(gè)字段,分別是用戶名和密碼.接著ActionServlet再根據(jù)struts-config.xml中的配置信息決定是否要執(zhí)行ActionFrom對(duì)象中的Validate方法.假設(shè)Validate方法執(zhí)行有錯(cuò),
48、那么返回.否那么,繼續(xù)下一步.4系統(tǒng)生成一個(gè)用戶所請(qǐng)求的Action的實(shí)例對(duì)象,將前面的ActionFrom對(duì)象傳遞給它,運(yùn)行它的Execute()方法.這一步其實(shí)就是用戶登陸的控制器,在執(zhí)行exectue()方法時(shí),可以調(diào)用后臺(tái)模型驗(yàn)證登陸名和密碼是否正確等信息.5execute()執(zhí)行結(jié)束前會(huì)生成以和ActionForward類(lèi)型的對(duì)象并將之返回給ActionServlet,該對(duì)象的作用是告訴ActionFroward就代表跳轉(zhuǎn)到一個(gè)登陸成功的頁(yè)面.ActionServlet將對(duì)之進(jìn)行分析,其實(shí)就相當(dāng)于接收到一個(gè)新的請(qǐng)求,重復(fù)25的過(guò)程,直到將某個(gè)界面返會(huì)給用戶為止!2.5 WEB技術(shù) W
49、EB工作原理當(dāng)你想進(jìn)入萬(wàn)維網(wǎng)上一個(gè)網(wǎng)頁(yè), 或者其他網(wǎng)絡(luò)資源的時(shí)候,通常你要首先在你的瀏覽器上鍵入你想訪問(wèn)網(wǎng)頁(yè)的統(tǒng)一資源定位符Uniform Resource Locator),或者通過(guò)超鏈接方式鏈接到那個(gè)網(wǎng)頁(yè)或網(wǎng)絡(luò)資源。這之后的工作首先是URL的效勞器名局部,被名為域名系統(tǒng)的分布于全球的因特網(wǎng)數(shù)據(jù)庫(kù)解析,并根據(jù)解析結(jié)果斷定進(jìn)入哪一個(gè)IP地址(IP address)。接下來(lái)的步驟是為所要訪問(wèn)的網(wǎng)頁(yè),向在那個(gè)IP地址工作的效勞器發(fā)送一個(gè) 請(qǐng)求。在通常情況下,HTML文本、圖片和構(gòu)成該網(wǎng)頁(yè)的一切其他文件很快會(huì)被逐一請(qǐng)求并發(fā)送回用戶。網(wǎng)絡(luò)瀏覽器接下來(lái)的工作是把HTML、CSS和其他接受到的文件所描述的
50、內(nèi)容,加上圖像、鏈接和其他必須的資源,顯示給用戶。這些就構(gòu)成了你所看到的“網(wǎng)頁(yè)。大多數(shù)的網(wǎng)頁(yè)自身包含有超鏈接指向其他相關(guān)網(wǎng)頁(yè),可能還有下載、源文獻(xiàn)、定義和其他網(wǎng)絡(luò)資源。像這樣通過(guò)超鏈接,把有用的相關(guān)資源組織在一起的集合,就形成了一個(gè)所謂的信息的“網(wǎng)。這個(gè)網(wǎng)在因特網(wǎng)上被方便使用,就構(gòu)成了最早在1990年代初蒂姆伯納斯-李所說(shuō)的萬(wàn)維網(wǎng)。.2 Web數(shù)據(jù)庫(kù)系統(tǒng)體系結(jié)構(gòu)傳統(tǒng)的Web數(shù)據(jù)庫(kù)系統(tǒng)一般實(shí)現(xiàn)Web數(shù)據(jù)庫(kù)系統(tǒng)的連接和應(yīng)用可采取兩種方法,一種是在Web效勞器端提供中間件來(lái)連接Web效勞器和數(shù)據(jù)庫(kù)效勞器,另一種是把應(yīng)用程序下載到客戶端并在客戶端直接訪問(wèn)數(shù)據(jù)庫(kù)。中間件負(fù)責(zé)管理Web效勞器和數(shù)據(jù)庫(kù)效勞器
51、之間的通信并提供給用程序效勞,它能夠直接調(diào)用外部程序或腳本代碼來(lái)訪問(wèn)數(shù)據(jù)庫(kù),因此可以提供與數(shù)據(jù)庫(kù)相關(guān)的動(dòng)態(tài)HTML頁(yè)面,或執(zhí)行用戶查詢,并將查詢結(jié)果格式化成HTML頁(yè)面。通過(guò)Web效勞器返回給Web瀏覽器。最根本的中間件技術(shù)有通過(guò)網(wǎng)關(guān)接口CGI和應(yīng)用程序接口API兩種。1基于通用網(wǎng)關(guān)接口CGI從體系結(jié)構(gòu)上來(lái)看,用戶通過(guò)Web瀏覽器輸入查詢信息,瀏覽器通過(guò) 協(xié)議向Web效勞器發(fā)出帶有查詢信息的請(qǐng)求,Web效勞器按照CGI協(xié)議激活外部CGI程序,由該程序向DBMS發(fā)出SQL請(qǐng)求并將結(jié)果轉(zhuǎn)化為HTML后返回給Web效勞器。再由Web效勞器返回給Web瀏覽器。這種結(jié)構(gòu)表達(dá)了客戶/效勞器方式的三層模型,
52、其中Web效勞器和CGI程序?qū)嶋H起到了HTML和SQL轉(zhuǎn)換的網(wǎng)關(guān)的作用。CGI的典型操作過(guò)程是:分析CGI數(shù)據(jù);翻開(kāi)與DBMS的連接;發(fā)送SQL請(qǐng)求并得到結(jié)果;將結(jié)果轉(zhuǎn)化為HTML;關(guān)閉DBMS的連接;將HTML結(jié)果返回給Web效勞器。2基于效勞器擴(kuò)展的API效勞器API一般作為一個(gè)DLL提供,是駐留在WWW效勞器中的程序代碼,其擴(kuò)展WWW效勞器的功能與CGI相同。WWW開(kāi)發(fā)人員不僅可以API解決CGI可以解決的一切問(wèn)題,而且能夠進(jìn)一步解決基于不同WWW應(yīng)用程序的特殊請(qǐng)求。各種API與其相應(yīng)的WWW效勞器緊密結(jié)合,其初始開(kāi)發(fā)目標(biāo)效勞器的運(yùn)行性能進(jìn)一步開(kāi)掘、提高。用API開(kāi)發(fā)的程序比用CGI開(kāi)發(fā)
53、的程序在性能上提高了很多,但開(kāi)發(fā)API程序比開(kāi)發(fā)CGI程序要復(fù)雜得多。API應(yīng)用程序需要一些編程方面的專門(mén)知識(shí),如多線程、進(jìn)程同步、直接協(xié)議編程以及錯(cuò)誤處理等。目前主要的WWW API有Microsoft公司的ISAPI、Netscape公司的NSAPI和OReily公司的WSAPI等。使用ISPAI開(kāi)發(fā)的程序性能要優(yōu)于用CGI開(kāi)發(fā)的程序,這主要是因?yàn)镮SAPI應(yīng)用程序是一些與WWW效勞器軟件處于同一地址空間的DLL,因此所有的 效勞器進(jìn)程能夠直接利用各種資源這顯然比調(diào)用不在同一地址空間的CGI程序語(yǔ)句要占用更少的系統(tǒng)時(shí)間。而NSAPI同ISAPI一樣,給WWW開(kāi)發(fā)人員定制了Netscape
54、WWW效勞器根本效勞的功能。開(kāi)發(fā)人員利用NSAPI可以開(kāi)發(fā)與WWW效勞器的接口,以及與數(shù)據(jù)庫(kù)效勞器等外部資源的接口。3基于JDBC的Web數(shù)據(jù)庫(kù)技術(shù)JDBC是用于執(zhí)行SQL語(yǔ)句的Java應(yīng)用程序接口API,由Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成。Java是一種面向?qū)ο?、多線程與平臺(tái)無(wú)關(guān)的編程語(yǔ)言,具有極強(qiáng)的可移植性、平安性和強(qiáng)健性。JDBC是一種標(biāo)準(zhǔn),能為開(kāi)發(fā)者提供標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)訪問(wèn)類(lèi)和接口,能夠方便地向任何關(guān)系數(shù)據(jù)庫(kù)發(fā)送SQL語(yǔ)句,同時(shí)JDBC是一個(gè)支持根本SQL功能的低層應(yīng)用程序接口,但實(shí)際上也支持高層的數(shù)據(jù)庫(kù)訪問(wèn)工具及API。所有這些工作都建立在X/Open SQL CLI根底上。JDBC的主要
55、任務(wù)是定義一個(gè)自然的Java接口來(lái)與X/Open CLI中定義的抽象層和概念連接。JDBC的兩種主要接口分別面向應(yīng)用程序的開(kāi)發(fā)人員的JDBC API和面向驅(qū)動(dòng)程序低層的JDBC Driver API。JDBC完成的工作是:建立與數(shù)據(jù)庫(kù)的連接;發(fā)送SQL語(yǔ)句;返回?cái)?shù)據(jù)結(jié)果給Web瀏覽器。.3 WEB效勞器Tomcat簡(jiǎn)介T(mén)omcat是一個(gè)免費(fèi)的開(kāi)源的Serlvet容器,它是Apache基金會(huì)的Jakarta工程中的一個(gè)核心工程,由Apache,Sun和其它一些公司及個(gè)人共同開(kāi)發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp標(biāo)準(zhǔn)總能在Tomcat中得到表達(dá)。Tomcat被JavaW
56、orld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見(jiàn)其在業(yè)界的地位。Tomcat提供了各種平臺(tái)的版本供下載,可以從其官方網(wǎng)站上下載其源代碼版或者二進(jìn)制版。由于Java的跨平臺(tái)特性,基于Java的Tomcat也具有跨平臺(tái)性。Tomcat也提供其它的一些特征,如與SSL集成到一塊,實(shí)現(xiàn)平安傳輸。還有Tomcat也提供JNDI支持,這與那些J2EE應(yīng)用效勞器提供的是一致的。說(shuō)到這里我們要介紹一下通常所說(shuō)的應(yīng)用效勞器如WebLogic與Tomcat有何區(qū)別。應(yīng)用效勞器提供更多的J2EE特征,如EJB,JMS,JAAS等,同時(shí)也支持Jsp和Servlet.而Tomcat那么功能沒(méi)有那么強(qiáng)大,它
57、不提供EJB等支持。但如果與JBoss一個(gè)開(kāi)源的應(yīng)用效勞器集成到一塊,那么可以實(shí)現(xiàn)J2EE的全部功能。既然應(yīng)用效勞器具有Tomcat的功能,那么Tomcat有沒(méi)有存在的必要呢?事實(shí)上,我們的很多中小應(yīng)用不需要采用EJB等技術(shù),Jsp和Servlet已經(jīng)足夠,這時(shí)如果用應(yīng)用效勞器就有些浪費(fèi)了。而Tomcat短小精悍,配置方便,開(kāi)源免費(fèi),能滿足我們的需求,這種情況下我們自然會(huì)選擇Tomcat。 JavaScript技術(shù) JavaScript定義Javascript是一種由Netscape的LiveScript開(kāi)展而來(lái)的原型化繼承的面向?qū)ο蟮膭?dòng)態(tài)類(lèi)型的區(qū)分大小寫(xiě)的客戶端腳本語(yǔ)言,主要目的是為了解決效
58、勞器端語(yǔ)言,比方Perl,遺留的速度問(wèn)題,為客戶提供更流暢的瀏覽效果。當(dāng)時(shí)效勞端需要對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,只有28.8kbps,驗(yàn)證步驟浪費(fèi)的時(shí)間太多。于是Netscape的瀏覽器Navigator參加了Javascript,提供了數(shù)據(jù)驗(yàn)證的根本功能。JavaScript 的正式名稱是 ECMAScript。這個(gè)標(biāo)準(zhǔn)由 ECMA 組織開(kāi)展和維護(hù)。ECMA-262 是正式的 JavaScript 標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)基于 JavaScript (Netscape) 和 JScript (Microsoft)。Netscape (Navigator 2.0) 的 Brendan Eich
59、 創(chuàng)造了這門(mén)語(yǔ)言,從 1996 年開(kāi)始,已經(jīng)出現(xiàn)在所有的 Netscape 和 Microsoft 瀏覽器中。ECMA-262 的開(kāi)發(fā)始于 1996 年,在 1997 年 7 月,ECMA 會(huì)員大會(huì)采納了它的首個(gè)版本。.2 JavaScript庫(kù)庫(kù),指得是可以方便應(yīng)用到現(xiàn)有開(kāi)發(fā)體系中的、現(xiàn)成的代碼資源。庫(kù)不僅為大局部日常的DOM教本變成工作提供了快捷的解決方案,而且也提供了許多獨(dú)特的工具。雖然庫(kù)使用起來(lái)很方便,但它們也并非能解決你所有的問(wèn)題。在使用庫(kù)之前,一定要保證真正理解javascript的DOM原理。這些庫(kù)一般是一個(gè)或多個(gè)js文件,只要把他們導(dǎo)入你的網(wǎng)頁(yè)就能使用了。常用的庫(kù)有:jQuer
60、y:javascript庫(kù)中的新成員,提供css和xpath選擇符查找元素,ajax,動(dòng)畫(huà)效果等dojo:一個(gè)巨大的庫(kù),包括的東西很多,dijit和dojox是dojo的擴(kuò)展,幾乎你想要的各種javascript程序都包括了。prototype:一個(gè)非常流行的庫(kù),使用了原型鏈向javascript中添加了很多不錯(cuò)的函數(shù)YUI:yahoo!用戶界面,非常使用,提供各種解決方案。 MySql數(shù)據(jù)庫(kù)簡(jiǎn)介MySQL是目前比較流行的開(kāi)放源碼SQL數(shù)據(jù)庫(kù)管理系統(tǒng),它是由MySQL AB公司開(kāi)發(fā)、發(fā)布并支持的。“開(kāi)放源碼意味著任何人都能使用和改變軟件。任何人都能從Internet下載MySQL軟件,而無(wú)需支
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度景區(qū)園林景觀設(shè)計(jì)與施工與質(zhì)量監(jiān)督服務(wù)合同3篇
- 二零二五年度貨車(chē)司機(jī)聘用合同范本(專業(yè))2篇
- 2025年度平面模特與時(shí)尚雜志合作合同模板4篇
- 2025-2030全球全自動(dòng)線材前處理機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球低功耗工業(yè)平板電腦行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 二零二五年度車(chē)輛貸款擔(dān)保合同示范文本
- 自動(dòng)化生產(chǎn)線設(shè)計(jì)與實(shí)施合同
- 建筑行業(yè)施工項(xiàng)目延期免責(zé)合同
- 醫(yī)療器械租賃法律問(wèn)題考核試卷
- 水處理技術(shù)設(shè)備銷(xiāo)售合同
- 搞笑小品劇本《大城小事》臺(tái)詞完整版
- 物業(yè)服務(wù)和后勤運(yùn)輸保障服務(wù)總體服務(wù)方案
- 人大代表小組活動(dòng)計(jì)劃人大代表活動(dòng)方案
- 《大模型原理與技術(shù)》全套教學(xué)課件
- 2023年護(hù)理人員分層培訓(xùn)、考核計(jì)劃表
- 《銷(xiāo)售培訓(xùn)實(shí)例》課件
- 2025年四川省新高考八省適應(yīng)性聯(lián)考模擬演練(二)地理試卷(含答案詳解)
- 【經(jīng)典文獻(xiàn)】《矛盾論》全文
- Vue3系統(tǒng)入門(mén)與項(xiàng)目實(shí)戰(zhàn)
- 2024年寧夏回族自治區(qū)中考英語(yǔ)試題含解析
- 光伏發(fā)電項(xiàng)目試驗(yàn)檢測(cè)計(jì)劃
評(píng)論
0/150
提交評(píng)論