ASP校友錄的實(shí)現(xiàn)_第1頁(yè)
ASP校友錄的實(shí)現(xiàn)_第2頁(yè)
ASP校友錄的實(shí)現(xiàn)_第3頁(yè)
ASP校友錄的實(shí)現(xiàn)_第4頁(yè)
ASP校友錄的實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE22引言本課題的研究意義隨著人類的進(jìn)步和科技的發(fā)展,當(dāng)今社會(huì)已進(jìn)入信息化時(shí)代,信息技術(shù)越來越廣泛地進(jìn)入了我們社會(huì)生活的諸多層面,正改變著人們的思維、生活和工作方式。世界各國(guó)都把信息技術(shù)作為切入全球經(jīng)濟(jì)的一把利器。江澤民同志指出:四個(gè)現(xiàn)代化,哪一個(gè)也離不開信息化?!凹铀侔l(fā)展信息產(chǎn)業(yè),大力推進(jìn)信息化”已經(jīng)成為我國(guó)實(shí)現(xiàn)四個(gè)現(xiàn)代化的重要舉措,也是“十五”綱要的一項(xiàng)重要內(nèi)容。信息產(chǎn)業(yè)、網(wǎng)絡(luò)經(jīng)濟(jì)、數(shù)字設(shè)備越來越得到各級(jí)政府、各行業(yè)普遍重視。作為經(jīng)濟(jì)大省的江蘇,十分重視信息產(chǎn)業(yè)的發(fā)展,正采取有力措施通過信息化轉(zhuǎn)變,完成從經(jīng)濟(jì)大省向經(jīng)濟(jì)強(qiáng)省的歷史性巨變。其重要任務(wù)是集中力量抓好制造業(yè)和軟件兩大支柱,其中軟件就以應(yīng)用軟件的開發(fā)為主,搞有特色、有品牌、有版權(quán)的優(yōu)秀應(yīng)用軟件。尤其是加強(qiáng)企業(yè)內(nèi)部信息化建設(shè),開發(fā)實(shí)用的應(yīng)用軟件,提高企業(yè)的管理水平,創(chuàng)造較高的社會(huì)經(jīng)濟(jì)效益,才是整個(gè)信息化建設(shè)的基礎(chǔ),也是我們新一代大學(xué)生當(dāng)前最為迫切的任務(wù)。我們新一代大學(xué)生在信息化迅猛發(fā)展的今天,同樣面臨著新的歷史機(jī)遇和挑戰(zhàn),只有不斷提高自身水平才能跟上時(shí)代步伐。隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)科學(xué)技術(shù)越來越廣泛的應(yīng)用于社會(huì)的各個(gè)領(lǐng)域,但到目前為止社會(huì)上的多數(shù)企業(yè)還處于人工管理階段,開發(fā)了校友錄,通過先進(jìn)的計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù),及時(shí)、全面、準(zhǔn)確地采集和處理這些信息,提高了工作效率;提高了管理水平,達(dá)到提高服務(wù)質(zhì)量和經(jīng)濟(jì)效率的目的。2、論文的主要目的、內(nèi)容及作者主要貢獻(xiàn)(1)目的Microsoft?ActiveServerPages(ASP)是服務(wù)器端腳本編寫環(huán)境,使用它可以創(chuàng)建和運(yùn)行動(dòng)態(tài)、交互的Web服務(wù)器應(yīng)用程序。使用ASP可以組合HTML頁(yè)、腳本命令和ActiveX組件以創(chuàng)建交互的Web頁(yè)和基于Web的功能強(qiáng)大的應(yīng)用程序。ASP應(yīng)用程序很容易開發(fā)和修改。目前網(wǎng)上流行的校友錄系統(tǒng)有:ChinaRen搜狐校友錄(JSP)、網(wǎng)易校友錄(JSP)、銀沙校友錄(PHP)、中國(guó)校友錄(JSP)、友聯(lián)同學(xué)錄(JSP)等。它們運(yùn)用的都不是ASP技術(shù),因此設(shè)計(jì)一個(gè)基于ASP技術(shù)的校友錄系統(tǒng)是十分有意義的。(2)內(nèi)容本課題主要研究利用ASP技術(shù)來實(shí)現(xiàn)校友錄的各項(xiàng)功能,如:班級(jí)留言、成員名片、訪問記錄、班級(jí)管理、班級(jí)相冊(cè)等等。其間要解決數(shù)據(jù)庫(kù)訪問,文件上傳,用戶會(huì)話等等技術(shù)問題。最終完成一個(gè)可以投入實(shí)際運(yùn)用的基于ASP技術(shù)的校友錄系統(tǒng)。(3)作者的主要貢獻(xiàn)本人針對(duì)校友錄所需,獨(dú)立完成了此客題研究與開發(fā),包括調(diào)研、分析、設(shè)計(jì)、編碼、測(cè)試、文檔編寫等內(nèi)容。動(dòng)態(tài)網(wǎng)頁(yè)語言目前,最常用的三種動(dòng)態(tài)網(wǎng)頁(yè)語言有ASP(ActiveServerPages),JSP(JavaServerPages),PHP(HypertextPreprocessor)。ASP全名ActiveServerPages,是一個(gè)WEB服務(wù)器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和執(zhí)行動(dòng)態(tài)的、互動(dòng)的、高性能的WEB服務(wù)應(yīng)用程序。ASP采用腳本語言VBScript(Javascript)作為自己的開發(fā)語言。PHP是一種跨平臺(tái)的服務(wù)器端的嵌入式腳本語言。它大量地借用C,Java和Perl語言的語法,并耦合PHP自己的特性,使WEB開發(fā)者能夠快速地寫出動(dòng)態(tài)產(chǎn)生頁(yè)面。它支持目前絕大多數(shù)數(shù)據(jù)庫(kù)。JSP是Sun公司推出的新一代網(wǎng)站開發(fā)語言,Sun公司借助自己在Java上的不凡造詣,將Java從Java應(yīng)用程序和JavaApplet之外,又有新的碩果,就是JSP,JavaServerPage。JSP可以在Serverlet和JavaBean的支持下,完成功能強(qiáng)大的站點(diǎn)程序。技術(shù)特點(diǎn):ASP:1.使用VBScript、JScript等簡(jiǎn)單易懂的腳本語言,結(jié)合HTML代碼,即可快速地完成網(wǎng)站的應(yīng)用程序。2.無須compile編譯,容易編寫,可在服務(wù)器端直接執(zhí)行。3.使用普通的文本編輯器,如Windows的記事本,即可進(jìn)行編輯設(shè)計(jì)。4.與瀏覽器無關(guān)(BrowserIndependence),客戶端只要使用可執(zhí)行HTML碼的瀏覽器,即可瀏覽ActiveServerPages所設(shè)計(jì)的網(wǎng)頁(yè)內(nèi)容。ActiveServerPages所使用的腳本語言(VBScript、Jscript)均在WEB服務(wù)器端執(zhí)行,客戶端的瀏覽器不需要能夠執(zhí)行這些腳本語言。5.ActiveServerPages能與任何ActiveXscripting語言兼容。除了可使用VBScript或JScript語言來設(shè)計(jì)外,還通過plug-in的方式,使用由第三方所提供的其它腳本語言,譬如REXX、Perl、Tcl等。腳本引擎是處理腳本程序的COM(ComponentObjectModel)對(duì)象。6.可使用服務(wù)器端的腳本來產(chǎn)生客戶端的腳本。7.ActiveXServerComponents(ActiveX服務(wù)器組件)具有無限可擴(kuò)充性??梢允褂肰isualBasic、Java、VisualC++、COBOL等程序設(shè)計(jì)語言來編寫你所需要的ActiveXServerComponent。PHP:1數(shù)據(jù)庫(kù)連接PHP可以編譯成具有與許多數(shù)據(jù)庫(kù)相連接的函數(shù)。PHP與MySQL是現(xiàn)在絕佳的群組合。你還可以自己編寫外圍的函數(shù)去間接存取數(shù)據(jù)庫(kù)。通過這樣的途徑當(dāng)你更換使用的數(shù)據(jù)庫(kù)時(shí),可以輕松地修改編碼以適應(yīng)這樣的變化。PHPLIB就是最常用的可以提供一般事務(wù)需要的一系列基庫(kù)。但PHP提供的數(shù)據(jù)庫(kù)接口支持彼此不統(tǒng)一,比如對(duì)Oracle,MySQL,Sybase的接口,彼此都不一樣。這也是PHP的一個(gè)弱點(diǎn)。JSP:1.將內(nèi)容的產(chǎn)生和顯示進(jìn)行分離使用JSP技術(shù),Web頁(yè)面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁(yè)面。使用JSP標(biāo)識(shí)或者小腳本來產(chǎn)生頁(yè)面上的動(dòng)態(tài)內(nèi)容。產(chǎn)生內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans群組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端執(zhí)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其它人,如Web管理人員和頁(yè)面設(shè)計(jì)者,能夠編輯和使用JSP頁(yè)面,而不影響內(nèi)容的產(chǎn)生。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí),產(chǎn)生所請(qǐng)求的內(nèi)容(例如,通過存取JavaBeans群組件,使用JDBC技術(shù)存取數(shù)據(jù)庫(kù)),并且將結(jié)果以HTML(或者XML)頁(yè)面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。2.強(qiáng)調(diào)可重用的群組件絕大多數(shù)JSP頁(yè)面依賴于可重用且跨平臺(tái)的組件(如:JavaBeans或者EnterpriseJavaBeans)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者或者用戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種群組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。3.采用標(biāo)識(shí)簡(jiǎn)化頁(yè)面開發(fā)Web頁(yè)面開發(fā)人員不會(huì)都是熟悉腳本語言的程序設(shè)計(jì)人員。JavaServerPage技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容產(chǎn)生所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠存取和實(shí)例化JavaBeans組件,設(shè)定或者檢索群組件屬性,下載Applet,以及執(zhí)行用其它方法更難于編碼和耗時(shí)的功能。通過開發(fā)定制化標(biāo)識(shí)庫(kù),JSP技術(shù)是可以擴(kuò)展的。今后,第三方開發(fā)人員和其它人員可以為常用功能建立自己的標(biāo)識(shí)庫(kù)。這使得Web頁(yè)面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。作為采用Java技術(shù)家族的一部分,以及Java2EE的一個(gè)成員,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁(yè)面的內(nèi)置腳本語言是基于Java程序設(shè)計(jì)語言的,而且所有的JSP頁(yè)面都被編譯成為JavaServlet,JSP頁(yè)面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java程序設(shè)計(jì)語言“一次編寫,各處執(zhí)行”的特點(diǎn)。隨著越來越多的供貨商將JSP支持加入到他們的產(chǎn)品中,您可以使用自己所選擇的服務(wù)器和工具,修改工具或服務(wù)器并不影響目前的應(yīng)用。應(yīng)用范圍:ASP是Microsoft開發(fā)的動(dòng)態(tài)網(wǎng)頁(yè)語言,也繼承了微軟產(chǎn)品的一貫傳統(tǒng),只能執(zhí)行于微軟的服務(wù)器產(chǎn)品,IIS(InternetInformationServer)(windowsNT)和PWS(PersonalWebServer)(windows98)上。Unix下也有ChiliSoft的組件來支持ASP,但是ASP本身的功能有限,必須通過ASP+COM的群組合來擴(kuò)充,Unix下的COM實(shí)現(xiàn)起來非常困難。PHP可在Windows,Unix,Linux的Web服務(wù)器上正常執(zhí)行,還支持IIS,Apache等一般的Web服務(wù)器,用戶更換平臺(tái)時(shí),無需變換PHP代碼,可即拿即用。JSP同PHP類似,幾乎可以執(zhí)行于所有平臺(tái)。如WinNT,Linux,Unix。在NT下IIS通過一個(gè)外加服務(wù)器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服務(wù)器Apache已經(jīng)能夠支持JSP。由于Apache廣泛應(yīng)用在NT、Unix和Linux上,因此JSP有更廣泛的執(zhí)行平臺(tái)。雖然現(xiàn)在NT操作系統(tǒng)占了很大的市場(chǎng)份額,但是在服務(wù)器方面Unix的優(yōu)勢(shì)仍然很大,而新崛起的Linux更是來勢(shì)不小。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBean甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。第三章運(yùn)行及開發(fā)基于ASP技術(shù)的校友錄系統(tǒng)的軟件環(huán)境1.服務(wù)器軟件要運(yùn)行ASP程序,必須要安裝ASP的運(yùn)行環(huán)境。(雖然有的開發(fā)工具就可以進(jìn)行ASP的調(diào)試運(yùn)行,但是還是有必要將程序放在一個(gè)實(shí)際運(yùn)作時(shí)的環(huán)境中運(yùn)行,調(diào)試并不能演示出實(shí)際運(yùn)作時(shí)的所有問題)于是首要的任務(wù)是安裝設(shè)置好IIS(InternetInformationServer)。微軟公司的IIS是一種集成Web、FTP和Gopher的服務(wù)器軟件,WindowsNT、Windows2000、WindowsXP等后來版本W(wǎng)indows都集成IIS。Windows98下的PWS(PersonalWebServer)也可以作為服務(wù)器軟件但是功能相對(duì)簡(jiǎn)單且限制過多所以我沒有選擇。2.開發(fā)工具和HTML文件一樣,ASP也是純文本文件。所以,甚至可以使用“記事本”編輯ASP文件。當(dāng)然,有個(gè)專門設(shè)計(jì)的代碼編輯器,可以使工作事半功倍。(1)VisualInterDevVisualInterDev是Microsoft為開發(fā)ASP程序?qū)iT推出的集成開發(fā)環(huán)境,功能非常強(qiáng)大。

