版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中 南 大 學(xué) central south university 畢業(yè)論文(設(shè)計(jì))課題名稱: 學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 設(shè) 計(jì) 者: 指導(dǎo)老師: 院 系: 專業(yè)班級(jí): 完成時(shí)間: 1題目類型:(1)理論研究(2)實(shí)驗(yàn)研究(3)工程設(shè)計(jì)(4)工程技術(shù)研究(5)軟件開發(fā)2題目來源:(1)教師科研題(2)生產(chǎn)實(shí)際題(3)模擬或虛構(gòu)題(4)學(xué)生自選題1 畢業(yè)論文(設(shè)計(jì))主要參考資料主要參考書類:1、 梁曉暉,來繼敏主編;asp.net 2.0(c#)網(wǎng)站開發(fā)實(shí)用教程 北京:機(jī)械工業(yè)出版社2、 譚浩強(qiáng)主編; 計(jì)算機(jī)網(wǎng)絡(luò)教程 北京:電子工業(yè)出版社3、 (美)波奈爾 著,韓宏志譯; 數(shù)據(jù)庫(kù)設(shè)計(jì)與開發(fā)教程北京
2、:清華大學(xué)出版社主要參考雜志類:計(jì)算機(jī) 網(wǎng)絡(luò)數(shù)據(jù)庫(kù) 網(wǎng)絡(luò)開發(fā)工具以及網(wǎng)上的一些相關(guān)資料.2 畢業(yè)論文(設(shè)計(jì))進(jìn)度安排階段階段內(nèi)容起止時(shí)間1搜集資料,熟悉開發(fā)工具。2分析資料,擬定研究方案和方案優(yōu)化。3制作、調(diào)試、確定技術(shù)參數(shù)值4整理數(shù)據(jù)、撰寫論文5論文答答辯指導(dǎo)教師(簽名) 時(shí)間:年 月 日教研室(所)主任(簽名) 時(shí)間:年 月 日主管院長(zhǎng)(簽名) 時(shí)間:年 月 日中 南 大 學(xué)畢業(yè)論文(設(shè)計(jì))成績(jī)?cè)u(píng)定表(一)指導(dǎo)教師評(píng)語 該論文撰寫符合規(guī)范要求。畢業(yè)論文設(shè)計(jì)中具有一定的創(chuàng)新觀點(diǎn),設(shè)計(jì)思想比較清晰,對(duì)應(yīng)用的開發(fā)工具能夠比較熟練的掌握運(yùn)用,設(shè)計(jì)的軟件功能也比較完善,基本實(shí)現(xiàn)了畢業(yè)任務(wù)書中下達(dá)的畢
3、業(yè)設(shè)計(jì)要求。在畢業(yè)論文設(shè)計(jì)的過程中體現(xiàn)出該生具有較扎實(shí)的基礎(chǔ)知識(shí),對(duì)所學(xué)的知識(shí)能夠比較靈活的運(yùn)用,具有較良好的團(tuán)隊(duì)合作精神,能夠通過團(tuán)隊(duì)合作相互協(xié)商解決軟件開發(fā)過程中遇到的各種難題,并具備了一定的獨(dú)立的解決問題的能力。希望在以后的工作中,能不斷加強(qiáng)學(xué)習(xí),提高自身的專業(yè)知識(shí)水平與相應(yīng)的動(dòng)手能力。建議成績(jī): 優(yōu)秀 指導(dǎo)教師 年 月 日摘要 隨著internet/intranet的快速發(fā)展,數(shù)據(jù)庫(kù)技術(shù)的進(jìn)一步成熟,建立能業(yè)務(wù)化工作的學(xué)生學(xué)籍管理系統(tǒng)是當(dāng)前高校管理部門的迫切要求。文章參考了目前國(guó)內(nèi)高校學(xué)生管理的發(fā)展情況及管理模式,借鑒了目前國(guó)內(nèi)先進(jìn)的大型管理系統(tǒng),對(duì)高校學(xué)生學(xué)籍管理進(jìn)行了總體設(shè)計(jì),建設(shè)
4、“基于web的”運(yùn)行平臺(tái),實(shí)現(xiàn)方便快捷的前端web登錄和查詢,采用了sql server 2000作為后臺(tái)數(shù)據(jù)庫(kù),采用asp及ado技術(shù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作及維護(hù)。 首先,論文討論了web數(shù)據(jù)庫(kù)的發(fā)展歷程:從最早的主機(jī)/終端結(jié)構(gòu)到近年來較流行的客戶機(jī)/服務(wù)器機(jī)構(gòu),再到目前最先進(jìn)的瀏覽器/服務(wù)器結(jié)構(gòu)。討論結(jié)果是:瀏覽器/服務(wù)器模式中的客戶機(jī)使用的是統(tǒng)一的瀏覽器界面格式,便于操作,簡(jiǎn)單易行,有利于提高工作效率,易實(shí)現(xiàn)不同網(wǎng)絡(luò)間的連接。因此學(xué)生學(xué)籍管理系統(tǒng)采用的就是瀏覽器/服務(wù)器模式。 再者,論文討論了訪問web數(shù)據(jù)庫(kù)的五種方法,對(duì)于在web服務(wù)器端提供中間件的方法有兩種:cgi和api。其中,cgi效
5、率低,速度慢;api雖然克服了cgi的缺點(diǎn),但兼容性差,開發(fā)難度大。通過比較五種方法的優(yōu)缺點(diǎn),得出的結(jié)論是:用asp技術(shù)訪問學(xué)生成績(jī)數(shù)據(jù)庫(kù)具有易實(shí)現(xiàn)、功能強(qiáng)大、效率高等優(yōu)點(diǎn)。 最后,論文提出了用asp和ado技術(shù)相結(jié)合來實(shí)現(xiàn)學(xué)生成績(jī)數(shù)據(jù)庫(kù)的訪問,得出的結(jié)論是:用asp+ado訪問服務(wù)器端的數(shù)據(jù)庫(kù)的實(shí)質(zhì)就是利用ado對(duì)象訪問數(shù)據(jù)源。但是這種方案也有它的不足之處:由于ado是以一個(gè)本地?cái)?shù)據(jù)訪問組件,而asp+ado方案中,ado在web服務(wù)器端使用,因此該方法只能對(duì)服務(wù)器端數(shù)據(jù)庫(kù)進(jìn)行訪問,而當(dāng)數(shù)據(jù)庫(kù)服務(wù)器與web服務(wù)器不在同一計(jì)算機(jī)上時(shí),這種方案就行不通;再者由于用戶每次查詢都必須連接服務(wù)器,然后
6、等待回應(yīng),因此,對(duì)于需要頻繁訪問數(shù)據(jù)庫(kù)的應(yīng)用如“網(wǎng)上辦公”就顯得過于繁瑣。 基于b/s結(jié)構(gòu)的高等專業(yè)技術(shù)學(xué)院學(xué)生學(xué)籍管理系統(tǒng)(以下簡(jiǎn)稱ssms)就是利用asp技術(shù)和web數(shù)據(jù)庫(kù)相結(jié)合實(shí)現(xiàn)的,它具有數(shù)據(jù)輸入、查詢修改補(bǔ)考處理、畢業(yè)處理和報(bào)表輸出等功能。它的成功實(shí)現(xiàn)對(duì)提高高校的學(xué)生管理水平具有非常重要的意義。應(yīng)用表明:學(xué)生學(xué)籍管理系統(tǒng)用戶界面友好,操作靈活方便,可大大提高工作效率,基本實(shí)現(xiàn)“無紙化辦公”。 關(guān)鍵詞:c/s結(jié)構(gòu) b/s結(jié)構(gòu) web數(shù)據(jù)庫(kù) ado 32- -目錄第一章 緒論1 1.1研究這個(gè)系統(tǒng)的重要性1 1.2自己做的主要工作1 1.3全文概要1第二章 系統(tǒng)分析32.1系統(tǒng)設(shè)計(jì)目的3
7、2.2系統(tǒng)設(shè)計(jì)32.3系統(tǒng)介紹32.3.1總體框架32.3.2系統(tǒng)特點(diǎn)4第三章 基于web的數(shù)據(jù)庫(kù)技術(shù)53.1 web數(shù)據(jù)庫(kù)的發(fā)展歷程53.1.1主機(jī)/終端結(jié)構(gòu)53.1.2客戶機(jī)/服務(wù)器結(jié)構(gòu)53.1.3瀏覽器/服務(wù)器結(jié)構(gòu)63.2 web數(shù)據(jù)庫(kù)管理系統(tǒng)介紹63.2.1 web數(shù)據(jù)庫(kù)工作原理73.2.2訪問web數(shù)據(jù)庫(kù)的五種方法7第四章asp技術(shù)訪問學(xué)生成績(jī)數(shù)據(jù)庫(kù)94.1 asp的工作原理94.2 asp頁(yè)面的結(jié)構(gòu)94.3asp提供的內(nèi)置對(duì)象和組件94.3.1 request和reponses接收向成績(jī)庫(kù)提交的數(shù)據(jù)并作出響應(yīng)104.3.2用post和get方法獲取表單輸入數(shù)據(jù)104.3.3 ser
8、ver對(duì)象提供服務(wù)器端的基本屬性和方法114.3.4 session對(duì)象124.3.5 application對(duì)象124.4通過asp與學(xué)生成績(jī)數(shù)據(jù)庫(kù)建立連接124.5如何向數(shù)據(jù)庫(kù)添加、修改和刪除數(shù)據(jù)134.5.1向數(shù)據(jù)庫(kù)中添加新數(shù)據(jù)134.5.2修改數(shù)據(jù)庫(kù)中已存在的數(shù)據(jù)144.5.3刪除數(shù)據(jù)庫(kù)中的數(shù)據(jù)154.6用cookie集合實(shí)現(xiàn)成績(jī)查詢的分頁(yè)瀏覽154.7 activex服務(wù)器組件164.8 asp開發(fā)web數(shù)據(jù)庫(kù)的步驟164.8.1建立ado數(shù)據(jù)環(huán)境164.8.2處理返回集174.8.3釋放環(huán)境變量184.9 asp中web數(shù)據(jù)庫(kù)的更新184.9.1添加數(shù)據(jù)庫(kù)記錄184.9.2刪除數(shù)據(jù)
9、庫(kù)記錄184.9.3修改數(shù)據(jù)庫(kù)記錄184.9.4移動(dòng)數(shù)據(jù)庫(kù)記錄指針18第五章ado訪問學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)19 5.1創(chuàng)建和配置odbc數(shù)據(jù)源195.1.1 odbc簡(jiǎn)介195.1.2創(chuàng)建和配置odbc數(shù)據(jù)源205.2用sql語句對(duì)成績(jī)庫(kù)作插入、刪除、更新205.3 ado存取成績(jī)庫(kù)的實(shí)現(xiàn)215.4利用asp和ado訪問web數(shù)據(jù)庫(kù)215.5學(xué)生成績(jī)數(shù)據(jù)庫(kù)查詢22第六章學(xué)生學(xué)籍管理系統(tǒng)的實(shí)現(xiàn)256.1系統(tǒng)開發(fā)平臺(tái)256.2后臺(tái)數(shù)據(jù)庫(kù)的選取256.3系統(tǒng)結(jié)構(gòu)256.4系統(tǒng)流程圖256.5系統(tǒng)實(shí)現(xiàn)的主要技術(shù)266.6系統(tǒng)實(shí)現(xiàn).266.7安全控制技術(shù)276.8 b/s的優(yōu)勢(shì)與不足28第七章結(jié)束語2
10、9致謝30參考文獻(xiàn)31第一章 緒論 人類社會(huì)己經(jīng)踏入21世紀(jì)的門檻,驀然回首:20世紀(jì)90年代以來,全球信息技術(shù)發(fā)展明顯加快。由于芯片技術(shù)、電腦軟件技術(shù)突飛猛進(jìn)地提高,電腦功能正日趨強(qiáng)大。隨著internet的出現(xiàn),人們己經(jīng)認(rèn)識(shí)到,周圍的一切正在發(fā)生異乎尋常的變化:“奔騰”贊歌唱遍各個(gè)角落;多媒體計(jì)算機(jī)迅速走進(jìn)家庭;上網(wǎng)已成為人們?nèi)粘I畹囊徊糠?www瀏覽使你足不出戶便知天下事:各種應(yīng)用軟件更是應(yīng)有盡有。事實(shí)證明:網(wǎng)絡(luò)的普及及應(yīng)用大大推動(dòng)了計(jì)算機(jī)應(yīng)用的發(fā)展。從國(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ò)
11、發(fā)展已經(jīng)超越了國(guó)界,跨越了地域,使地球上的人們似乎生活在一個(gè)“地球村”里。 在新的世紀(jì)里,信息技術(shù)迅猛發(fā)展,而網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)庫(kù)技術(shù)又是信息技術(shù)最主要的核心。于是,基于web的數(shù)據(jù)庫(kù)也就應(yīng)運(yùn)而生了。 隨著internet/intranet技術(shù)的發(fā)展,開發(fā)基于web的應(yīng)用程序勢(shì)在必行,數(shù)據(jù)庫(kù)技術(shù)更是需要和web技術(shù)相結(jié)合,才有更為廣闊的前景。asp作為微軟推出的新興web應(yīng)用程序開發(fā)技術(shù),在數(shù)據(jù)庫(kù)應(yīng)用方面發(fā)揮著越來越重要的作用,同時(shí)瀏覽器/服務(wù)器模式的數(shù)據(jù)庫(kù)體系也正逐漸成為數(shù)據(jù)庫(kù)結(jié)構(gòu)的主流。 1.1研究這個(gè)系統(tǒng)的重要性 internet的普及和應(yīng)用使人們的現(xiàn)代生活方式發(fā)生了深刻的變化,學(xué)校總是處于
12、接受新知識(shí)的最前沿地帶,于是校園網(wǎng)的應(yīng)用和管理系統(tǒng)的開發(fā)也正蓬勃發(fā)展并發(fā)揮著巨大的作用,遠(yuǎn)程教育、網(wǎng)上查詢成績(jī)、網(wǎng)上招生等等對(duì)于我們己不再陌生。 然而,目前很多高校的學(xué)生管理仍然采用的是傳統(tǒng)的管理模式:分發(fā)試卷給學(xué)生考試、老師領(lǐng)表手工登錄成績(jī)、學(xué)生查詢成績(jī)還必須到教學(xué)管理部門。事實(shí)證明:這種傳統(tǒng)的管理模式既浪費(fèi)人力資源,又不利于提高工作效率。于是,開發(fā)一套學(xué)生學(xué)籍管理系統(tǒng)已經(jīng)迫在眉睫。 基于上述原因,我們?cè)O(shè)計(jì)并開發(fā)了這套學(xué)生學(xué)籍管理系統(tǒng)。 1.2自己做的主要工作 論文分析了web數(shù)據(jù)庫(kù)及asp技術(shù)在學(xué)生學(xué)籍管理系統(tǒng)中的應(yīng)用,本文的主要工作如下: 重點(diǎn)討論了b/s結(jié)構(gòu)的工作原理及其特點(diǎn),分析了實(shí)
13、現(xiàn)web數(shù)據(jù)庫(kù)的不同方法,客觀地分析了它們的優(yōu)缺點(diǎn)。討論結(jié)果是:asp技術(shù)無論在操作的可行性、方便性還是性能上都是一種實(shí)現(xiàn)web數(shù)據(jù)庫(kù)的最好方法。 探討了asp技術(shù)五個(gè)主要的內(nèi)置對(duì)象和activex服務(wù)器組件在學(xué)生學(xué)籍管理系統(tǒng)中的應(yīng)用,并介紹了如何利用asp技術(shù)向數(shù)據(jù)庫(kù)中添加、修改和刪除數(shù)據(jù)。 重點(diǎn)討論了如何利用數(shù)據(jù)庫(kù)訪問組件ado技術(shù)實(shí)現(xiàn)學(xué)生成績(jī)數(shù)據(jù)庫(kù)與服務(wù)器的連接,并利用其屬性和方法完成對(duì)成績(jī)庫(kù)的訪問。 詳盡介紹了學(xué)生學(xué)籍管理系統(tǒng)的總體框架、工作流程和系統(tǒng)使用的主要技術(shù)。 1.3全文概要 第一章簡(jiǎn)要回顧了網(wǎng)絡(luò)的發(fā)展,研究該課題的原因。 第二章陳述了系統(tǒng)研究的目的、系統(tǒng)設(shè)計(jì)、總體框架和系統(tǒng)的
14、特點(diǎn)。 第三章介紹了基于web的數(shù)據(jù)庫(kù)技術(shù)的發(fā)展情況,并重點(diǎn)介紹了瀏覽器/服務(wù)器(b/s)模式和asp技術(shù)訪問web數(shù)據(jù)庫(kù)的優(yōu)點(diǎn)。 第四章論述了asp訪問web數(shù)據(jù)庫(kù)的工作原理、簡(jiǎn)要介紹了asp的對(duì)象和組件以及怎樣在數(shù)據(jù)庫(kù)與服務(wù)器之間建立連接,最后講述了asp開發(fā)web數(shù)據(jù)庫(kù)的幾個(gè)步驟。 第五章討論了怎樣利用ado技術(shù)訪問、查詢成績(jī)數(shù)據(jù)庫(kù),以及怎樣利用ado對(duì)象及sql語句對(duì)成績(jī)數(shù)據(jù)庫(kù)進(jìn)行修改等操作。 第六章畫出了系統(tǒng)流程圖,陳述了系統(tǒng)實(shí)現(xiàn)的主要技術(shù),分析了系統(tǒng)實(shí)現(xiàn)的不足之處。 第七章是結(jié)束語。對(duì)全篇論文進(jìn)行了總結(jié),探討了今后應(yīng)該努力的方向。 國(guó)際互聯(lián)網(wǎng)技術(shù)日新月異,極大地推動(dòng)了基于inter
15、net的應(yīng)用技術(shù)的發(fā)展。支持web數(shù)據(jù)庫(kù)訪問的新技術(shù)也層出不窮。隨著校園網(wǎng)的發(fā)展,基于internet的教學(xué)管理系統(tǒng)、學(xué)生管理系統(tǒng)也在不斷地深入和發(fā)展。本文所介紹的“基于b/s的學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)”僅僅是高校管理信息系統(tǒng)的一個(gè)小模塊,今后我們將進(jìn)一步努力,不斷地學(xué)習(xí)新知識(shí),爭(zhēng)取將這個(gè)系統(tǒng)做到更加完善。第二章 系統(tǒng)分析 學(xué)生學(xué)籍管理系統(tǒng)是基于web應(yīng)用的校園應(yīng)用方案,提供了學(xué)校信息化管理需要的靈活性,使學(xué)生、教師、家長(zhǎng)和主管部門之間能快速、及時(shí)地進(jìn)行溝通,全面實(shí)現(xiàn)校園的師生管理、教學(xué)管理、考試管理、學(xué)籍管理等,是高校實(shí)施信息化管理的強(qiáng)力支撐。 2. 1系統(tǒng)設(shè)計(jì)目的 隨著計(jì)算機(jī)信息技術(shù)、
16、網(wǎng)絡(luò)通訊等高新技術(shù)的發(fā)展,對(duì)高校學(xué)生管理提出了更高的要求,要求學(xué)生管理系統(tǒng)進(jìn)一步發(fā)展成為學(xué)生管理信息系統(tǒng)。這樣不僅可以使教師從煩瑣的事務(wù)中解脫出來,而且還能提供面向?qū)W生的網(wǎng)上查詢成績(jī)、專家咨詢服務(wù)等快捷、靈活、方便的智能服務(wù)。 學(xué)生學(xué)籍管理系統(tǒng)旨在使校園教學(xué)、教務(wù)管理、學(xué)生管理信息網(wǎng)絡(luò)化,解決已往信息傳遞不方便、不快捷等問題,通過本系統(tǒng)可實(shí)現(xiàn)學(xué)生學(xué)籍管理網(wǎng)絡(luò)化,方便教師網(wǎng)上登錄成績(jī)、學(xué)生網(wǎng)上查詢成績(jī)。應(yīng)用表明,使用該系統(tǒng)可以大大提高工作效率,節(jié)省人力資源,提高高校行政管理的管理水平,有利于推動(dòng)高校學(xué)生管理的“無紙化辦公”進(jìn)程。 2. 2系統(tǒng)設(shè)計(jì) 由于wvvw具有界面友好,操作便捷的特點(diǎn),因而已
17、成為internet上最流行的信息服務(wù),同時(shí)web技術(shù)與數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,實(shí)現(xiàn)web數(shù)據(jù)庫(kù)交互式應(yīng)用已成為必然。當(dāng)今,人們對(duì)于web的要求越來越高,不再只是滿足于html所提供的簡(jiǎn)單的靜態(tài)頁(yè)面,而是需要靈活的動(dòng)態(tài)頁(yè)面。對(duì)于實(shí)現(xiàn)上述要求的技術(shù),目前包括腳本語言(如vbscript和javascript),公共網(wǎng)關(guān)接口(cgi)應(yīng)用編程接口(isapi)等。本系統(tǒng)采用的是asp技術(shù)。 2. 3系統(tǒng)介紹 2. 3. 1.總體框架 采用browser/server三層體系結(jié)構(gòu)及符合國(guó)際標(biāo)準(zhǔn)的tcp/ip網(wǎng)絡(luò)協(xié)議,采用模塊化結(jié)構(gòu),可以適應(yīng)不同規(guī)模用戶的需要。 針對(duì)高校學(xué)生管理的實(shí)際情況,設(shè)計(jì)其系統(tǒng)的總體
18、框架(如圖2. 1所示)。圖2. 1系統(tǒng)總體結(jié)構(gòu) 系統(tǒng)的功能主要體現(xiàn)在各模塊上,系統(tǒng)各功能模塊如下: 1.“輸入成績(jī)”:主要包括“新生注冊(cè)”、“輸入課程名稱”、“修改課程名稱”、“輸入成績(jī)”和“退出系統(tǒng)”等??蓪?shí)現(xiàn)學(xué)生學(xué)籍、應(yīng)修課程及應(yīng)得學(xué)分、己修課程及己得學(xué)分的登記和歸檔工作,并方便學(xué)生對(duì)所選修的課程名稱和成績(jī)實(shí)現(xiàn)網(wǎng)上查詢、實(shí)現(xiàn)網(wǎng)上資源的充分共享。 2.“查詢修改”:主要包括“修改檔案”和“修改成績(jī)”兩個(gè)相對(duì)獨(dú)立的模塊,可用于檔案和成績(jī)的修改。3.“補(bǔ)考處理”:包括“生成補(bǔ)考庫(kù)”、“補(bǔ)考成績(jī)匯總”、“補(bǔ)考通知單”、“補(bǔ)考準(zhǔn)考證”和“補(bǔ)考成績(jī)錄入”六個(gè)功能模塊。該子系統(tǒng)是用戶獲取補(bǔ)考信息和補(bǔ)考
19、成績(jī)的有利途徑。4.“畢業(yè)處理”:包括“錄入畢業(yè)去向”、“確定畢業(yè)結(jié)業(yè)”、“畢業(yè)生名冊(cè)”和“畢業(yè)生卡片”等??蓪?duì)畢業(yè)生的詳細(xì)信息進(jìn)行查詢,并對(duì)畢業(yè)生提供通訊錄、便簽等方便。5.“報(bào)表輸出”:包括“學(xué)生名冊(cè)”、“記分冊(cè)”和“成績(jī)表”等功能模塊。該子系統(tǒng)可用于獲取學(xué)生成績(jī)。6.“系統(tǒng)幫助”:包括“系統(tǒng)幫助”、“關(guān)于”和“退出系統(tǒng)”等。用戶能夠查看該系統(tǒng)的相關(guān)信息。由于系統(tǒng)采用模塊化、結(jié)構(gòu)化設(shè)計(jì),各模塊在信息上互相溝通,功能上互相獨(dú)立,使系統(tǒng)的網(wǎng)絡(luò)擴(kuò)充、功能增加、業(yè)務(wù)擴(kuò)展更容易實(shí)現(xiàn)。2. 3. 2.系統(tǒng)特點(diǎn)本系統(tǒng)的主要功能是通過網(wǎng)絡(luò)實(shí)現(xiàn)現(xiàn)代化高校學(xué)生管理,提高辦公效率。先進(jìn)可靠的系統(tǒng)平臺(tái)和體系結(jié)構(gòu)系
20、統(tǒng)采用目前比較流行的internet體系結(jié)構(gòu)和瘦客戶機(jī)/中間件/服務(wù)器體系(b/s)結(jié)構(gòu)。b/s體系結(jié)構(gòu)前臺(tái)只負(fù)責(zé)界面表示,實(shí)現(xiàn)了瘦客戶機(jī)的構(gòu)想,大大地減輕了維護(hù)工作量,程序的修改只限于數(shù)據(jù)庫(kù)服務(wù)器端及應(yīng)用程序服務(wù)器端,客戶端通過瀏覽器訪問應(yīng)用程序服務(wù)器,界面統(tǒng)一簡(jiǎn)單,軟件層次較少,維護(hù)容易。系統(tǒng)提供的智能性系統(tǒng)中的網(wǎng)絡(luò)服務(wù)器采用了高級(jí)系統(tǒng)體系結(jié)構(gòu)以及擴(kuò)展數(shù)據(jù)輸出(edo)內(nèi)存子系統(tǒng),因而具有強(qiáng)大的工作性能和最大的i/0帶寬。友好的用戶界面及操作的靈活性系統(tǒng)提供類瀏覽器界面,便于用戶實(shí)現(xiàn)各種搜索、查詢操作。在系統(tǒng)的操作過程中體現(xiàn)了簡(jiǎn)單、方便、靈活的特點(diǎn)。值得信賴的可靠性和安全性系統(tǒng)可自動(dòng)檢測(cè)輸
21、入數(shù)據(jù)的準(zhǔn)確性和完整性。當(dāng)出現(xiàn)故障或事故造成系統(tǒng)中斷后,系統(tǒng)對(duì)數(shù)據(jù)的完整性具有檢測(cè)、保護(hù)和恢復(fù)能力。開放性及可擴(kuò)充性軟件設(shè)計(jì)采用標(biāo)準(zhǔn)化接口,硬件平臺(tái)采用標(biāo)準(zhǔn)網(wǎng)絡(luò)接口,采用開放式數(shù)據(jù)庫(kù)互連接口(odbc),使本系統(tǒng)與其它應(yīng)用系統(tǒng)容易實(shí)現(xiàn)互連。先進(jìn)的internet支持系統(tǒng)采用先進(jìn)的計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)技術(shù)、消息傳遞與工作流技術(shù)internet技術(shù)、安全與容錯(cuò)技術(shù)相結(jié)合。本系統(tǒng)為高??缛胄畔⒒虒W(xué)時(shí)代提供技術(shù)支撐平臺(tái),使校內(nèi)應(yīng)用(如成績(jī)管理、學(xué)籍管理、畢業(yè)生信息管理等)系統(tǒng)從單機(jī)操作、c/s結(jié)構(gòu)操作上升到基于web應(yīng)用的b/s結(jié)構(gòu)體系中來。系統(tǒng)提供豐富的服務(wù)以滿足學(xué)校需要。第三章基于 web的數(shù)據(jù)庫(kù)
22、技術(shù) 隨著計(jì)算機(jī)軟硬件技術(shù)的發(fā)展,數(shù)據(jù)庫(kù)技術(shù)也不斷地推陳出新,并實(shí)時(shí)地結(jié)合各種先進(jìn)的信息手段,在實(shí)際應(yīng)用中發(fā)揮著越來越重要的作用。 3. 1 web數(shù)據(jù)庫(kù)的發(fā)展歷程 數(shù)據(jù)庫(kù)技術(shù)從最早的單機(jī)模式、主從體系,發(fā)展到近年來應(yīng)用較廣的客戶機(jī)/服務(wù)器(client/server,以下簡(jiǎn)稱c/s)模式,又到目前最流行也最實(shí)用的瀏覽器/服務(wù)器(browser/server,以下簡(jiǎn)稱b/s)模式。在設(shè)計(jì)一個(gè)系統(tǒng)時(shí),我們首先要考慮的是系統(tǒng)的體系結(jié)構(gòu),采用哪種結(jié)構(gòu)取決于系統(tǒng)的網(wǎng)絡(luò)環(huán)境、應(yīng)用需求等因素。3.1.1主機(jī)/終端結(jié)構(gòu)早期由于主機(jī)價(jià)格昂貴,為了共享主機(jī)資源,一臺(tái)主機(jī)要同時(shí)為多個(gè)用戶服務(wù),但這種系統(tǒng)由于沒有和
23、通信相結(jié)合,所連接的終端往往離主機(jī)的距離很近。這種結(jié)構(gòu)的終端不需要做什么處理工作,一切數(shù)據(jù)處理都交給了主機(jī)去完成。由于主機(jī)包攬了數(shù)據(jù)處理的一切工作,這就要求它具有十分高的性能。這種結(jié)構(gòu)中,服務(wù)器存儲(chǔ)所有數(shù)據(jù),進(jìn)行所有處理運(yùn)算,資源也得到了充分的共享,但是用戶界面不友好,主機(jī)負(fù)載過大(如圖3. 1所示)。圖3. 1主機(jī)/終端結(jié)構(gòu) 3. 1. 2客戶機(jī)/服務(wù)器結(jié)構(gòu)傳統(tǒng)的c/s結(jié)構(gòu)是兩層的,基本思想是:服務(wù)器提供數(shù)據(jù)的存取和管理等,客戶端運(yùn)行相應(yīng)的應(yīng)用,通過網(wǎng)絡(luò)獲得服務(wù)器的服務(wù),使用服務(wù)器上的數(shù)據(jù)庫(kù)資源。與主機(jī)/終端模式相比,c/s結(jié)構(gòu)更容易擴(kuò)充,更加靈活。當(dāng)信息系統(tǒng)的規(guī)模擴(kuò)大或需求改變時(shí),不必重新
24、設(shè)計(jì)便可在原有基礎(chǔ)上進(jìn)行擴(kuò)充和調(diào)整,從而保護(hù)了己有投資。為了應(yīng)用客戶機(jī)/服務(wù)器這種體系結(jié)構(gòu),原來完全放在主機(jī)上的應(yīng)用程序被分成了兩部分:客戶機(jī)端的應(yīng)用程序和服務(wù)器端的應(yīng)用程序,如圖3. 2所示。圖3. 2二層結(jié)構(gòu) 隨著internet技術(shù)的普及和電子商務(wù)技術(shù)的發(fā)展,客戶機(jī)/服務(wù)器結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)正由2層向3層或多層發(fā)展。在如圖3. 3所示的層結(jié)構(gòu)中,應(yīng)用程序的任務(wù)在邏輯上被劃分為3種服務(wù):用戶服務(wù)、業(yè)務(wù)服務(wù)(中間層服務(wù))和數(shù)據(jù)服務(wù)。用戶服務(wù)在客戶機(jī)上,提供了可視化的用戶界面來表示信息和收集數(shù)據(jù):業(yè)務(wù)服務(wù)在一個(gè)或多個(gè)業(yè)務(wù)服務(wù)器上,是聯(lián)系用戶服務(wù)和數(shù)據(jù)服務(wù)的“橋梁”,它們響應(yīng)用戶發(fā)來的請(qǐng)求,實(shí)施業(yè)
25、務(wù)規(guī)則,處理和分析業(yè)務(wù)數(shù)據(jù),獲得業(yè)務(wù)結(jié)果:數(shù)據(jù)服務(wù)在數(shù)據(jù)庫(kù)服務(wù)器上,負(fù)責(zé)數(shù)據(jù)的組織管理,包括數(shù)據(jù)的定義、維護(hù)、訪問和更新以及管理并響應(yīng)業(yè)務(wù)服務(wù)的數(shù)據(jù)請(qǐng)求。圖3. 3三層結(jié)構(gòu) 3. 1. 3瀏覽器/服務(wù)器結(jié)構(gòu) 典型的c/s結(jié)構(gòu)不僅要求為客戶端安裝前端應(yīng)用程序,而且限制客戶端的工作環(huán)境只能基于window、或unix操作系統(tǒng),這些限制條件都不切實(shí)際。人們不能開發(fā)那種只能用于特定計(jì)算環(huán)境的軟件,且在自己的web站點(diǎn)上同時(shí)保存某個(gè)應(yīng)用程序的多個(gè)特定平臺(tái)的版本是不可行的,因?yàn)檫@樣不但使軟件開發(fā)成本大幅度上漲,而且客戶端的計(jì)算環(huán)境可能是千變?nèi)f化的,無法預(yù)知客戶端的計(jì)算環(huán)境會(huì)怎樣改變。不過可以要求在客戶機(jī)上
26、安裝某種具有一定“翻譯”功能的統(tǒng)一的構(gòu)件,這個(gè)構(gòu)件便是瀏覽器。于是基于b/s的系統(tǒng)就應(yīng)運(yùn)而生了,b/s結(jié)構(gòu)是在c/s結(jié)構(gòu)基礎(chǔ)上發(fā)展起來的,各個(gè)客戶端只需安裝一個(gè)簡(jiǎn)單的web瀏覽器,用戶面對(duì)的將是簡(jiǎn)單統(tǒng)一的瀏覽器,而不是一個(gè)復(fù)雜的軟件,這就降低了用戶的使用難度。1.瀏覽器/服務(wù)器結(jié)構(gòu)的工作原理瀏覽器/服務(wù)器模式的數(shù)據(jù)庫(kù)體系是利用web服務(wù)器和asp (active server pages即動(dòng)態(tài)服務(wù)器網(wǎng)頁(yè))作為數(shù)據(jù)庫(kù)操作的中間層,將客戶機(jī)/服務(wù)器模式的數(shù)據(jù)庫(kù)結(jié)構(gòu)與web技術(shù)密切結(jié)合,從而形成具有三層web結(jié)構(gòu)的瀏覽器/服務(wù)器模式的數(shù)據(jù)庫(kù)體系,具體結(jié)構(gòu)如圖3. 4所示。圖3. 4三層web結(jié)構(gòu)的數(shù)
27、據(jù)庫(kù)休系瀏覽器/服務(wù)器結(jié)構(gòu)的工作原理是:在前端采用ie瀏覽器將用戶提交的操作信息向web服務(wù)器發(fā)出http請(qǐng)求,web服務(wù)器通過asp和一些中間組件訪問后臺(tái)數(shù)據(jù)庫(kù),并將操作結(jié)果以html頁(yè)面的形式返回給前端瀏覽器。2.瀏覽器/服務(wù)器模式的優(yōu)點(diǎn)從本質(zhì)上講,b/s模式與傳統(tǒng)c/s都是以同一種請(qǐng)求和應(yīng)答方式來執(zhí)行應(yīng)用的。但傳統(tǒng)的c/s是一種二層或三層結(jié)構(gòu)模式,其客戶端集中了大量應(yīng)用軟件,而b/s客戶端僅需單一的瀏覽器軟件,是一種全新的體系結(jié)構(gòu)。3. 2 web數(shù)據(jù)庫(kù)管理系統(tǒng)介紹傳統(tǒng)的web站點(diǎn)大都由靜態(tài)的html頁(yè)面組成。當(dāng)瀏覽器通過http向服務(wù)器發(fā)出請(qǐng)求時(shí),服務(wù)器只是將原先己設(shè)計(jì)好的頁(yè)面?zhèn)魉徒o瀏
28、覽器。由于靜態(tài)頁(yè)面缺少交互性,因此動(dòng)態(tài)內(nèi)容的開發(fā)就成了越來越多的web站點(diǎn)追求的目標(biāo)所謂“動(dòng)態(tài)”是指用戶按自己的需要通過瀏覽器發(fā)出請(qǐng)求,服務(wù)器運(yùn)行一個(gè)腳本或程序來返回包含最新信息的頁(yè)面供用戶瀏覽。為了向用戶提供大量有用、動(dòng)態(tài)和可交互信息,凡是能夠數(shù)據(jù)庫(kù)化的內(nèi)容,應(yīng)盡量做成數(shù)據(jù)庫(kù)的形式,因?yàn)閿?shù)據(jù)庫(kù)形式的數(shù)據(jù)遠(yuǎn)比其他形式的數(shù)據(jù)容易更新與管理。3. 2. 1 web數(shù)據(jù)庫(kù)工作原理web數(shù)據(jù)庫(kù)基于c/s結(jié)構(gòu),客戶端是瀏覽器,服務(wù)器端是web服務(wù)器。瀏覽器和web服務(wù)器通過http交換信息。web上的大多數(shù)交互均可看成請(qǐng)求和響應(yīng),即瀏覽器向web服務(wù)器發(fā)出請(qǐng)求(一般是要求顯示一個(gè)用戶想看的網(wǎng)頁(yè))而web
29、服務(wù)器則向?yàn)g覽器返回響應(yīng)(通常是一個(gè)html頁(yè)面或圖像等)。 基于web的數(shù)據(jù)庫(kù)采用3層的客戶端/服務(wù)器結(jié)構(gòu):第一層是瀏覽器,第二層是web服務(wù)器,第三層包括一些應(yīng)用程序及相關(guān)的數(shù)據(jù)庫(kù)。瀏覽器作為用戶輸入查詢條件和顯示查詢結(jié)果的交互界面,用戶可以通過填寫表單或輸入關(guān)鍵字的方式來與web交互。當(dāng)用戶單擊表單上的按鈕時(shí),表單中的數(shù)據(jù)便被發(fā)送到web服務(wù)器。web服務(wù)器負(fù)責(zé)用戶輸入信息的接收,它將數(shù)據(jù)傳送至要被處理的腳本或應(yīng)用程序,并在數(shù)據(jù)庫(kù)中查詢數(shù)據(jù)。最后,web服務(wù)器將返回結(jié)果插入到html頁(yè)面,傳送至瀏覽器以響應(yīng)用戶。如圖3. 5所示。圖3. 5 web數(shù)據(jù)庫(kù)工作原理3.2.2訪問web數(shù)據(jù)庫(kù)
30、的五種方法 目前在windows環(huán)境下有多種訪問web數(shù)據(jù)庫(kù)的技術(shù),它不僅與操作系統(tǒng)有關(guān),而且與數(shù)據(jù)庫(kù)管理系統(tǒng)也有著必然的聯(lián)系。主要方法有以下五種: 1.公共網(wǎng)關(guān)接口cgi (common gateway interface) cgi程序不僅使你能生成靜態(tài)的內(nèi)容,而且能生成動(dòng)態(tài)的內(nèi)容。 cg工程序的工作過程是: (1)瀏覽器將用戶信息傳遞給web服務(wù)器; (2)web服務(wù)器運(yùn)行cgi程序; (3) cgi程序通過cgi數(shù)據(jù)庫(kù)網(wǎng)關(guān)對(duì)web數(shù)據(jù)庫(kù)進(jìn)行操作;(4) cgi程序?qū)?shù)據(jù)庫(kù)操作結(jié)果返回給web服務(wù)器;(5) web服務(wù)器將結(jié)果數(shù)據(jù)傳遞給瀏覽器; (6)瀏覽器將數(shù)據(jù)庫(kù)操作的結(jié)果顯示給用戶。該
31、過程如圖3. 6所示。cgi程序的工作過程圖3. 6 cgi程序的工作過程cgi程序能運(yùn)行在多種平臺(tái)上完成一定的功能。在大多數(shù)情況下,cgi程序主要用perl語言編寫。cgi是較早實(shí)現(xiàn)的技術(shù)。適用于多種服務(wù)器平臺(tái),如unix, windows等,但cgi的開發(fā)成本高、維護(hù)困難、功能有限、占用服務(wù)器資源較多。2. internet數(shù)據(jù)庫(kù)連接器idc(internet database connector)這是一種簡(jiǎn)易方案,對(duì)數(shù)據(jù)庫(kù)的操作仍然放在web服務(wù)器端,但用戶可通過sql語句對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、愉入、更新、刪除等操作。idc設(shè)計(jì)簡(jiǎn)易,不用編譯就可直接執(zhí)行,且支持對(duì)數(shù)據(jù)的多重查詢,只適用于小型
32、數(shù)據(jù)庫(kù)系統(tǒng)。3.先進(jìn)數(shù)據(jù)庫(kù)連接器adc (advance database connector)前兩種方案中對(duì)數(shù)據(jù)庫(kù)的操作都是在服務(wù)器端進(jìn)行,而adc是在瀏覽器端執(zhí)行數(shù)據(jù)查詢動(dòng)作。當(dāng)瀏覽器提出對(duì)數(shù)據(jù)庫(kù)的操作請(qǐng)求時(shí),adc先將相應(yīng)的數(shù)據(jù)庫(kù)下載到瀏覽器端,在用戶端對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作。顯然,這種方案效率很高。adc系統(tǒng)開銷較大、響應(yīng)慢,只適用于特別頻繁的數(shù)據(jù)庫(kù)查詢操作。4. java/jdbc語言編程用java語言實(shí)現(xiàn)www數(shù)據(jù)庫(kù),該技術(shù)主要是作用jdbc技術(shù)訪問數(shù)據(jù)庫(kù)。jdbc是一種規(guī)范,其宗旨是讓各數(shù)據(jù)庫(kù)開發(fā)商為java程序員提供標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)訪問類和接口。jdbc與java的結(jié)合,使用戶可以很容易
33、地指導(dǎo)sql語句傳送到任何關(guān)系數(shù)據(jù)庫(kù)中。java語言是一種面向?qū)ο蟆⒁滓浦?、多線程控制的語言。用java/jdbc語言編寫的軟件可移植性強(qiáng),適用于多種操作系統(tǒng),但其執(zhí)行效率和執(zhí)行速度還不理想,目前無法建立高效、高速的應(yīng)用。5.動(dòng)態(tài)服務(wù)器頁(yè)面aspasp是基于web的一種編程技術(shù),可以輕松地實(shí)現(xiàn)對(duì)頁(yè)面內(nèi)容的動(dòng)態(tài)控制,根據(jù)不同的瀏覽者,顯示不同的頁(yè)面內(nèi)容。而瀏覽者一點(diǎn)覺察不出來,就像為他專門制作的頁(yè)面一樣。有ado (active database object,動(dòng)態(tài)數(shù)據(jù)庫(kù)對(duì)象)的支持,asp對(duì)數(shù)據(jù)庫(kù)的操作非常得心應(yīng)手。你甚至可以像使用本地?cái)?shù)據(jù)庫(kù)那樣,管理遠(yuǎn)程主機(jī)上的數(shù)據(jù)庫(kù),對(duì)表格、記錄進(jìn)行各種操
34、作。asp著重于處理動(dòng)態(tài)網(wǎng)頁(yè)和web數(shù)據(jù)庫(kù)的開發(fā),編程靈活、簡(jiǎn)潔,具有較高的性能,是目前訪問web數(shù)據(jù)庫(kù)的最佳選擇。隨著internet技術(shù)的發(fā)展,開發(fā)基于web的應(yīng)用程序勢(shì)在必行,數(shù)據(jù)庫(kù)技術(shù)更是需要和web技術(shù)相結(jié)合,才有更為廣闊的前景。asp作為微軟推出的新興web應(yīng)用程序開發(fā)技術(shù),在數(shù)據(jù)庫(kù)應(yīng)用方面必將發(fā)揮越來越重要的作用,同時(shí)瀏覽器/服務(wù)器模式的數(shù)據(jù)庫(kù)體系也將逐漸成為數(shù)據(jù)庫(kù)結(jié)構(gòu)的主流。第四章 asp技術(shù)訪問學(xué)生成績(jī)數(shù)據(jù)庫(kù) asp是微軟公司推出的最新網(wǎng)絡(luò)應(yīng)用程序開發(fā)技術(shù),是服務(wù)器端腳本編寫環(huán)境,使用它可以創(chuàng)建和運(yùn)行動(dòng)態(tài)、交互的應(yīng)用程序,可以組合html頁(yè),腳本命令和activex組件以創(chuàng)建
35、交互的網(wǎng)絡(luò)頁(yè)和基于網(wǎng)絡(luò)的功能強(qiáng)大的應(yīng)用程序。目前asp己成為開發(fā)動(dòng)態(tài)網(wǎng)站和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的主要技術(shù)之一。 4. 1 asp的工作原理 asp訪問數(shù)據(jù)庫(kù)的工作原理如下: asp腳本實(shí)際上是一種服務(wù)器端的解釋腳本,其腳本包含在以.asp為后綴的文件中。當(dāng)在瀏覽器中訪問以后綴名為.asp的asp主頁(yè)時(shí),網(wǎng)絡(luò)服務(wù)器響應(yīng)http請(qǐng)求并調(diào)用asp引擎(asp.dll)執(zhí)行該文件并解釋執(zhí)行其中的任何腳本(vbscript或javascript),若腳本中有訪問數(shù)據(jù)庫(kù)請(qǐng)求,立刻通過odbc與相應(yīng)的后臺(tái)數(shù)據(jù)庫(kù)相連,由數(shù)據(jù)庫(kù)訪問組件ado(activex data objects)完成操作,最后,asp根據(jù)訪問數(shù)據(jù)庫(kù)
36、的結(jié)果集生成包含有數(shù)據(jù)查詢結(jié)果的html語言的主頁(yè)返回給前端用戶(工作原理見圖4. 1)。圖4. 1 asp訪問web數(shù)據(jù)庫(kù)的工作原理 由于asp在服務(wù)器端運(yùn)行,運(yùn)行結(jié)果以html主頁(yè)形式返回用戶瀏覽器,也就是說,用戶在前端瀏覽器看到的僅僅是asp頁(yè)的執(zhí)行結(jié)果所生成的頁(yè),而asp的頁(yè)本身的內(nèi)容用戶在前端瀏覽器是看不到的,因而asp源程序不會(huì)泄密,增加了系統(tǒng)的安全保密性。此外,asp是面向?qū)ο蟮哪_本環(huán)境,用戶可自行增加activex組件來擴(kuò)充其功能,拓展應(yīng)用范圍。4. 2 asp頁(yè)面的結(jié)構(gòu)asp的程序代碼簡(jiǎn)單通用,文件名由.asp結(jié)尾,asp文件通常由四部分構(gòu)成: 1.標(biāo)準(zhǔn)的html標(biāo)記:所有的
37、html標(biāo)記均可使用。 2. asp語法命令:位于標(biāo)簽內(nèi)的asp代碼。 3.服務(wù)器端的包括語句:可用#包括語句調(diào)入其它asp代碼,增強(qiáng)了編程的靈活性。 4.腳本語言:as p自帶jscript和vbscript兩種腳本語言,增加了asp的編程功能,用戶也可安裝其它腳本語言,如perl, rexx等。 活躍的手寫體就是用vbscript,javascript, perl等腳本語言并遵照asp的語法規(guī)則編寫出的程序,同時(shí)在程序兩端加上這兩個(gè)定界符即可。 4. 3 asp提供的內(nèi)置對(duì)象和組件 asp提供了功能強(qiáng)大的六個(gè)內(nèi)置對(duì)象和五個(gè)內(nèi)置組件,利用這些對(duì)象和組件可以開發(fā)出非常完美的網(wǎng)絡(luò)應(yīng)用程序。 其中
38、六個(gè)內(nèi)置對(duì)象如下: request(請(qǐng)求):從前端用戶取得信息。request對(duì)象將客戶端信息保存在某個(gè)指定的集合中,提供給asp使用。通用的訪問方法為:request. collection (member name)。當(dāng)不指定集合名時(shí),asp將以querystring, form. cookie, server variable的)匝序搜索所有集合,自動(dòng)引用它找到的第一個(gè)匹配的變量。 reponse(響應(yīng)):將信息送給前端用戶。reponse對(duì)象可用來構(gòu)建對(duì)信息的反饋。 server(服務(wù)器):提供網(wǎng)絡(luò)服務(wù)器工具 session(會(huì)話):儲(chǔ)存在一次會(huì)話內(nèi)的用戶信息,僅被該用戶訪問 appl
39、ication(應(yīng)用):管理所有的會(huì)話信息,供所有用戶共享 object context(對(duì)象上下文):提交或中止由asp腳本啟動(dòng)的事務(wù)( i is6.0新增) asp有五個(gè)主要的內(nèi)建對(duì)象:request, reponse, server, session, application,下面將分別舉例對(duì)其進(jìn)行說明。 4. 3. 1用request和reponse接收向成績(jī)庫(kù)提交的數(shù)據(jù)井作出響應(yīng)asp依然遵從流行的,利用客戶端的形成進(jìn)行數(shù)據(jù)交換的方法。asp內(nèi)建的request對(duì)象擁有五個(gè)獲取客戶端資料的方法(querystring/form/cookies /server variables)。
40、集合: querystring:瀏覽器端以get方式所返回的表單數(shù)據(jù)。 form:包含瀏覽器端以post方式所返回的窗口數(shù)據(jù)。 cookies:用來讀取cookie的值。 server variables:服務(wù)器端環(huán)境變量的值。 使用request對(duì)象,可以收集并處理用戶通過http請(qǐng)求傳送的信息,如html表單用post或get方式傳遞的參數(shù),cookies數(shù)據(jù)和環(huán)境變量等。這些信息可以分別從request對(duì)象的集合querystring,form ,cookies ,server variables等中獲取。 語法:request集合名稱(參數(shù))或request(參數(shù)) 如果采用后者,系統(tǒng)
41、會(huì)自動(dòng)選擇相應(yīng)的方法。 例如,以下語句用于從html表單中取得用post方法傳遞的用戶名為lilin數(shù)據(jù): strlilin=request. form(lilin) 如果省略集合名稱,則可以這樣寫: strlilin=請(qǐng)求(lilin)asp將按querystring,form, cookies和server variables順序來搜索集合,當(dāng)發(fā)現(xiàn)第一個(gè)匹配的變量時(shí),就認(rèn)定它是要引用的成員。顯然省略集合名稱會(huì)影響執(zhí)行效率。為了提高效率,最好明確地指定是哪個(gè)集合中的成員。reponse對(duì)象用于將服務(wù)器端的數(shù)據(jù)以html格式發(fā)送到客戶端瀏覽器。該對(duì)象的功能正好與request對(duì)象的功能相反,即
42、request對(duì)象用于得到用戶提交的數(shù)據(jù),而reponse對(duì)象用于發(fā)送數(shù)據(jù),兩者結(jié)合在一起,才使數(shù)據(jù)的動(dòng)態(tài)交互成為可能。例如,在一個(gè)信息查詢頁(yè)面中,當(dāng)用戶輸入查詢條件交提交到服務(wù)器時(shí),需要編寫一個(gè)asp程序,用request對(duì)象得到用戶輸入查詢條件有,然后根據(jù)查詢條件查找數(shù)據(jù),并將查找到的結(jié)果用response對(duì)象返回到瀏覽器。 4. 3. 2用post和get方法獲取表單輸入數(shù)據(jù)學(xué)生學(xué)籍管理系統(tǒng)中,先建立一個(gè)用戶輸入界面的表單,這是一個(gè)讓瀏覽者輸入數(shù)據(jù)的形式,然后將這些數(shù)據(jù)返回到web服務(wù)器,以備登錄或查詢使用。而request對(duì)象的用途是幫助我們讀取這些表單數(shù)據(jù),而讀取表單數(shù)據(jù)的方法取決于
43、表單數(shù)據(jù)返回服務(wù)器端的方式。若在標(biāo)記中將method屬性設(shè)為get ,表單數(shù)據(jù)將以字符串的方式附加在網(wǎng)址后面返回服務(wù)器端,例如:http: /127 0 0 1/lw/netquery . htm? name=mary&id=9801001,問號(hào)后面的字符串便是表單數(shù)據(jù),此時(shí)就要用request對(duì)象的querystring集合來獲取表單數(shù)據(jù);若將method屬性設(shè)為“post,表單數(shù)據(jù)將以放在http標(biāo)頭(header)的方式返回服務(wù)器端,該方式通過request對(duì)象的form集合獲取數(shù)據(jù)。 如果表單處理很簡(jiǎn)單,所提交的數(shù)據(jù)很少且該數(shù)據(jù)的安全性并不重要,那么采用get的方法比較好,因?yàn)樗褂煤?jiǎn)
44、單的方式向服務(wù)器傳輸數(shù)據(jù)。但是用這種方式請(qǐng)求串的長(zhǎng)度會(huì)受限制,而且處理密碼的表單安全性差。采用post方式輸入的請(qǐng)求串長(zhǎng)度不受限制,并且在用戶端的瀏覽器的地址欄里也不會(huì)出現(xiàn)請(qǐng)求的數(shù)據(jù)。其操作方式是先將數(shù)據(jù)包裝起來再傳送出去。在本系統(tǒng)中對(duì)于查詢模塊的數(shù)據(jù)對(duì)象是公開的,在不考慮請(qǐng)求串長(zhǎng)度的情況下,可用默認(rèn)的get方式,但在刪除、修改模塊中,因?yàn)橛锌诹畹尿?yàn)證,所以是需要先用post方式。鑒于此,不妨將method屬性均設(shè)為post方式。那么,在查詢模塊中,判別用戶輸入的搜索類別是否為姓名的條件可為:requestform( kind)=“姓名”,其中kind為姓名或?qū)W號(hào)的表單項(xiàng)名。通過這個(gè)方式,可將
45、用戶在表單界面輸入的某一個(gè)本已傳送到服務(wù)器端的數(shù)據(jù)獲取發(fā)。這就非常方便后面的處理工作。 4.3.3 server對(duì)象提供服務(wù)器端的基本屬性和方法 server對(duì)象會(huì)為你提供一些固定的server端的方法和屬性,包括script timeout. mappath. server.create06ject和urlencode等。 1.屬性 scripttimeout是server的屬性,它規(guī)定一個(gè)asp程序必須在指定的時(shí)間內(nèi)執(zhí)行,逾期就不再執(zhí)行。 如:serverscripttimeout=200(計(jì)數(shù)單位為秒,缺省時(shí)為90秒)。 2.方法mappath方法語法:server. mappath (
46、path)mappath是server一個(gè)方法,用于把web server的虛擬路徑轉(zhuǎn)換為實(shí)際路徑。如servermappath(/)=c: inetpubwwwroot,對(duì)于路徑參數(shù)“/”和“”,asp都會(huì)視為一樣。在這里有一點(diǎn)要注意的是,系統(tǒng)只是對(duì)應(yīng)web server的真實(shí)根目錄輸出結(jié)果,而不會(huì)去檢查文件系統(tǒng)中是否真的存在這樣一個(gè)目錄。 server.create0bject方法 語法:server.create0bject (progid) progid指定要?jiǎng)?chuàng)建的對(duì)象的實(shí)例 server.create0bject是server對(duì)象中最重要的方法,用于創(chuàng)建已注冊(cè)到服務(wù)器上的active
47、x組件的實(shí)例。activex組件能夠輕松地?cái)U(kuò)展activex的能力,實(shí)現(xiàn)許多重要的功能,如:數(shù)據(jù)庫(kù)的連接、文件的訪問等功能。正是這些組件才使asp具有強(qiáng)大的生命力。 服務(wù)器組件和asp內(nèi)置的對(duì)象一樣有集合、屬性和方法,但不同的是無法直接存取,必須先建立一個(gè)對(duì)象實(shí)例,然后再通過此對(duì)象實(shí)例去存取其集合、屬性和方法。鑒于此原因,在學(xué)生學(xué)籍管理系統(tǒng)中要想使用數(shù)據(jù)訪問組件,必須先用此方法建立一個(gè)對(duì)象實(shí)例,才可去做其它刪減記錄的操作。 在學(xué)生學(xué)籍管理系統(tǒng)中,為了訪問成績(jī)庫(kù),必須先建立對(duì)象實(shí)例,如: set objs=server.create06ject(“dodb. connection”) 其中,se
48、t是vbscript關(guān)鍵詞,objs是這個(gè)對(duì)象的名稱,習(xí)慣上將對(duì)象實(shí)例的名稱以obj開頭來命名,adodb是asp服務(wù)器的一個(gè)組件,用于處理數(shù)據(jù)庫(kù)。 默認(rèn)情況下,由server.create0bject方法創(chuàng)建的對(duì)象具有頁(yè)作用域,即當(dāng)asp頁(yè)處理完之后,服務(wù)器將自動(dòng)破壞這些對(duì)象,也可通過nothing來釋放創(chuàng)建的組件所占的資源。如: urlencode方法 urlencode方法根據(jù)url編碼原則,把源字符串編碼為目標(biāo)字符串,其中空白的字符用“+”代替。4. 3. 4 session對(duì)象session是asp中一個(gè)非常重要的對(duì)象,編程時(shí),都會(huì)涉及到變量是定義為全局變量還是局部變量這個(gè)問題。但在
49、internet上的開發(fā)卻很少提及這個(gè)問題(java除外),因?yàn)槊恳粋€(gè)html頁(yè)面都是非相關(guān)的,傳輸完畢后,全部鏈接都會(huì)斷開。在asp中則不一樣,我們可以定義一些全局變量,在當(dāng)前瀏覽器沒有被關(guān)閉前使用。這些變量可以在global. asp中進(jìn)行定義。 語法:session.屬性|法 一般建立新的session對(duì)象都是采用set關(guān)鍵字,如%set session(“變量名稱“)=要賦的值。如果賦給session變量的是一個(gè)數(shù)組,則讀取時(shí)需存放到數(shù)組中,因?yàn)橄到y(tǒng)是將其視為一個(gè)對(duì)象(object)。 4. 3. 5 application對(duì)象 global. asa是用于定義session, app
50、lication和object對(duì)象的一個(gè)文件,客戶端是不能看到該文件的。但該文件一定要放在程序的根目錄上,而且文本中不能有html標(biāo)記并且文件名不能改動(dòng)。下面是一個(gè)global. asa文本的范例。 sub session_onstart ,=visual interdev generated一dataconnection startspan=二 ,-project data connectionsession(nnb_connectionstring)=dsn=*;uid=lilin ;app=microsoft(r) developer studio; wsid=lilin;databas
51、e=* session(nnb connectiontimeout)=15 session(nnb_commandtimeout)=30 session(nnb_ runtimelisername)=lilin session(nnb_ runtimepassword)=* ,=visual interdev generated一dataconnection endspan= end sub application與session的區(qū)別在于,網(wǎng)上的用戶都可以使用application的對(duì)象,因而是需要加鎖的;而session只是針對(duì)一個(gè)客戶而已。如定義一個(gè)application變量為appli
52、cation(name)=1234。 asp更高級(jí)的應(yīng)用還包括它內(nèi)建有一些activex控件和可調(diào)用其它的控件等功能,暫不在本文討論。 4. 4通過asp與學(xué)生成績(jī)數(shù)據(jù)庫(kù)建立連接 因?yàn)樾枰僮鞣?wù)器端的數(shù)據(jù)庫(kù),所以必須在數(shù)據(jù)庫(kù)與服務(wù)器之間建立連接,建立連接(connection)是數(shù)據(jù)庫(kù)存取的開始。 1.建立connection對(duì)象 我們使用asp的內(nèi)建對(duì)象方法server.createobject建立與數(shù)據(jù)庫(kù)的連接。adodb是asp內(nèi)置的數(shù)據(jù)庫(kù)存取組件。 這樣就創(chuàng)建了一個(gè)名為cn的connection對(duì)象實(shí)例,通過這個(gè)對(duì)象實(shí)例,就可使用connection對(duì)象提供的open方法打開與數(shù)據(jù)庫(kù)的連接。 2.使用open方法打開與成績(jī)數(shù)據(jù)庫(kù)的連接(成績(jī)數(shù)據(jù)庫(kù)stxf. dbf)。driver參數(shù)語法:driver=microsoft access driver(*.mdb)告訴系統(tǒng)使用access數(shù)據(jù)庫(kù)的odbc驅(qū)動(dòng)處理。dbq用來指定打開的數(shù)據(jù)庫(kù)文件名,它必須是完整
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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年代理記帳合同商范文(2篇)
- 2025年產(chǎn)品承包經(jīng)營(yíng)合同(2篇)
- 2025年個(gè)人門面店鋪轉(zhuǎn)讓協(xié)議范文(2篇)
- 民宿裝修合同專業(yè)文檔
- 親子樂園裝修合同模板
- 國(guó)際藝術(shù)品收藏居間協(xié)議
- 家電公司辦公室翻新協(xié)議
- 養(yǎng)殖技術(shù)升級(jí)飼料配送協(xié)議
- 客運(yùn)站裝修改造協(xié)議
- 塑料原料運(yùn)輸服務(wù)合同
- 醫(yī)院消防安全培訓(xùn)課件(完美版)
- 人教版(2024新版)一年級(jí)上冊(cè)數(shù)學(xué)第一單元《數(shù)學(xué)游戲》單元整體教學(xué)設(shè)計(jì)
- 魏寧海超買超賣指標(biāo)公式
- 防洪防汛安全知識(shí)教育課件
- (正式版)FZ∕T 80014-2024 潔凈室服裝 通 用技術(shù)規(guī)范
- 新起點(diǎn)英語二年級(jí)下冊(cè)全冊(cè)教案
- 【幼兒園戶外體育活動(dòng)材料投放的現(xiàn)狀調(diào)查報(bào)告(定量論文)8700字】
- 剪映專業(yè)版:PC端短視頻制作(全彩慕課版) 課件 第3章 短視頻剪輯快速入門
- 湖南省長(zhǎng)沙市開福區(qū)青竹湖湘一外國(guó)語學(xué)校2023-2024學(xué)年九年級(jí)下學(xué)期一模歷史試題
- 帶狀皰疹與帶狀皰疹后遺神經(jīng)痛(HZ與PHN)
- 漢密爾頓抑郁和焦慮量表
評(píng)論
0/150
提交評(píng)論