計算機畢業(yè)論文---校園網(wǎng)站建設_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢 業(yè) 論 文</b></p><p>  題目: 基于ASP的網(wǎng)絡應用系統(tǒng)——校園網(wǎng)站建設</p><p><b>  摘 要</b></p><p>  隨著WWW的蓬勃發(fā)展,人類已經(jīng)意識到了網(wǎng)絡的巨大用途。網(wǎng)絡的實時性、無區(qū)域性成為吸引全世界人類的巨大誘惑力。隨著Internet國

2、際互聯(lián)網(wǎng)在我國的普及,越來越多的社會團體、企事業(yè)單位,在互聯(lián)網(wǎng)上建立自己的網(wǎng)絡,甚至個人也設立了自己的網(wǎng)頁。近幾年來,網(wǎng)頁技術(shù)日益成熟,隨著網(wǎng)絡的發(fā)展,網(wǎng)頁決不是僅僅停留在原始的靜態(tài)上了,而是發(fā)展成為多姿多彩的動態(tài)網(wǎng)頁。利用ASP.NET和ADO.NET技術(shù)開發(fā)的網(wǎng)站管理系統(tǒng),實現(xiàn)了網(wǎng)站的動態(tài)管理,使得對信息的管理更加及時、高效,提高了工作效率。ASP具備管理不同語言腳本程序的能力,能夠自動調(diào)用合適的腳本引擎以解釋腳本代碼和執(zhí)行內(nèi)置函數(shù)

3、。ASP開發(fā)環(huán)境提供了兩種腳本引擎,即VBScript和JavaScript</p><p>  關鍵詞: Internet 網(wǎng)站 動態(tài)網(wǎng)ASP 信息發(fā)布 WEB數(shù)據(jù)庫</p><p><b>  Abstract</b></p><p>  With the vigorous development of WWW, mankind

4、 has realized the tremendous use of the network. Real-time network, has attracted the world without a regional human tremendous temptation. With the Internet in China's Internet penetration, more and more social grou

5、ps, enterprises, on the Internet to establish their own network, or even an individual, also set up their own web pages. In recent years, increasingly mature technology website, along with the development of the Internet

6、, the website is no</p><p>  Keyword: Internet Website ASP dynamic database of intermation </p><p>  Released WEB</p><p><b>  目錄</b></p><p><b> 

7、 1 引言1</b></p><p>  1.1 設計思想2</p><p>  2 網(wǎng)站總體分析與設計2</p><p>  2.1網(wǎng)站系統(tǒng)分析2</p><p><b>  2.2主頁設計2</b></p><p>  2.3數(shù)據(jù)庫設計3</p><

8、p><b>  3 詳細設計3</b></p><p>  3.1 家長學校聯(lián)絡簿3</p><p>  3.1.1功能:3</p><p>  3.1.2組成構(gòu)造3</p><p>  3.1.3數(shù)據(jù)庫結(jié)構(gòu)設計4</p><p>  3.1.4界面設計與重點、難點代碼的設計4&

9、lt;/p><p>  3.2網(wǎng)上圖書館9</p><p><b>  3.2.1功能9</b></p><p>  3.2.2數(shù)據(jù)庫設計9</p><p>  3.2.3界面設計與重點代碼的設計11</p><p>  3.3頁面訪問計數(shù)器的制作15</p><p>

10、;  4系統(tǒng)的使用說明與安裝16</p><p>  4.1運行環(huán)境要求16</p><p>  4.2安裝設置16</p><p><b>  5結(jié)論17</b></p><p><b>  6參考文獻18</b></p><p><b>  7致謝1

11、9</b></p><p><b>  1 引言</b></p><p>  在Internet飛速發(fā)展的今天,互聯(lián)網(wǎng)成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在人們政治、經(jīng)濟、生活等各個方面發(fā)揮著重要的作用Internet已經(jīng)以一種強大的聲勢沁入了人類社會。Internet上發(fā)布信息主要是通過網(wǎng)站來實現(xiàn)的,獲取信息也是要在Internet“海洋”中按

12、照一定的檢索方式將所需要的信息從網(wǎng)站上下載下來。因此網(wǎng)站建設在Internet應用上的地位顯而易見,它已成為政府、企事業(yè)單位信息化建設中的重要組成部分,從而倍受人們的重視。為了更好的辦學,提高學校知名度,特構(gòu)學校自己的特色網(wǎng)站。</p><p>  從物理意義上來說,校園網(wǎng)就是一種局域網(wǎng)。根據(jù)IEEE的描述,局域網(wǎng)LAN技術(shù)是“把分散在一個建筑物或相鄰建筑物中的計算機、終端、帶大容量存儲器的外圍設備、控制器等相互

13、連接起來,以很高速度進行通信的手段。”與Internet互聯(lián)網(wǎng)相連的校園網(wǎng)作為一種在學校應用的局域網(wǎng),它可以高效率地建構(gòu)信息內(nèi)容,為來訪者提供知識見解,并送“貨”上門。校園網(wǎng)的網(wǎng)站可以看作是“界面”,它可為上網(wǎng)用戶提供各種服務。校園網(wǎng)應用在教育教學過程中,不僅可以改變傳統(tǒng)的教學模式、教學方法、教學手段,而且將會促進教育觀念、教學思想的轉(zhuǎn)變。有利于培養(yǎng)學生的創(chuàng)性思維,提高學生獲取信息、分析信息、處理信息的能力和適應現(xiàn)代社會的能力。教師在應