①可以對(duì)ASP代碼進(jìn)行顏色識(shí)別,自動(dòng)完成代碼。例如輸入“response.”之后,VI會(huì)自動(dòng)把response.的方法列舉出來,供選擇。

②VI中帶有一個(gè)代碼庫(kù),調(diào)用預(yù)先設(shè)計(jì)好的DTC(DesignTimeControl),可以非常簡(jiǎn)單的實(shí)現(xiàn)表單處理、數(shù)據(jù)庫(kù)操作等等復(fù)雜的功能。

③內(nèi)置數(shù)據(jù)庫(kù)管理工具,可以直接進(jìn)行數(shù)據(jù)庫(kù)查詢、修改工作。

④內(nèi)有RS(RemoteScript),支持服務(wù)器、客戶機(jī)間代碼調(diào)用。

⑤群體開發(fā)協(xié)作管理功能,支持多人同時(shí)開發(fā)一個(gè)網(wǎng)站。

但是,VI對(duì)HTML編輯的支持不大夠,在設(shè)計(jì)頁(yè)面效果的方面,不能得心應(yīng)手。

(2)HomeSite如果網(wǎng)站不大,ASP程序不是很龐大的話,可以使用Allaire公司的HomeSite編輯ASP程序。作為一個(gè)HTML代碼編輯器,HomeSite對(duì)HTML的支持可以說登峰造極。顏色識(shí)別、自動(dòng)完成、提示幫助等等,可以使HTML編輯非常輕松。

在HomeSite4.0中,提供了對(duì)ASP的簡(jiǎn)單支持。有一個(gè)ASP工具欄,上面有ASP常用的符號(hào)。HomeSite也可以自動(dòng)使ASP的幾個(gè)常用詞高亮顯示,幫助閱讀代碼。(3)ASPStudio上海先手信息科技有限公司開發(fā)的ASPStudio軟件是一個(gè)集ASP代碼編輯、程序調(diào)試于一體的高性能的ASP項(xiàng)目開發(fā)工具。我選擇的就是是它,雖然這款軟件還在測(cè)試當(dāng)中,但是它的功能已經(jīng)很大程度上滿足了我的要求,并且可以免費(fèi)得到。(4)其它還有很多其它的編輯工具可以編輯ASP。只要是一種代碼編輯器,可以簡(jiǎn)化編輯工作的,都可以根據(jù)個(gè)人喜好選用。如UlraEdit、HotDog等等。

3.數(shù)據(jù)庫(kù)軟件可以在ASP中實(shí)現(xiàn)方便訪問的數(shù)據(jù)庫(kù)軟件有很多。(1)SQLServer微軟公司的SQLServer是一個(gè)全面的數(shù)據(jù)庫(kù)平臺(tái),使用集成的商業(yè)智能(BI)工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQLServer結(jié)合了分析、報(bào)表、集成和通知功能。這使企業(yè)可以構(gòu)建和部署經(jīng)濟(jì)有效的BI解決方案,幫助團(tuán)隊(duì)通過記分卡、Dashboard、Webservices和移動(dòng)設(shè)備將數(shù)據(jù)應(yīng)用推向業(yè)務(wù)的各個(gè)領(lǐng)域。(2)MySQLMySQL是最受歡迎的開源SQL數(shù)據(jù)庫(kù)管理系統(tǒng),它由MySQLAB開發(fā)、發(fā)布和支持。