14、用校園網(wǎng)等現(xiàn)代教育技術(shù)的過程中,也將增強終身學習的能力,不斷提高業(yè)務水平。加強校園網(wǎng)建設,有利于推進素質(zhì)教育的實施。</p><p>  傳統(tǒng)的網(wǎng)站新聞管理方式有兩種,一是靜態(tài)HTML頁面,更新信息時需要重新制作頁面然后上傳頁面并修改相應鏈接,這種方式因為效率太低已不多用。二是基于ASP和腳本語言,將動態(tài)網(wǎng)頁和數(shù)據(jù)庫結(jié)合,通過應用程序來處理新聞,這是目前較為流行的做法。但是由于ASP本身的局限性使得系統(tǒng)有一些不可

15、克服的缺陷,而采取了ASP.NET技術(shù)的系統(tǒng)性能上有了很大的改善,其主要表現(xiàn)在以下幾方面: 1.由于ASP頁面每次打開都必須經(jīng)過先編譯后解釋的過程,所以頁面在反復打開時速度沒有任何提升,而ASP.NET頁面只需要一次編譯后不需要重新編譯,直到該頁面被修改或Web應用程序重新啟動。這使得在多次訪問時速度有了極大的提升。</p><p>  2.由于ASP沒有提供任何輸出數(shù)據(jù)為內(nèi)容的元件,所以在使用ASP撰寫數(shù)

16、據(jù)庫頁面時只能借助ADO的RecordSet對象逐筆讀取記錄,而ASP.NET通過ADO.NET提供的DataGrid等數(shù)據(jù)庫元件可以直接和數(shù)據(jù)庫聯(lián)系。</p><p>  3.ASP.NET支持應用程序的實時更新。管理員不必關掉網(wǎng)絡服務器或者甚至不用停止應用程序的運行就可以更新應用文件。應用程序文件永遠不會被加鎖,因此甚至在程序運行時文件就可以被覆蓋。當文件更新后,系統(tǒng)會溫和地轉(zhuǎn)換到新的版本。</p>

17、;<p>  4.ASP.NET采取"code-behind"方式編寫代碼使得代碼更易于編寫,結(jié)構(gòu)更清晰,降低了系統(tǒng)的開發(fā)與維護。</p><p><b>  1.1 設計思想</b></p><p>  通過網(wǎng)站,全面宣傳,展示學校風采、優(yōu)點與特色,發(fā)布學校的重大活動安排與招生政策,增強家長與學校之間的聯(lián)系,在Internet上實現(xiàn)

18、完成部分校務,提高辦事效率。</p><p>  學校網(wǎng)站是學校的"商標",每一所學校都有自己的特色,每一所學校都有自己的個性。在這個高度信息化的社會里,建立自己學校網(wǎng)站是最直接的宣傳手段。網(wǎng)站沒有區(qū)域限制的特性,不僅能讓地區(qū)內(nèi)的人們了解學校,更可讓世界了解你的學校。憑藉學校網(wǎng)站,學校就可成為教育百花園中一朵鮮艷的花朵。</p><p>  學校網(wǎng)站是最佳的教學研究室,

19、學校網(wǎng)站與教育類專門網(wǎng)站的有效鏈接,給學校教學研究帶來了一片新天地,各種優(yōu)秀教案、專家論壇、網(wǎng)絡觀摩課、各科素材、多媒體課件制作等內(nèi)容為教師教研提供了極佳的平臺。</p><p>  學校網(wǎng)站是實現(xiàn)教育資源分配的橋梁網(wǎng)絡有巨大的教育資源庫,它集全社會的力量,使教育資源無限增長。這對于發(fā)達地區(qū)和欠發(fā)達地區(qū),高投入學校和條件差的學校在獲取教育資源的權(quán)力上達成平等,使每一位教師和學生都能均等的得到培訓和受教育的機會,不

20、再會受到學校水平、教材、教師能力的限制。不僅能極大的提高教學效率,而且能實現(xiàn)教育公平的社會理想等。</p><p>  2 網(wǎng)站總體分析與設計</p><p><b>  2.1網(wǎng)站系統(tǒng)分析</b></p><p>  根據(jù)前面的設計思想進行分析,按照系統(tǒng)開發(fā)的基本觀點對網(wǎng)站進行分解,從內(nèi)容上可對網(wǎng)站作如下劃分:</p><

21、p>  (1) 學校風采 通過學校概括、教師風采、校園之星及部分圖片等內(nèi)容來展現(xiàn)。</p><p>  (2) 優(yōu)點特色 通過新聞、生動活潑的教育教學欄目來展現(xiàn)。</p><p>  (3) 信息發(fā)布 通過公告欄、信息查詢等欄目來實現(xiàn),內(nèi)容有招生政策、活動言安排等。</p><p>  (4) 部分校務 根據(jù)校務的公開程度與參與人數(shù)的多少,特選擇圖書管理、考試

22、查分、家校聯(lián)系三大校務在網(wǎng)上實現(xiàn)。</p><p><b>  2.2主頁設計</b></p><p>  網(wǎng)站主頁采用靜、動相結(jié)合的方式,即靜態(tài)的主畫面和動態(tài)的圖片相結(jié)合,體現(xiàn)學校的勃勃生氣,靜態(tài)主頁方式介紹學校風采、優(yōu)點特色、信息發(fā)布,對于四大校務,就得利用ASP與數(shù)據(jù)庫結(jié)合的技術(shù)建立數(shù)據(jù)庫查詢管理系統(tǒng),采用交互式的動態(tài)的web畫面來實現(xiàn)。</p>

23、<p><b>  2.3數(shù)據(jù)庫設計</b></p><p>  采用的數(shù)據(jù)庫是Microsoft Access ,擬建立teach.mdb庫文件,包含如下幾個表文件:</p><p>  allmessage 留言信息表</p><p>  Libbooks 圖書信息表</p><p>  Libcatego

24、ries 圖書類別信息表</p><p>  Libemps 圖書館用戶信息表;</p><p>  stud 學生信息表</p><p><b>  3 詳細設計</b></p><p>  3.1 家長學校聯(lián)絡簿</p><p><b>  3.1.1功能:</b><

25、;/p><p>  利用SQL語法過濾特定的家長留言意見,讓老師可以針對某位特定學生家長所發(fā)表的意見作出獨立的回答,同時,家長在發(fā)表個人意見時,若認為意見內(nèi)容涉及敏感的話題或是意見內(nèi)容涉及私人隱私,都可用“悄悄話”的方式發(fā)言,這些“悄悄話”將不會被顯示出來讓大家看到,當然,老師擁有管理的能力,只要以密碼登錄管理模式,就可以進行各個學生家長的單獨意見回復,而且還能看到家長們所留下的“悄悄話”。</p>&

26、lt;p><b>  3.1.2組成構(gòu)造</b></p><p><b>  共分成六大部分:</b></p><p>  1,意見留言結(jié)果網(wǎng)頁guest.asp:用來顯示家長發(fā)言與老師回復內(nèi)容,同時還具備一般模式與管理模式兩種顯示方法。</p><p>  2,家長發(fā)言表單網(wǎng)頁addmsg.asp:讓學生家長填寫發(fā)

27、言內(nèi)容并選擇發(fā)言性質(zhì)。</p><p>  3,家長發(fā)言數(shù)據(jù)處理ASP程序add.asp:處理家長發(fā)表的意見數(shù)據(jù),同時將這些意見數(shù)據(jù)記錄起來并將網(wǎng)頁顯示轉(zhuǎn)向至意見留言結(jié)果網(wǎng)頁。</p><p>  4,老師回復表單網(wǎng)頁teachans.asp:讓老師針對某位特定學生家長所發(fā)表的意見作出獨立的回答。</p><p>  5,老師回復數(shù)據(jù)處理ASP程序anssave.a

28、sp:處理老師回復的數(shù)據(jù)內(nèi)容,同時將這些意見數(shù)據(jù)起來并將網(wǎng)頁顯示轉(zhuǎn)向至意見留言結(jié)果網(wǎng)頁。</p><p>  6,數(shù)據(jù)表文件allmessage:用來儲存家長發(fā)言數(shù)據(jù)與老師回復數(shù)據(jù)的Access類型數(shù)據(jù)庫文件。</p><p>  “數(shù)據(jù)表文件”負責存放家長發(fā)言數(shù)據(jù)與老師回復內(nèi)容的數(shù)據(jù)記錄,為Access類型的庫文件,將它定名為:“message.mdb”。</p><

29、p>  3.1.3數(shù)據(jù)庫結(jié)構(gòu)設計</p><p>  數(shù)據(jù)庫文件”teach.mdb“中的數(shù)據(jù)表” allmessage“的欄目設置。</p><p>  3.1.4界面設計與重點、難點代碼的設計</p><p>  數(shù)據(jù)庫與留言顯示程序網(wǎng)頁</p><p>  家長發(fā)言與老師回復的內(nèi)容數(shù)據(jù)全部儲存在數(shù)據(jù)庫中,要在網(wǎng)頁中顯示目前的家長發(fā)

30、言與老師回復數(shù)據(jù),必須先進行數(shù)據(jù)庫的鏈接與打開,要鏈接數(shù)據(jù)庫我們必須使用ADO對象群的Connection對象;而要打開數(shù)據(jù)庫則必須使用ADO對象群的Recordset對象,程序:</p><p>  set cn=server.createobject("adodb.connection") </p><p>  cn.open "filedsn=c:\pr

31、ogram files\common files\odbc\data sources\ms access database.dsn"</p><p>  set rs=server.createobject("adodb.recordset")</p><p>  sql="select * from allmessage order by 留言時間

32、 desc"</p><p>  rs.open sql,cn,1,1</p><p>  Recordset對象是負責瀏覽與操作從數(shù)據(jù)庫取出來的數(shù)據(jù),Connection對象只負責與數(shù)據(jù)庫進行鏈接的動作,并不能使用數(shù)據(jù)庫內(nèi)的數(shù)據(jù),因此必須建立一個可以存取數(shù)據(jù)庫數(shù)據(jù)的Recordset對象,</p><p>  使用RS.Open方法存取”teach.md

33、b”數(shù)據(jù)庫</p><p>  RS.Open SQL,CN,1,1</p><p>  使用open方法來打開數(shù)據(jù)表或執(zhí)行Select指令參數(shù)設置如下:</p><p>  1,參數(shù)一(SOURCE):為欲打開的數(shù)據(jù)表或SQL指令。</p><p>  2,參數(shù)二(ActionConnection):指定一個已打開的數(shù)據(jù)庫對象,將此參數(shù)設為

34、鏈接我們已經(jīng)建立好的Connection對象“CN”。</p><p>  3,參數(shù)三( CursorType):指定Recordset的打開類型,1為可讀寫且可自由移動。</p><p>  4, 參數(shù)四(LockType):指定鎖定類型,1為只讀。</p><p>  數(shù)據(jù)排序與SQL指令</p><p>  1,Select 指令的篩選