MySQL是一個(gè)快速的、多線程、多用戶和健壯的SQL數(shù)據(jù)庫(kù)服務(wù)器。MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置(mass-deployed)的軟件中去。(3)AccessMicrosoftAccess是微軟公司OFFICE系列軟件中的一員,它是一個(gè)小型數(shù)據(jù)庫(kù)軟件。除以上介紹的數(shù)據(jù)庫(kù)外還有許多可以勝任的數(shù)據(jù)庫(kù)軟件??紤]到安裝調(diào)試的方便我選擇了Access,Access雖然沒有SQLServer等那么強(qiáng)大但是在小型應(yīng)用中足以滿足要求。4.其他除了服務(wù)器軟件、開發(fā)工具、數(shù)據(jù)庫(kù)軟件外,設(shè)計(jì)校友錄系統(tǒng)中還需要用到些圖片編輯軟件,來實(shí)現(xiàn)網(wǎng)站的美工,如photoshop等。5.ASP校友錄系統(tǒng)具有幾個(gè)基本含義:ASP校友錄系統(tǒng)不是一個(gè)單純的軟件系統(tǒng),而是一人一機(jī)由人和機(jī)器協(xié)同工作。ASP校友錄系統(tǒng)是對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、加工處理、傳遞并產(chǎn)生信息的過程,因此數(shù)據(jù)是校友錄的靈魂。校友錄運(yùn)用了數(shù)據(jù)庫(kù)技術(shù),對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行統(tǒng)一規(guī)劃、存儲(chǔ),供每一位同學(xué)使用,從而實(shí)現(xiàn)即使走出學(xué)校也可以了解各個(gè)同學(xué)的近況。目前,校友錄系統(tǒng)的應(yīng)用非常廣泛,隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和通信技術(shù)的發(fā)展,校友錄系統(tǒng)的功能也日趨完善,并向著智能化、網(wǎng)絡(luò)化、集成化等方向發(fā)展。6.校友錄系統(tǒng)開發(fā)方法介紹目前,常用的校友錄信息的開發(fā)方法有生命周期法、原型法和面向?qū)ο蟮拈_發(fā)方法。第四章系統(tǒng)調(diào)研及可行性分析系統(tǒng)調(diào)研正式開發(fā)管理系統(tǒng)之前進(jìn)行調(diào)研是非常必要的,其必要性主要表現(xiàn)在以下幾個(gè)方面。明確用戶的要求,發(fā)根據(jù)調(diào)查結(jié)果進(jìn)行可行性分析,確認(rèn)系統(tǒng)的開發(fā)是否可行。提出新系統(tǒng)的人員并不都是系統(tǒng)研究員,有些人對(duì)于功能和處理數(shù)據(jù)的方法沒有明確的認(rèn)識(shí),它們只是根據(jù)自己業(yè)務(wù)工作的需要提出了要求,系統(tǒng)開發(fā)人軸要對(duì)此進(jìn)行詳細(xì)的調(diào)查和分析,確認(rèn)用戶的要求可以通過現(xiàn)有的計(jì)算機(jī)技術(shù)實(shí)現(xiàn),保證開發(fā)管理信息系統(tǒng)的功能與用戶提出的要求相吻合。企業(yè)的現(xiàn)行系統(tǒng)可能是手工系統(tǒng),也可能是使用和計(jì)算機(jī)的系統(tǒng),無論是何種情況,都要詳細(xì)地調(diào)查現(xiàn)行系統(tǒng)中信息處理的具體情況,系統(tǒng)內(nèi)部功能結(jié)構(gòu),以便設(shè)計(jì)出一個(gè)合理的,好的新系統(tǒng)邏輯模型,為新系統(tǒng)的設(shè)計(jì)工作打好基礎(chǔ),保證整個(gè)系統(tǒng)開發(fā)的質(zhì)量??傊?,有必要對(duì)現(xiàn)行系統(tǒng)進(jìn)行詳細(xì)詳細(xì)的調(diào)查,明確用戶需求,保證開發(fā)的新系統(tǒng)的功能與用戶的要求相吻合,避免耗費(fèi)大量的人力、物力、財(cái)力,新系統(tǒng)的開發(fā)卻失敗的悲劇發(fā)生。可行性分析概述可行性分析一般可定義為:可行性分析是在建設(shè)的前期對(duì)工程項(xiàng)目的一種考察和鑒定,對(duì)擬議中的項(xiàng)目進(jìn)行全面與綜合的技術(shù)、經(jīng)濟(jì)能力的調(diào)查,判斷它是否可行。(1)可行性分析階段的主要工作包括以下幾個(gè)方面:=1\*GB3①新系統(tǒng)目標(biāo)可行性分析:分析新系統(tǒng)的目標(biāo)是否符合企業(yè)的現(xiàn)狀和發(fā)展的需要。=2\*GB3②社會(huì)可行性分析:社會(huì)可行性分析主要是指管理信息系統(tǒng)的開發(fā)是否符合國(guó)家法律,是否能夠與社會(huì)大系統(tǒng)實(shí)現(xiàn)良好的對(duì)接。=3\*GB3③技術(shù)可行性分析:技術(shù)可行性分析是根據(jù)新系統(tǒng)的目標(biāo)來衡量是否具備所需要的技術(shù),包括系統(tǒng)開發(fā)人員數(shù)量和水平,硬件方面及其他應(yīng)用技術(shù)。=4\*GB3④經(jīng)濟(jì)可行性分析:經(jīng)濟(jì)可行性分析主要是對(duì)開發(fā)新系統(tǒng)所投入的資金與系統(tǒng)投入使用后所帶來的經(jīng)濟(jì)效益進(jìn)行比較,確認(rèn)新系統(tǒng)是否會(huì)給企業(yè)帶來一定的經(jīng)濟(jì)效益。=5\*GB3⑤管理可行性分析:管理可行性分析企業(yè)現(xiàn)行的管理體制和企業(yè)領(lǐng)導(dǎo)是否具有現(xiàn)代化的管理意識(shí)和管理水平。技術(shù)可行性分析技術(shù)可行性分析主要包括四個(gè)方面:目前有關(guān)的技術(shù)能否支持所開發(fā)的新系統(tǒng);新系統(tǒng)開發(fā)人員的數(shù)量和水平,即人力資源;硬件和軟件資源。技術(shù)支持:首先根據(jù)新系統(tǒng)的目標(biāo),考慮目前有關(guān)的技術(shù)能否支持所開發(fā)的新系統(tǒng)。這里討論的技術(shù)必須是已經(jīng)普遍使用的,而不是待研究的或正在研究的。硬件資源開發(fā)管理信息系統(tǒng)所需的硬件資源包含以下兩個(gè)方面:系統(tǒng)開發(fā)人員在管理信息系統(tǒng)的開發(fā)過程中所需要的計(jì)算機(jī)設(shè)備及其有關(guān)的外部設(shè)備;管理信息系統(tǒng)開發(fā)成功投入使用后,使用單位所應(yīng)具備及其有關(guān)的外圍設(shè)備。對(duì)硬件資源進(jìn)行可行性分析時(shí)主要考慮計(jì)算機(jī)的主機(jī)內(nèi)存、類型、功能、聯(lián)網(wǎng)能力、安全保護(hù)措施以及輸入/輸出設(shè)備,外存儲(chǔ)器和聯(lián)網(wǎng)數(shù)據(jù)通信設(shè)備的配置、功能、效率等指標(biāo)是否符合系統(tǒng)方案設(shè)計(jì)要求,同時(shí)還要考慮計(jì)算機(jī)的性能/價(jià)格比。軟件資源軟件資源的可行性分析主要考慮以下幾點(diǎn)是否滿足用戶的要求:=1\*GB3①操作系統(tǒng)的選擇;=2\*GB3②編譯系統(tǒng)的選擇;=3\*GB3③數(shù)據(jù)庫(kù)管理系統(tǒng)的選擇;=4\*GB3④高級(jí)編程評(píng)議的選擇;=5\*GB3⑤漢字處理系統(tǒng)的選擇;=6\*GB3⑥應(yīng)用軟件包的選擇。本系統(tǒng)在開發(fā)前,與相關(guān)部門的領(lǐng)導(dǎo)和學(xué)校的關(guān)人員密切溝通,認(rèn)真聽取他們的意見,并吸收他們的積極觀點(diǎn),使本系統(tǒng)的開發(fā)在相當(dāng)大的程度上具有一定的先進(jìn)性和合理性。第五章系統(tǒng)分析及功能規(guī)化1、系統(tǒng)需求分析系統(tǒng)分析是開發(fā)管理信息系統(tǒng)的關(guān)鍵性階段,是一個(gè)從不斷認(rèn)識(shí)和逐步細(xì)化的過程,是下一階段的工作基礎(chǔ),是為下一階段進(jìn)行物理方案設(shè)計(jì)、解決“怎么做”提供依據(jù),基關(guān)鍵性主要體現(xiàn)在“理解需求”和“表達(dá)需求”兩方面。通過對(duì)現(xiàn)行系統(tǒng)的詳細(xì)調(diào)研,主要是從系統(tǒng)的角度理解用戶的需要,確定新系統(tǒng)的綜合要求,并提出這些需求的實(shí)現(xiàn)條件以及需求應(yīng)達(dá)到的標(biāo)準(zhǔn),也就是確定新系統(tǒng)要做什么,做到什么程度。這些需求包括:(1)功能需求。確定新系統(tǒng)應(yīng)做什么,這是最主要的需求。(2)性能需求。給出所開發(fā)的新系統(tǒng)的技術(shù)性能指標(biāo),包括存儲(chǔ)容量限制、運(yùn)行時(shí)間限制、安全保密性等。(3)環(huán)境需求。這是對(duì)系統(tǒng)運(yùn)行以及所處環(huán)球瓣要求。例如,在硬件方面采用什么支持系統(tǒng)運(yùn)行的系統(tǒng)軟件(指操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng))。(4)未來需求。這類要求是指目前不發(fā)屬于系統(tǒng)開發(fā)的范圍,但將來隨著外界環(huán)境的變化以及系統(tǒng)的發(fā)展可能會(huì)提出的要求。了解這類要求的目的是在開發(fā)過程中,可對(duì)系統(tǒng)將來可能的擴(kuò)展與修改做準(zhǔn)備。一旦需要時(shí),就比較容易進(jìn)行了補(bǔ)充和修改了。2、數(shù)據(jù)流程圖數(shù)據(jù)流程圖是描述系統(tǒng)邏輯模型的主要工具,通過幾個(gè)特定的符號(hào),可以綜合地反映出信息在系統(tǒng)中的使用、加工處理、傳遞、存儲(chǔ)的整體情況。數(shù)據(jù)流程圖是系統(tǒng)結(jié)構(gòu)化分析行之有效的工具,它抽象地描述了系統(tǒng)數(shù)據(jù)處理的情況,但卻無法表達(dá)各個(gè)處理的詳細(xì)內(nèi)容,因此還要對(duì)數(shù)據(jù)流程圖中出現(xiàn)的數(shù)據(jù)流和處理等做進(jìn)一步的補(bǔ)充說明。數(shù)字是對(duì)數(shù)據(jù)流程圖的補(bǔ)充說明,它的編制和維護(hù)是一項(xiàng)非常繁重的工作,一旦建立起來,從系統(tǒng)分析直至系統(tǒng)運(yùn)行都用到它。本流程圖反映了各個(gè)子模塊之間的關(guān)系,以及與系統(tǒng)的關(guān)系。index.aspindex.aspxiugaizl.aspxiugaimm.aspzhuce.aspupload.aspchengyuanzl.aspinc\upload.inc各文件關(guān)系圖3、功能規(guī)劃校友錄,是一種為用戶提供網(wǎng)上交流、聚會(huì)的網(wǎng)絡(luò)工具,它可以使你和你的朋友、同學(xué)、同事、老師與親人等在網(wǎng)上有一個(gè)相互交流的機(jī)會(huì)。假如你是在校學(xué)生,擁有校友錄,你可以在寒暑假時(shí)通過它了解班上同學(xué)、老師的情況或者發(fā)布你的消息;同時(shí),你如果畢業(yè)了,可以約上舊同學(xué)加入校友錄,這樣無論你身在何處,都可以隨時(shí)上網(wǎng)在校友錄里與你的舊同學(xué)交流;又或者你是公司員工或者老板,你可以在出差時(shí)通過校友錄了解公司情況或者匯報(bào)情況。同時(shí),你若離家,還可以通過校友錄和家人聯(lián)系。班級(jí)留言、成員名片、訪問記錄、班級(jí)管理、班級(jí)相冊(cè)等是校友錄的主要功能。本設(shè)計(jì)的重點(diǎn)就是基于ASP實(shí)現(xiàn)這些功能?;谶@些功能所需的數(shù)據(jù)建立幾張圖表。本設(shè)計(jì)中建立了三張表,分別是:1.user表其中記錄校友錄成員的信息,包括用戶名、密碼、最后訪問時(shí)間、訪問次數(shù)等列2.liuy表其中記錄留言信息,包括用戶名、留言內(nèi)容、留言時(shí)間等列3.tiet表其中記錄相冊(cè)上傳圖片的信息,包括用戶名、相片文件服務(wù)器端名、上傳時(shí)間等列。登入窗口用戶進(jìn)入本校友錄系統(tǒng)需要先登入該窗口,才能進(jìn)入系統(tǒng)進(jìn)行查看和發(fā)布消息。新用戶注冊(cè)窗口本班學(xué)員進(jìn)入本班校友錄需要先進(jìn)行注冊(cè),然后登入,最后才能進(jìn)入本班校友錄。用戶修改資料窗口用戶修改密碼窗口當(dāng)本班學(xué)員密碼被其他人知道的情況下需要修改新密碼,則進(jìn)入本窗口進(jìn)行修改。班級(jí)成員列表(6)班級(jí)留言表(7)班極相冊(cè)表第六章關(guān)鍵問題實(shí)現(xiàn)1.數(shù)據(jù)庫(kù)訪問實(shí)現(xiàn)ASP下訪問Access數(shù)據(jù)庫(kù)首選的是Microsoft?ActiveX?DataObjects(ADO)。ADO支持用于建立基于客戶端/服務(wù)器和Web的應(yīng)用程序的主要功能。其主要優(yōu)點(diǎn)是易于使用、高速度、低內(nèi)存支出和占用磁盤空間較少。ADO同時(shí)具有遠(yuǎn)程數(shù)據(jù)服務(wù)(RDS)功能,通過RDS可以在一次往返過程中實(shí)現(xiàn)將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶端應(yīng)用程序或Web頁(yè)、在客戶端對(duì)數(shù)據(jù)進(jìn)行處理然后將更新結(jié)果返回服務(wù)器的操作。本設(shè)計(jì)所涉及的ADO對(duì)象有:對(duì)象說明CommandCommand對(duì)象定義了將對(duì)數(shù)據(jù)源執(zhí)行的指定命令。Connection代表打開的、與數(shù)據(jù)源的連接。RecordSet代表來自基本表或命令執(zhí)行結(jié)果的記錄的全集。任何時(shí)候,Recordset對(duì)象所指的當(dāng)前記錄均為集合內(nèi)的單個(gè)記錄。(1)建立數(shù)據(jù)庫(kù)連接,打開數(shù)據(jù)庫(kù)在ASP中建立對(duì)Access數(shù)據(jù)庫(kù)連接的一般格式如下:第一行程序:利用Server對(duì)象的MapPath函數(shù),取得要打開數(shù)據(jù)庫(kù)的完整的文件路徑,并存儲(chǔ)在變量DbPath中。這其中,數(shù)據(jù)庫(kù)名是我們需要指定的參數(shù),應(yīng)該用我們要打開的數(shù)據(jù)庫(kù)的實(shí)際名稱替代。如果數(shù)據(jù)庫(kù)名是直接作為常量出現(xiàn),要用引號(hào)將其括起來,并且不能丟掉擴(kuò)展名。例如數(shù)據(jù)庫(kù)是Test.mdb,則該行程序成為:DbPath=Server.MapPath(“Test.mdb”)。第二行程序:建立一個(gè)ADO對(duì)象集中的Connection對(duì)象,也即連接對(duì)象。這是建立數(shù)據(jù)庫(kù)連接的初始步驟。執(zhí)行這行程序后,Conn成為一個(gè)連接對(duì)象。第三行程序:利用連接對(duì)象Conn的Open方法打開一個(gè)指定的數(shù)據(jù)庫(kù)。因?yàn)槲覀円蜷_的是Access數(shù)據(jù)庫(kù),所以要指定ODBC驅(qū)動(dòng)程序參數(shù),表示要透過Access的ODBC驅(qū)動(dòng)程序來訪問數(shù)據(jù)庫(kù):driver={MicrosoftAccessDriver(*.mdb)};。另一個(gè)參數(shù)dbq=&DbPath,運(yùn)算后等效于dbq=Server.MapPath(數(shù)據(jù)庫(kù)名),是利用了第一行的Server.MapPath(數(shù)據(jù)庫(kù)名)函數(shù),用來指定要打開的數(shù)據(jù)庫(kù)文件。到這里,就已經(jīng)打開了數(shù)據(jù)庫(kù)名指定的數(shù)據(jù)庫(kù)。如果數(shù)據(jù)庫(kù)名是“test.mdb”,則打開Access數(shù)據(jù)庫(kù)Test.mdb。在這一行里指定的參數(shù),要嚴(yán)格按照格式原樣寫出,不能省略或改動(dòng),也沒有可變參數(shù)。本設(shè)計(jì)中的這三行為:dbpath=Server.MapPath("\db")setconn=Server.CreateObject("ADODB.Connection")conn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&dbpath&"\txl.mdb;"’..\db\txl.mdb是數(shù)據(jù)庫(kù)文件的路徑(2)執(zhí)行數(shù)據(jù)庫(kù)命令setcmd=Server.CreateObject("ADODB.Command")cmd.ActiveConnection=connsql=""’sql中是命令內(nèi)容cmd.CommandText=sqlcmd.Execute’執(zhí)行命令(3)執(zhí)行查詢命令并返回記錄全集setrs=Server.CreateObject("ADODB.Recordset")rs.ActiveConnection=connsql=""’sql中是查詢命令的內(nèi)容rs.Source=sqlrs.Open’執(zhí)行查詢并返回在rs中2.文件上傳ASP中上傳文件一般使用上傳組件來完成該功能,但是組件需要安裝配置。為了方便在不同服務(wù)器上調(diào)試運(yùn)行程序,本設(shè)計(jì)選擇無組件上傳,直接用代碼寫一個(gè)分析上傳二進(jìn)制數(shù)據(jù)的類進(jìn)行上傳操作。要使Form以二進(jìn)制形式上傳數(shù)據(jù)需在Form標(biāo)記里設(shè)置下enctype屬性,即寫上enctype=”multipart/form-data”。無組件上傳類:<%dimoUpFileStreamClassupload_filedimForm,File,VersionPrivateSubClass_Initialize'定義變量dimRequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfodimiFileSize,sFilePath,sFileType,sFormvalue,sFileNamedimiFindStart,iFindEnddimiFormStart,iFormEnd,sFormName'代碼開始Version="無組件上傳類"setForm=Server.CreateObject("Scripting.Dictionary")setFile=Server.CreateObject("Scripting.Dictionary")ifRequest.TotalBytes<1thenExitSubsettStream=Server.CreateObject("adodb.stream")setoUpFileStream=Server.CreateObject("adodb.stream")oUpFileStream.Type=1oUpFileStream.Mode=3oUpFileStream.OpenoUpFileStream.WriteRequest.BinaryRead(Request.TotalBytes)oUpFileStream.Position=0RequestBinDate=oUpFileStream.ReadiFormEnd=oUpFileStream.SizebCrLf=chrB(13)&chrB(10)'取得每個(gè)項(xiàng)目之間的分隔符sStart=MidB(RequestBinDate,1,InStrB(1,RequestBinDate,bCrLf)-1)iStart=LenB(sStart)iFormStart=iStart+2'分解項(xiàng)目DoiInfoEnd=InStrB(iFormStart,RequestBinDate,bCrLf&bCrLf)+3tStream.Type=1tStream.Mode=3tStream.OpenoUpFileStream.Position=iFormStartoUpFileStream.CopyTotStream,iInfoEnd-iFormStarttStream.Position=0tStream.Type=2tStream.Charset="gb2312"sInfo=tStream.ReadText'取得表單項(xiàng)目名稱iFormStart=InStrB(iInfoEnd,RequestBinDate,sStart)-1iFindStart=InStr(22,sInfo,"name=""",1)+6iFindEnd=InStr(iFindStart,sInfo,"""",1)sFormName=Mid(sinfo,iFindStart,iFindEnd-iFindStart)'如果是文件ifInStr(45,sInfo,"filename=""",1)>0thensetoFileInfo=newFileInfo'取得文件屬性iFindStart=InStr(iFindEnd,sInfo,"filename=""",1)+10iFindEnd=InStr(iFindStart,sInfo,"""",1)sFileName=Mid(sinfo,iFindStart,iFindEnd-iFindStart)oFileInfo.FileName=GetFileName(sFileName)oFileInfo.FilePath=GetFilePath(sFileName)oFileInfo.FileExt=GetFileExt(sFileName)iFindStart=InStr(iFindEnd,sInfo,"Content-Type:",1)+14iFindEnd=InStr(iFindStart,sInfo,vbCr)oFileInfo.FileType=Mid(sinfo,iFindStart,iFindEnd-iFindStart)oFileInfo.FileStart=iInfoEndoFileInfo.FileSize=iFormStart-iInfoEnd-2oFileInfo.FormName=sFormNamefile.addsFormName,oFileInfoelse'如果是表單項(xiàng)目tStream.ClosetStream.Type=1tStream.Mode=3tStream.OpenoUpFileStream.Position=iInfoEndoUpFileStream.CopyTotStream,iFormStart-iInfoEnd-2tStream.Position=0tStream.Type=2tStream.Charset="gb2312"sFormvalue=tStream.ReadTextform.AddsFormName,sFormvalueendiftStream.CloseiFormStart=iFormStart+iStart+2'如果到文件尾了就退出loopuntil(iFormStart+2)=iFormEndRequestBinDate=""settStream=nothingEndSubPrivateSubClass_Terminate'清除變量及對(duì)像ifnotRequest.TotalBytes<1thenoUpFileStream.ClosesetoUpFileStream=nothingendifForm.RemoveAllFile.RemoveAllsetForm=nothingsetFile=nothingEndSub'取得文件路徑PrivatefunctionGetFilePath(FullPath)IfFullPath<>""ThenGetFilePath=left(FullPath,InStrRev(FullPath,"\"))ElseGetFilePath=""EndIfEndfunction'取得文件名PrivatefunctionGetFileName(FullPath)IfFullPath<>""ThenGetFileName=mid(FullPath,InStrRev(FullPath,"\")+1)ElseGetFileName=""EndIfEndfunction'取得擴(kuò)展名PrivatefunctionGetFileExt(FullPath)IfFullPath<>""ThenGetFileExt=mid(FullPath,InStrRev(FullPath,".")+1)ElseGetFileExt=""EndIfEndfunctionEndClass'文件屬性類ClassFileInfodimFormName,FileName,FilePath,FileSize,FileType,FileStart,FileExtPrivateSubClass_InitializeFileName=""FilePath=""FileSize=0FileStart=0FormName=""FileType=""FileExt=""EndSub'保存文件方法PublicfunctionSaveToFile(FullPath)dimoFileStream,ErrorChar,iSaveToFile=1iftrim(fullpath)=""orright(fullpath,1)="/"thenexitfunctionsetoFileStream=CreateObject("Adodb.Stream")oFileStream.Type=1oFileStream.Mode=3oFileStream.OpenoUpFileStream.position=FileStartoUpFileStream.copytooFileStream,FileSizeoFileStream.SaveToFileFullPath,2oFileStream.ClosesetoFileStream=nothingSaveToFile=0endfunctionEndClass%>因?yàn)樯蟼鞯奈募赡芡?,所以在服?wù)器端必須給上傳文件重新定義一個(gè)文件名,并且每次文件名不能相同,本設(shè)計(jì)通過兩次隨機(jī)數(shù)加時(shí)間為文件新名。filepath=server.MapPath("\img")’img為圖片文件上傳到的文件夾randomizeranNum=int(90000*rnd)+10000randomizeranNum1=cstr(ranNum)&cstr(int(90000*rnd)+10000)filename=filepath&"\\"&cstr(date)&ranNum1&"."&fileExt’變量fileExt內(nèi)是文件的擴(kuò)展名3.用戶會(huì)話當(dāng)用戶登錄后他可以訪問到網(wǎng)站內(nèi)需要登錄后才能訪問的每一頁(yè),但是不同頁(yè)怎能確定用戶是否登錄了呢,這個(gè)時(shí)候就要用到會(huì)話技術(shù)了。在登錄時(shí)建立一個(gè)會(huì)話變量,每一頁(yè)都通過訪問這個(gè)變量來確定用戶是否已經(jīng)登錄。Session對(duì)象就是實(shí)現(xiàn)這一技術(shù)的。Session對(duì)象可以使用Session對(duì)象存儲(chǔ)特定用戶會(huì)話所需的信息。這樣,當(dāng)用戶在應(yīng)用程序的Web頁(yè)之間跳轉(zhuǎn)時(shí),存儲(chǔ)在Session對(duì)象中的變量將不會(huì)丟失,而是在整個(gè)用戶會(huì)話中一直存在下去。當(dāng)用戶請(qǐng)求來自應(yīng)用程序的Web頁(yè)時(shí),如果該用戶還沒有會(huì)話,則Web服務(wù)器將自動(dòng)創(chuàng)建一個(gè)Session對(duì)象。當(dāng)會(huì)話過期或被放棄后,服務(wù)器將終止該會(huì)話。Session對(duì)象最常見的一個(gè)用法就是存儲(chǔ)用戶的首選項(xiàng)。例如,如果用戶指明不喜歡查看圖形,就可以將該信息存儲(chǔ)在Session對(duì)象中。注意:會(huì)話狀態(tài)僅在支持cookie的瀏覽器中保留。語法Session.collection|property|method集合Contents包含已用腳本命令添加到會(huì)話中的項(xiàng)目。StaticObjects包含通過<OBJECT>標(biāo)記創(chuàng)建的并給定了會(huì)話作用域的對(duì)象。屬性CodePage將用于符號(hào)映射的代碼頁(yè)。LCID現(xiàn)場(chǎng)標(biāo)識(shí)。SessionID返回用戶的會(huì)話驗(yàn)證。Timeout應(yīng)用程序會(huì)話狀態(tài)的超時(shí)時(shí)限,以分鐘為單位。方法Abandon該方法破壞Session對(duì)象并釋放其資源。建立會(huì)話變量實(shí)例:session("user")=’建立名為user的會(huì)話變量4.文件操作要進(jìn)行文件的操作需用到FileSystemObject對(duì)象。FileSystemObject對(duì)象相關(guān)對(duì)象和集合列表:(1)FileSystemObject編程三部曲使用FileSystemObject對(duì)象進(jìn)行編程很簡(jiǎn)單,一般要經(jīng)過如下的步驟:創(chuàng)建FileSystemObject對(duì)象、應(yīng)用相關(guān)方法、訪問對(duì)象相關(guān)屬性。創(chuàng)建FileSystemObject對(duì)象創(chuàng)建FileSystemObject對(duì)象的代碼只要1行:setfo=CreateObject("scripting.filesystemobject")應(yīng)用相關(guān)方法創(chuàng)建對(duì)象實(shí)例后,就可以使用對(duì)象的相關(guān)方法了。比如,使用CreateTextFile方法創(chuàng)建一個(gè)文本文件:setfo=CreateObject("scripting.filesystemobject")setf1=fo.createtextfile("c:\\myjstest.txt",true")訪問對(duì)象相關(guān)屬性要訪問對(duì)象的相關(guān)屬性,首先要建立指向?qū)ο蟮木浔@就要通過get系列方法實(shí)現(xiàn):GetDrive負(fù)責(zé)獲取驅(qū)動(dòng)器信息,GetFolder負(fù)責(zé)獲取文件夾信息,GetFile負(fù)責(zé)獲取文件信息。比如,指向下面的代碼后,f1就成為指向文件c:\test.txt的句柄:setfo=CreateObject("Scripting.FileSystemObject")setf1=fo.GetFile("c:\\myjstest.txt")然后,使用f1訪問對(duì)象的相關(guān)屬性。比如:f1.DateLastModified(2)操作驅(qū)動(dòng)器(Drives)使用FileSystemObject對(duì)象來編程操作驅(qū)動(dòng)器(Drives)和文件夾(Folders)很容易,這就象在Windows文件瀏覽器中對(duì)文件進(jìn)行交互操作一樣,比如:拷貝、移動(dòng)文件夾,獲取文件夾的屬性。Drives對(duì)象屬性Drive對(duì)象負(fù)責(zé)收集系統(tǒng)中的物理或邏輯驅(qū)動(dòng)器資源內(nèi)容,它具有如下屬性:TotalSize:以字節(jié)(byte)為單位計(jì)算的驅(qū)動(dòng)器大小。AvailableSpace或FreeSpace:以字節(jié)(byte)為單位計(jì)算的驅(qū)動(dòng)器可用空間。DriveLetter:驅(qū)動(dòng)器字母。DriveType:驅(qū)動(dòng)器類型,取值為:removable(移動(dòng)介質(zhì))、fixed(固定介質(zhì))、network(網(wǎng)絡(luò)資源)、CD-ROM或者RAM盤。SerialNumber:驅(qū)動(dòng)器的系列碼。FileSystem:所在驅(qū)動(dòng)器的文件系統(tǒng)類型,取值為FAT、FAT32和NTFS。IsReady:驅(qū)動(dòng)器是否可用。ShareName:共享名稱。VolumeName:卷標(biāo)名稱。Path和RootFolder:驅(qū)動(dòng)器的路徑或者根目錄名稱。(3)操作文件夾(Folders)涉及到文件夾的操作包括創(chuàng)建、移動(dòng)、刪除以及獲取相關(guān)屬性。Folder對(duì)象的相關(guān)屬性和方法列表:(4)操作文件(Files)對(duì)文件進(jìn)行的操作要比以上介紹的驅(qū)動(dòng)器(Drive)和文件夾(Folder)操作復(fù)雜些,基本上分為以下兩個(gè)類別:對(duì)文件的創(chuàng)建、拷貝、移動(dòng)、刪除操作和對(duì)文件內(nèi)容的創(chuàng)建、添加、刪除和讀取操作。下面分別詳細(xì)介紹。創(chuàng)建文件一共有3種方法可用于創(chuàng)建一個(gè)空文本文件,這種文件有時(shí)候也叫做文本流(textstream)。第一種是使用CreateTextFile方法。代碼如下:setfo=createobject("Scripting.FileSystemObject")setf1=fo.CreateTextFile("c:\\testfile.txt",true)第二種是使用OpenTextFile方法,并添加上ForWriting屬性,F(xiàn)orWriting的值為2。代碼如下:ForWriting=2setfo=createobject("Scripting.FileSystemObject")setts=fo.OpenTextFile("c:\\test.txt",ForWriting,true)第三種是使用OpenAsTextStream方法,同樣要設(shè)置好ForWriting屬性。代碼如下:ForWriting=2Setfo=createobject("Scripting.FileSystemObject")fo.CreateTextFile("c:\\test1.txt")Setf1=fo.GetFile("c:\\test1.txt")Setts=f1.OpenAsTextStream(ForWriting,true)添加數(shù)據(jù)到文件當(dāng)文件被創(chuàng)建后,一般要按照“打開文件->填寫數(shù)據(jù)->關(guān)閉文件”的步驟實(shí)現(xiàn)添加數(shù)據(jù)到文件的目的。打開文件可使用FileSystemObject對(duì)象的OpenTextFile方法,或者使用File對(duì)象的OpenAsTextStream方法。填寫數(shù)據(jù)要使用到TextStream對(duì)象的Write、WriteLine或者WriteBlankLines方法。在同是實(shí)現(xiàn)寫入數(shù)據(jù)的功能下,這3者的區(qū)別在于:Write方法不在寫入數(shù)據(jù)末尾添加新?lián)Q行符,WriteLine方法要在最后添加一個(gè)新?lián)Q行符,而WriteBlankLines則增加一個(gè)或者多個(gè)空行。關(guān)閉文件可使用TextStream對(duì)象的Close方法。讀取文件內(nèi)容從文本文件中讀取數(shù)據(jù)要使用TextStream對(duì)象的Read、ReadLine或ReadAll方法。Read方法用于讀取文件中指定數(shù)量的字符;ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文本文件的整個(gè)內(nèi)容。讀取的內(nèi)容存放于字符串變量中,用于顯示、分析。在使用Read或ReadLine方法讀取文件內(nèi)容時(shí),如果要跳過一些部分,就要用到Skip或SkipLine方法。移動(dòng)、拷貝和刪除文件FileSystemObject.MoveFile用于移動(dòng)文件;FileSystemObject.CopyFile用于拷貝文件;FileSystemObject.DeleteFile用于刪除文件。第七章各部分系統(tǒng)實(shí)現(xiàn)1.index.asp首頁(yè)首頁(yè)也是本系統(tǒng)程序代碼最多的一頁(yè),許多功能都是通過FORM發(fā)送到首頁(yè)來處理。在相關(guān)FORM中加一個(gè)名為sel的隱藏類型input標(biāo)記,通過不同的sel值來告訴程序要做什么事.當(dāng)sel為denglu時(shí),執(zhí)行的是登錄的操作。程序打開數(shù)據(jù)庫(kù),查詢出用戶名為輸入用戶名的那條記錄,然后比較那條記錄的pw列與所輸入的密碼是否一致,如果一致便成功登錄了,此時(shí)它還將登錄時(shí)間和登錄次數(shù)的累加寫入數(shù)據(jù)庫(kù)。登錄的同時(shí)也建立該用戶的會(huì)話,使他可以有權(quán)遍訪各項(xiàng)功能。當(dāng)然如果沒有這個(gè)用戶或密碼錯(cuò)誤程序就會(huì)給出提示。當(dāng)sel為zhuxiao時(shí),執(zhí)行注銷的操作。即程序關(guān)閉用戶會(huì)話,使他無法再訪問各項(xiàng)必須登錄才能使用的功能。當(dāng)sel為list時(shí),執(zhí)行列出所有用戶的操作。通過設(shè)定一個(gè)show變量的值來告訴下面的程序要顯示用戶列表。當(dāng)sel為listliuy時(shí),執(zhí)行列出留言的操作。它也是設(shè)定一個(gè)show變量的值來告訴下面的程序要顯示留言列表。同時(shí)會(huì)在當(dāng)前用戶自己的留言旁顯示刪除按鈕以實(shí)現(xiàn)刪除留言的操作。當(dāng)sel為liuy時(shí),執(zhí)行的就是留言操作。它將用戶的留言及留言時(shí)間寫入數(shù)據(jù)庫(kù)。當(dāng)sel為xiangce時(shí),執(zhí)行列出相冊(cè)的操作。它與sel為list和listliuy時(shí)一樣設(shè)定一個(gè)show變量來告訴下面的程序要顯示相冊(cè)。同時(shí)會(huì)在當(dāng)前用戶自己上傳的圖片旁邊顯示刪除按鈕以實(shí)現(xiàn)刪除圖片的操作。當(dāng)sel為shanchu時(shí),執(zhí)行刪除留言的操作。在數(shù)據(jù)庫(kù)中把相關(guān)留言記錄刪除。當(dāng)sel為shanchutiet時(shí),執(zhí)行刪除圖片的操作。先通過創(chuàng)建scripting.filesystemobject對(duì)象利用該對(duì)象的功能把相關(guān)的圖片文件刪除,再在數(shù)據(jù)庫(kù)中把相關(guān)的圖片信息刪除。由于scripting.filesystemobject對(duì)象可以刪除服務(wù)器上的文件,有些殺毒軟件會(huì)過敏的以為它是一種病毒,顯然在這里不用擔(dān)心,可以忽略在這里的警報(bào)。<%selectcaserequest("sel")case"denglu"dbpath=Server.MapPath("\db")setconn=Server.CreateObject("ADODB.Connection")conn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&dbpath&"\txl.mdb;"setrs=Server.CreateObject("ADODB.Recordset")rs.ActiveConnection=connsql="selectpw,allvfromuserwhereuser='"&request("user")&"'"rs.Source=sqlrs.Openifrs.EOF=falsethenifrs("pw")=request("pw")thensession("pass")=1session("user")=request("user")setcmd=Server.CreateObject("ADODB.Command")cmd.ActiveConnection=conncmd.CommandText="updateusersetlast='"&date&""&time&"',allv='"&rs("allv")+1&"'whereuser='"&session("user")&"'"cmd.Executeelsesession("pass")=2endifelsesession("pass")=3endifrs.Closeconn.Closecase"zhuxiao"session("pass")=0session("user")=""case"list"ifsession("pass")=1thenshow=2endifcase"listliuy"ifsession("pass")=1thenshow=1endifcase"liuy"ifrequest("s1")<>""andsession("pass")=1thendbpath=Server.MapPath("\db")setconn=Server.CreateObject("ADODB.Connection")conn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&dbpath&"\txl.mdb;"setcmd=Server.CreateObject("ADODB.Command")cmd.ActiveConnection=connsql="insertintoliuy(user,liuy,ltime)values('"&session("user")&"','"&request("s1")&"','"&date&""&time&"')"cmd.CommandText=sqlcmd.Executeconn.Closeshow=1endifcase"shanchu"ifsession("pass")=1thendbpath=Server.MapPath("\db")setconn=Server.CreateObject("ADODB.Connection")conn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&dbpath&"\txl.mdb;"setrs=Server.CreateObject("ADODB.Recordset")rs.ActiveConnection=connsql="selectuserfromliuywhereid="&request("id")rs.Source=sqlrs.Openifrs.EOF=falseandrs("user")=session("user")thensetcmd=Server.CreateObject("ADODB.Command")cmd.ActiveConnection=conncmd.CommandText="deletefromliuywhereid="&request("id")cmd.Executeshow=1endifrs.Closeconn.Closeendifcase"xiangce"ifsession("pass")=1thenshow=3endifcase"shanchutiet"ifsession("pass")=1thendbpath=Server.MapPath("\db")setconn=Server.CreateObject("ADODB.Connection")conn.Open"Driver={MicrosoftAccessDriver(*.mdb)};DBQ="&dbpath&"\txl.mdb;"setrs=Server.CreateObject("ADODB.Recordset")rs.ActiveConnection=connsql="selectuser,tietfromtietwhereid="&request("id")rs.Source=sqlrs.Openifrs.EOF=falseandrs("user")=session("user")thensetfo=CreateObject("scripting.filesystemobject")ipath=Server.MapPath("\img")setf=fo.GetFile(ipath&"\"&rs("tiet"))f.deletesetf=nothingsetfo=nothingsetcmd=Server.CreateObject("ADODB.Command")cmd.ActiveConnection=conncmd.CommandText="deletefromtietwhereid="&request("id")cmd.Executeshow=3endifrs.Closeconn.Closeendifendselect%><html><head><metahttp-equiv="Content-Language"content="zh-cn"><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"><title>主頁(yè)</title><linkrel="stylesheet"type="text/css"href="css/button.css"></head><bodybackground="index/bg.gif"><center><tableborder="0"width="800"id="table1"height="633"><tr><tdbackground="index/logo.jpg"height="197"></td></tr><tr><tdheight="393"><tableborder="0"width="100%"id="table2"height="100%"><tr><tdwidth="162"background="index/bg.jpg"><tableborder="0"width="100%"id="table3"height="100%"><tr><tdheight="23"><%ifsession("pass")=1thenresponse.Write("當(dāng)前用戶:"&session("user"))%><ahref="index.asp?sel=zhuxiao">登出</a><%elseifsession("pass")=2thenresponse.Write("密碼錯(cuò)誤")elseifsession("pass")=3thenresponse.Write("無此用戶")endifendifendif%></td></tr><tr><tdheight=

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論