35、語句:</p><p>  格式: Select…From</p><p>  在SQL語言中:“Select”數(shù)據(jù)表“中選取某些“欄位”的數(shù)據(jù).</p><p>  2.如果要選取的數(shù)據(jù)表數(shù)據(jù)包含了一個以上的欄位,則我們可以利用“,”逗號來欄位名稱隔開。</p><p>  3,如果要選取的數(shù)據(jù)表數(shù)據(jù)包含了全部的欄位,則可以利用萬用字符“*

36、”來代表全部的欄位。</p><p>  可排序數(shù)據(jù)的Select指令</p><p>  當我們希望被選取出來的數(shù)據(jù)記錄數(shù)據(jù)能夠依據(jù)某個或某幾個欄位的內(nèi)容來排序時,只要將這些排序依據(jù)的欄位擺放在“Order By“保留字之后,然后將這處排序的語句連接在”Select…From“后面就行了。</p><p>  .“Order By“默認的排序方式是“由小排到大”,

37、但若是希望排序方式是“由大排到小”,則我們可在欄位名稱后再加上“Desc“保留字!將排序方式改為”由大排到小“。</p><p>  在“顯示留言意見”網(wǎng)頁中的打開數(shù)據(jù)庫ASP程序中的語句:</p><p>  SELECT*From allmessage order by 留言日期 Desc</p><p>  功能為:從數(shù)據(jù)表“allmessage“中取出所有欄

38、位的數(shù)據(jù),并將取出的數(shù)據(jù)記錄內(nèi)容依照”留言日期“欄位使用的”由大排到小“排序方式進行排序。</p><p><b>  效果如圖一所示:</b></p><p><b>  圖一</b></p><p>  留言顯示網(wǎng)頁的管理模式</p><p>  “顯示留言意見”的網(wǎng)頁就必須具備顯示模式選擇的功

39、能,當顯示模式在一般情況時要能顯示家長們的一般性發(fā)言,同時還得將“悄悄話“的發(fā)言隱藏起來。當老師以密碼登錄成為管理模式時,則必須將一般性發(fā)言與悄悄話發(fā)言的數(shù)據(jù)全部顯示出來,同時還得讓老師們可以針對某位特定學生家長所發(fā)表的意見作出獨立的回答。</p><p>  這兩個情況是通過密碼登錄管理模式的ASP程序?qū)崿F(xiàn)的:</p><p>  <form method="post&q

40、uot;> </p><p>  <%if session("checkedit")="yes" then%> </p><p>  <input type="hidden" value="yes" name="goexit"> </p><

41、p>  <input type="submit" value="離開管理模式"> </p><p><b>  <%else%> </b></p><p>  密碼:<input type="password" name="password" size=

42、"4" maxlength="4"> <input type="submit" value="教師管理"> </p><p>  <%end if%> </p><p><b>  </form></b></p><p>

43、  在這段網(wǎng)頁語句中,利用Session對象來記錄目前的工作模式。當我們第一次進入“顯示留言意見”網(wǎng)頁的時候,我們所見的網(wǎng)頁畫面一定是一般!因為Session尚未被建立,因此它的“變量”值一定不會是“yes”,所以網(wǎng)頁中會出現(xiàn)一個輸入密碼進入“教師管理”模式的欄位,只有當我們輸入密碼按下“教師管理”的按鈕組織上發(fā)ASP程序中的進入管理模式語句后,Session對象才會被建立,同時,“checkedit“Session對象變量值被設置為“

44、yes“,所以我們就進入了能將一般性發(fā)言與悄悄話發(fā)言的數(shù)據(jù)全部顯示出來,同時還讓教師們可以針對某位特定學生家長所發(fā)表的意見作出獨立回答的管理模式頁面。</p><p><b>  留言顯示網(wǎng)頁的分頁</b></p><p>  當家長的發(fā)言與老師回復的數(shù)據(jù)筆數(shù)太多時,一次要將全部的數(shù)據(jù)內(nèi)容顯示在網(wǎng)頁中,等待網(wǎng)頁下載的時間太長了,因此采用固定筆數(shù)分頁瀏覽方式來顯示網(wǎng)頁。

45、</p><p>  要進行分頁顯示,得先知道目前有多少筆的留言數(shù)據(jù),而留言數(shù)據(jù)筆數(shù)可以通過Recordset對象的“Recordcount“(記錄個數(shù))屬性得知,我們將每10筆數(shù)據(jù)為一單位分頁顯示:</p><p>  count=rs.recordcount</p><p>  if count/10>(count\10) then</p>

46、<p>  totalpage=(count\10)+1</p><p>  else totalpage=(count\10)</p><p><b>  end if</b></p><p>  “/”為浮點數(shù)除法,“\”為整數(shù)除法。</p><p>  跳頁選擇的ASP程序語句</p>&l

47、t;p>  所有的發(fā)言數(shù)據(jù)采用固定筆數(shù)分頁瀏覽的方式來顯示后,還要提供一個跳頁鏈接顯示的功能,讓瀏覽者可以選擇希望瀏覽的頁次進得瀏覽,ASP程序語句:</p><p>  pagecount=0</p><p>  rs.movefirst</p><p>  if request.querystring("topage")<>

48、"" then pagecount=cint(request.querystring("topage"))</p><p>  if pagecount<=0 then pagecount=1</p><p>  if pagecount>totalpage then pagecount=totalpage</p><

49、p>  rs.move(pagecount-1)*10</p><p><b>  發(fā)言表單網(wǎng)頁制作</b></p><p><b>  inse tu3</b></p><p><b>  表單的參數(shù)</b></p><p>  表單的Action參數(shù):Action參數(shù)

50、是用來指定Server端處理此一表單數(shù)據(jù)內(nèi)容的程序,此處表單處理ASP程序為“add.asp“,</p><p>  表單的Mothed參數(shù):要將表單傳送至Server端的方式有兩種,設置值分別為GET及POST,若設置為POST,則瀏覽器會等Server端來讀取數(shù)據(jù),若設置為GET,則當我們按下送出按鈕時,瀏覽器會立即將表單中的數(shù)據(jù)內(nèi)傳送出去。利用POST方法,在傳送的數(shù)據(jù)上將不受限制,利用GET方法傳送的數(shù)據(jù)

51、量則大約只有2K左右。</p><p><b>  留言處理程序</b></p><p>  要將家長發(fā)言數(shù)據(jù)作后續(xù)處理及將這些數(shù)據(jù)內(nèi)容存入數(shù)據(jù)庫,須利用添加數(shù)據(jù)記錄的Insert Into 指令,然后再寫入數(shù)據(jù)庫文件中:</p><p>  Inset into 指令語句格式:</p><p>  Insert int

52、o 數(shù)據(jù)表名 (欄目名) values(欄目值)</p><p>  sql="insert into allmessage(家長姓名,留言主題,聯(lián)絡信箱,留言內(nèi)容,私人公開,留言時間,班級) values("</p><p>  sql=sql&"'"& parent&"',"</p

53、><p>  sql=sql&"'"&subject&"',"</p><p>  sql=sql&"'"&email&"',"</p><p>  sql=sql&"'"&a

54、mp;memo&"',"</p><p>  sql=sql&"'"&personal&"',"</p><p>  sql=sql&"'"&now&"',"</p><p&g

55、t;  sql=sql&"'"&bj&"')"</p><p>  cn.execute sql</p><p><b>  回復表單程序網(wǎng)頁</b></p><p>  必須讓老師們可以針對某位特定學生家長所發(fā)表的意見作出獨立的回答,</p><

56、;p>  使用Select…From…Where篩選語句</p><p>  sql="select * from allmessage where(編號="&ID&")"</p><p>  rs.open sql,cn,1,3</p><p>  然后將特定的家長發(fā)言數(shù)據(jù)放在表單,方法是將數(shù)據(jù)庫中的數(shù)

57、據(jù)取出來,然后放在表單欄位中:</p><p>  “家長姓名“欄位網(wǎng)頁語句標簽</p><p>  <td bgcolor="#CCCCFF"><font size="2"><%=RS("家長姓名")%><font></td></p><p> 

58、 “留言主題“欄位網(wǎng)頁語句標簽</p><p>  <td bgcolor="#CCCCFF"><font size="2"><%=RS("留言主題")%></font></td></p><p>  “留言內(nèi)容“欄位網(wǎng)頁語句標簽</p><p>

59、  <td bgcolor="#CCCCFF"><font size="2"><%=RS("留言內(nèi)容")%><font></td></p><p>  老師在回復欄位中所填入的數(shù)據(jù),必須送給處理老師回復數(shù)據(jù)的ASP程序”anssave.asp”來記錄以及處理這些回復數(shù)據(jù)。當老師填寫好回復發(fā)言的數(shù)

60、據(jù)后按下“送出回復”按鈕后,表單中的數(shù)據(jù)內(nèi)容就會以“POST”的方式由SEVER端讀取,然后將數(shù)據(jù)內(nèi)容交由處理老師回復數(shù)據(jù)的ASP程序“anssave.asp”來將數(shù)據(jù)內(nèi)容寫入數(shù)據(jù)庫。</p><p>  最終效果如圖二所示:</p><p><b>  圖二</b></p><p><b>  3.2網(wǎng)上圖書館</b>&

61、lt;/p><p>  網(wǎng)上圖書館將學校圖書館圖書放到網(wǎng)絡上供人借閱,這樣不僅方便了校內(nèi)的學生與教職員工使用圖書館的資源,還為圖書館管理員提供了一種簡便地管理圖書館的方法.</p><p><b>  3.2.1功能</b></p><p>  網(wǎng)上圖書館系統(tǒng)可以進行圖書的出借和歸還.還可以在系統(tǒng)中按照多種字段對圖書進行查找,還可以瀏覽某個種類的所

62、有圖書.該應用程序也為圖書館管理員提供了一些功能,如添加、編輯以及刪除圖書等,或者在分類層次結(jié)構(gòu)中添加新的種類。</p><p>  3.2.2數(shù)據(jù)庫設計</p><p>  本系統(tǒng)共使用3個數(shù)據(jù)表:</p><p>  LibBooks表包含與圖書有關的所有數(shù)據(jù)。該表中的字段內(nèi)容的圖書的通用信息。另外,對于已經(jīng)出借的圖書,該表中還包含借閱該圖書的用戶的ID號,以及

63、圖書的狀態(tài)。</p><p><b>  表視圖如圖三所示:</b></p><p><b>  圖三</b></p><p>  字段名 意義 字段類型 字段名 意義 字段類型</p><p>  bookid 書號(主鍵) 數(shù)字 (no null) status 狀態(tài) 文本</p>

64、<p>  title 書名 文本 checkedoutto 用戶id 數(shù)字</p><p>  author 著者 文本 reservedby 用戶學號 數(shù)字</p><p>  Subject 主題 文本 description 描述 文本</p><p>  Isbn Isbn號 文本 keywords 關鍵字 文本</p><

65、p>  LibCategories 表包含Library中的所有類別,在訪問者瀏覽圖書列表時將會用到這些類別。每個類別都可以作為另外類別的父類別。有一個特殊的類別,Top-Level,沒有出現(xiàn)在類別列表中,但是可以作為其他任何類別的父類別。</p><p>  字段名 意義 字段類型</p><p>  Categoryname 類別 文本(noll)</p><

66、p>  parentcategory 父類別 文本(noll)</p><p>  LibEmps表包含可以訪問圖書館網(wǎng)站的用戶信息。該表包含一些通用的信息字段,比如用于進入圖書館的用戶密碼等。</p><p>  字段名 意義 字段類型 字段名 意義 字段類型</p><p>  empid 用戶id (主鍵no null) 數(shù)字 password 用戶密碼

67、 文本</p><p>  Empname 用戶姓名 文本 manager 管理員代號 數(shù)字</p><p>  emailaddress 用戶郵箱 文本 </p><p>  表LibEmps和表Lib Categories與表LibBooks之間都是一對多的關系。每個雇員都可以借閱多本圖書,每個類別都可以包含多本圖書。</p><p> 

68、 3.2.3界面設計與重點代碼的設計</p><p>  網(wǎng)上圖書館系統(tǒng)有兩種用戶,一是管理員。另一種是只允許使用圖書館系統(tǒng),而沒有管理功能的一般用戶。訪問者進入網(wǎng)站,首先要進行登錄,如下圖所示。</p><p>  (1)登錄頁面(index.asp)如圖五所示:</p><p><b>  圖五</b></p><p&g

69、t;  訪問者輸入E-mail地址和密碼來登錄,然后單擊“登錄”按鈕。輸入的數(shù)據(jù)提交后與數(shù)據(jù)庫中的用戶表進行匹配。須創(chuàng)建一個記錄來保存基于訪問者登錄的用戶信息</p><p>  set RSFindEmp = conn.Execute("select EmpID, Manager from LibEmps where " _</p><p>  & "

70、;EmailAddress = '" & Request.Form("EmailAddress") & "' and " _</p><p>  & "Password = '" & Request.Form("Password") & "'&

71、quot;)</p><p>  if RSFindEmp.EOF then</p><p>  TheMessage = "密碼或email地址不對."</p><p><b>  else</b></p><p>  Session("EmpID") = RSFindEmp(&

72、quot;EmpID")</p><p>  Session("Manager") = RSFindEmp("Manager")</p><p>  Response.Redirect "../yk.htm"</p><p><b>  end if</b></p>

73、;<p>  表單域EmailAddress和Password 用于Where了句中來獲取一個記錄。如果訪問者輸入了一個無效的用戶名,則記錄集中將不會返回匹配的記錄。我們可以通過查看EOF標記來判斷一個記錄集是否為空。為空,則訪問者將被拒絕進入該系統(tǒng)。不為空,則訪問者的EmpID值和Manager值將從記錄集中返回。寫入Session 變量, 變量將在整個網(wǎng)站的所有網(wǎng)頁中都是有效的。這些變量的存在與否及其取值將用于確定是否

74、允許進入一個特定的網(wǎng)頁,同時也用于訪問者進行書目的歸還和借閱操作。</p><p>  (2)圖書館菜單頁面</p><p>  圖書館菜單頁面包含指向其他9個頁面的鏈接:管理頁面、搜索頁面、圖書列表頁面,主頁面新書推薦等等。還有一個可顯示用戶所借書籍的按紐。非管理員的訪問者的界面上沒有指向管理員菜單頁面的鏈接?! ?</p><p>  實現(xiàn)辦法:訪問者登錄時在登

75、錄頁面上的創(chuàng)建的會話變量Session 用于從數(shù)據(jù)庫中獲取訪問者的有關信息,表示它是否是管理員。如果值為1,就表明訪問者是一個管理員,則用如下代碼寫入一個指向管理員頁面的鏈接:</p><p>  <% If Session("Manager") = 1 then %></p><p>  <A HREF="../html/managemen

76、t_menu.asp">管理員菜單</A></p><p>  <% end if %></p><p>  通過按紐B1是否為空來判斷要不要顯示用戶所借圖書,利用一個記錄集來獲取訪問者已經(jīng)借出了的所有圖書的列表。</p><p>  if NOT isempty(Request.Form("B1")) t

77、hen</p><p>  set RSBooks = conn.Execute ("select BookID, Title from LibBooks where " _</p><p>  & "CheckedOutTo = " & Session("EmpID"))</p><p>

78、<b>  end if </b></p><p>  再用循環(huán)語句將所借書以表格形式顯示出來。</p><p>  <table border=1 width="90%" > </p><p>  <% if NOT isempty(Request.Form("B1")) then&l

79、t;/p><p>  Do Until RSBooks.EOF%> </p><p><b>  <TR > </b></p><p>  <TD WIDTH=40% height="20"><% Response.Write RSBooks("Title") %>&

80、lt;/td></tr></p><p>  <% RSBooks.MoveNext </p><p><b>  loop</b></p><p><b>  end if</b></p><p><b>  %> </b></p>

81、<p><b>  </table> </b></p><p>  循環(huán)將遍歷Rsbooks記錄集中的每個記錄,直到該記錄集結(jié)束。</p><p>  該網(wǎng)站中的所有ASP頁面都會在訪問者訪問之前對其進行登錄檢查。這樣就可以避免訪問者通過輸入某個頁面地址然后在沒有登錄的情況下直接進入該頁面的情況發(fā)生。此外,每個管理頁面都要確認訪問者是管理員。&

82、lt;/p><p><b>  (3)管理菜單頁面</b></p><p>  管理菜單頁面有一個HTML表單,根據(jù)選擇的按鈕的不同,可以進行5種不同的操作:圖書的歸還、圖書的編輯、圖書的刪除、圖書的添加和類別的添加。不管選擇了哪一個按鈕,該表單都提交人其自身進行處理。</p><p>  要進行圖書的歸還、圖書的編輯、圖書的刪除三種操作,須先進行

83、搜索,找到該書后,由圖書Book.asp返回一個鏈接:</p><p>  <% If Session("Manager") = 1 then %></p><p>  <A HREF="../html/management_menu.asp?title=<% response.write RSBooks("Title&quo

84、t;) %>&BOOKID=<% response.write RSBooks("BOOKID") %>">管理員菜單</A></p><p>  <% end if %> </p><p>  而管理者頁面通過下列語句</p><p>  <%=request.querys

85、tring("title")%></p><p>  <inputzztype=hidden name="BOOKID1"value="<%=request.querystring("BOOKID")%>></p><p>  這樣就將所找到的書的書號BookID、書名Title傳遞管理者頁

86、面。再進行所須操作。共有3個不同的銨紐,可以進行3種操作。若單擊“修改”鈕:</p><p>  則重定向到編輯圖書頁面,同時把Bookid 傳遞給該頁面。</p><p>  Response.Redirect "./edit_book.asp?BOOKID="&request("BOOKID1")</p><p>

87、  將其他的情況需要建立到數(shù)據(jù)庫的連接:</p><p>  set conn = server.createobject ("adodb.connection")</p><p>  Conn.Open("FILEDSN=c:\Program Files\Common Files\ODBC\Data Sources\ms access database.ds

88、n")</p><p>  if NOT isempty(Request.Form("Delete")) and request("BOOKID1")<>"" then</p><p>  conn.Execute "delete from LibBooks where BOOKID ="

89、&request("BOOKID1")</p><p><b>  end if</b></p><p>  if (NOT isempty(Request.Form("checkin"))) and request("BOOKID1")<>"" then</p&

90、gt;<p>  conn.Execute "update LibBooks set checkedoutto= 0, status= 'Available' where BookID="&Request("BOOKID1")</p><p><b>  end if</b></p><p>

91、;  頁面中的添加新的種類部分包含一個文本控件和一個選擇控件。其中選擇控件是用所有已經(jīng)存在的類別列表進行填充的,包括特殊類別 Top level ,該類別表明當前類別是處于類別層次結(jié)構(gòu)中的最頂層。代碼如下:</p><p>  先用一個記錄集來填充父類別選擇控件:</p><p>  set RSCategories = conn.Execute("select Category

92、Name from LibCategories order by CategoryName")</p><p><b>  再用下列循環(huán)語句:</b></p><p><b>  <% </b></p><p>  Do Until RSCategories.EOF </p><p>

93、;<b>  %> </b></p><p>  <OPTION VALUE="<% response.write RSCategories("CategoryName") %>"><% response.write RSCategories("CategoryName") %></O

94、PTION> </p><p><b>  <% </b></p><p>  RSCategories.MoveNext </p><p><b>  Loop </b></p><p><b>  %> </b></p><p> 

95、 遍歷RSCategories記錄集中的每個記錄,并作為一個選項添加到列表中,而記錄集中CategoryName 同時作為顯示值和傳遞值</p><p>  搜索頁面的代碼獲取與訪問者查找規(guī)則相匹配的圖書,然后將這些圖書顯示給訪問者。</p><p>  搜索頁面上的表單包含一個選擇控件和一個文本控件。選擇控件中的選項是用可搜索 的字段填充的:</p><p>  

96、需要用一個記錄集來保存與訪問者的查找規(guī)則相匹配的記錄:</p><p>  set RSBooks = conn.Execute("select BookID, Author, Title, Subject from LibBooks where " _</p><p>  & Request.Form("SearchField") &

97、; " Like '%" & Request.Form("SearchCriteria") & "%'")</p><p>  注意:,符號%表示的是一個廣義搜索。這一點類似于ACCESS中的符號*。</p><p>  然后將所找到的書以表格形式顯示出來。代碼如下:</p><

98、p>  <% Do Until RSBooks.EOF %> </p><p>  <TR VALIGN="top" ALIGN="left"> </p><p>  <TD WIDTH=40% height="20"><B>書名:</B> <A HREF=&

99、quot;../html/book.asp?BookID=<% Response.Write RSBooks("BookID") %>"><% Response.Write RSBooks("Title") %></A></TD> </p><p>  <td width=20% height="

100、;20"><B>著者:</B> <% Response.Write RSBooks("Author") %></td> </p><p>  <td width=30% height="20"><B>主題:</B> <% Response.Write RSBooks(&

101、quot;Subject") %> </td> </p><p>  <% RSBooks.MoveNext </p><p><b>  Loop %> </b></p><p>  3.3頁面訪問計數(shù)器的制作</p><p>  利用文件處理組件FILESYSTEM的強大功能來

102、制作,比用Application對象計數(shù)器要好,Application計數(shù)器當有20分鐘沒有人連上該網(wǎng)頁或關機時,計數(shù)器會被歸零。而文件計數(shù)器卻不會因時間而消失。我用Count.txt存放訪問人次。代碼如下:</p><p>  whichfile=server.mappath("pic\count.txt")</p><p>  set myfile=server.c

103、reateobject("scripting.filesystemobject") 創(chuàng)建一個</p><p>  set thisfile=myfile.opentextfile(whichfile) 組件對象</p><p>  visit=thisfile.readline</p><p>  thisfile.close 讀取計數(shù)器數(shù)據(jù)文件

104、Count.txt中的計數(shù)數(shù)據(jù)</p><p>  visit=visit+1 記錄自加一次</p><p>  length=len(visit)</p><p>  for i=1 to length</p><p>  response.write "<img src="&mid(visit,i,1)&

105、amp;".jpg></img>" 將記錄的數(shù)據(jù)用圖片顯示出來</p><p><b>  next</b></p><p>  set thisfile=myfile.createtextfile(whichfile,1) 將新計數(shù)數(shù)據(jù)寫入文件thisfile.writeline(visit) </p><p

106、>  set myfile=nothing</p><p>  數(shù)字圖片我利用PHOTOSHOP中的文字特效制作了9個立方數(shù)字:</p><p>  4系統(tǒng)的使用說明與安裝</p><p><b>  4.1運行環(huán)境要求</b></p><p><b>  Windows98</b></

107、p><p>  Personal Web Server 3.0(PWS)</p><p>  Microsoft? Access 2000 (9.0.2812)</p><p><b>  4.2安裝設置</b></p><p>  A. 將本網(wǎng)站拷貝到硬盤上的某一目錄下,如:拷貝至c:\y1下。</p>&l

108、t;p>  B. 運行PWS,將默認的Web站點主目錄設置為該目錄,如上例應為c:\y1;</p><p><b>  具體步驟:</b></p><p>  C. 選擇“高級”項;</p><p>  D. 單擊“編輯屬性”按鈕,在出現(xiàn)的“編輯屬性”對話框中的“目錄”項中填入“c:\y1”,其他不變,確定;</p><

109、;p>  E. 設置啟動默認文檔為:yy.asp</p><p><b>  5結(jié)論</b></p><p>  ASP系統(tǒng)是一種很好的動態(tài)網(wǎng)頁設計方法,我們通過網(wǎng)站,全面宣傳,展示學校風采、優(yōu)點與特色,發(fā)布學校的重大活動安排與招生政策,增強家長與學校之間的聯(lián)系,在Internet上實現(xiàn)完成部分校務,提高辦事效率。</p><p>  在

110、網(wǎng)站的開發(fā)過程中,由于本人是初次開發(fā)網(wǎng)站,在知識、經(jīng)驗方面都存在著不足。另外,在整個開發(fā)的過程中,時間比較倉促。因此,該網(wǎng)站必然會存在一些缺陷和不足。因為對個人基本情況不夠熟悉,在需求分析時未能做到完全滿足用戶的需求。雖然網(wǎng)絡在學生身上中的應用不是太多,但是未來的發(fā)展方向,在本次開發(fā)過程由于其他限制,未能滿意的實現(xiàn),因此在以后的網(wǎng)站更新過程中可能會造成一些不必要的數(shù)據(jù)損失。盡管本網(wǎng)站存在著很多不足,但其功能全面、易于日后程序的更新、后臺

111、容易、界面友好、操作方便、效率高、安全性好等優(yōu)點是本網(wǎng)站所必需的。相信本網(wǎng)站是一套在今后就業(yè)中必不可少的一部分。</p><p>  通過開發(fā)這個網(wǎng)站,我掌握制作的整個過程,了解了基本知識,但在這次畢業(yè)設計中最大的收獲并不是掌握了這幾門開發(fā)工具的應用,而是學會了設計網(wǎng)站的思維方式,以及自身的語言能力、溝通交流能力、團隊精神等,還有同學之間相互幫助的精神。</p><p><b>

112、  6參考文獻</b></p><p>  [1] 周佩德.《數(shù)據(jù)庫原理及應用》.電子工業(yè)出版社</p><p>  [2] 劉炳文等,VISUAL BASIC程序設計——數(shù)據(jù)庫篇,1999</p><p>  [3] 李光明.《Visual Basic 6.0編程實例大制作》.冶金工業(yè)出版社</p><p>  [4]

113、劉炳文,精通VISUAL BASIC 6.0入門與提高,人民郵電出版社</p><p>  [5] 黃淼云.《VB6.0辦公自動化編程》.國防工業(yè)出版社</p><p>  [6] 王要武,管理系統(tǒng),電子工業(yè)出版社,2003</p><p>  [7] 李紅等編著,管理信息系統(tǒng)開發(fā)與應用,電子工業(yè)出版社,2003</p><p>  [

114、8] 周之英縞著,現(xiàn)代軟件工程,科學出版社,2003</p><p>  [9] 康博工作室,張紅軍,王紅等縞著《Visual Basic 6.0中文版高級應用與開發(fā)指南》,人民郵電出版社,2001年4月第一版</p><p><b>  7致謝</b></p><p>  在論文即將完成之際,回顧緊張但又充實的學習班和開發(fā)過程,本人在此向

115、所有關心我的及幫助我的老師和同學們致以最真誠的感謝。通過這次畢業(yè)設計,使我感到高科技、新知識的力量。這次畢業(yè)設計過程中,得到了xx老師的大力支持,不僅給我提供了大量的資料,而且給我的設計給出了關鍵性的指導,在此表示衷心的感謝!由于時間有限,這次設計還有很多不足的地方,我會繼續(xù)在xx老師的指導下對這個設計進行完善。最后,我再次感謝在次設計中給我巨大幫助的xx老師。另外,我還要感謝在這幾年來對我有所教導的老師,他們孜孜不倦的教誨不但讓我學到

溫馨提示

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

評論

0/150

提交評論