国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片

Categories


Tags


利用ASP開發(fā)Web應用

通常情況下,用戶通過瀏覽器看到的網(wǎng)頁大多是靜態(tài)的,而隨著Web 應用的發(fā)展,用戶希望能夠看到根據(jù)要求而動態(tài)生成的主頁,例如響應用戶查詢數(shù)據(jù)庫的要求、生成報表等。

根據(jù)用戶請求生成動態(tài)主頁的傳統(tǒng)方法有CGI、ISAPI 等。CGI 是根據(jù)瀏覽器端的http 請求激活響應進程,每一個請求對應一個進程。當同時有很多請求時,程序擠占系統(tǒng)資源,造成效率低下;ISAPI 針對這一缺點進行改進,利用dll(動態(tài)鏈接庫)技術,以線程代替進程,提高了性能和速度,但要考慮線程的同步問題,而且開發(fā)步驟煩瑣。這兩種技術和另一普遍使用的開發(fā)動態(tài)網(wǎng)頁的技術Java 都還存在著另外一個問題,那就是開發(fā)困難,程序的開發(fā)和HTML 寫作是兩個完全不同的過程,需要專門的程序員開發(fā)。而較簡單的開發(fā)技術如JavaScript 和IDC(Internet Database Connector) 等功能有限,不敷使用。

ASP 即ActiveX Server Page,是微軟公司的新一代開發(fā)動態(tài)網(wǎng)頁的技術,具有開發(fā)簡單、功能強大等優(yōu)點,可以非常直觀簡易地實現(xiàn)復雜的Web 應用。本文將介紹ASP 的基本概念、特點、開發(fā)要素,并通過兩個典型的例子介紹利用ASP 開發(fā)Web 應用的具體實現(xiàn)。

ASP 概念和工作流程

ASP 是一個Web 服務器端的開發(fā)環(huán)境,利用它可以產(chǎn)生和運行動態(tài)的、交互的、高性能的Web 服務應用程序。

ASP 屬于ActiveX 技術中的Server 端技術。與常見的在Client 端實現(xiàn)動態(tài)主頁的技術如Java applet、ActiveX Control、VB Script、JavaScript 等不同,ASP 中的命令和Script 語句都是由服務器來解釋執(zhí)行的,執(zhí)行結(jié)果產(chǎn)生動態(tài)生成的Web 頁面并送到瀏覽器;而Client 端技術的Script 命令則是由瀏覽器來解釋執(zhí)行。由于ASP 是在服務器端解釋執(zhí)行,開發(fā)者可以不必考慮瀏覽器是否支持ASP;同時由于它在服務器端執(zhí)行,開發(fā)者也不必擔心別人下載程序從而竊取編程邏輯。

ASP 通過后綴名為.asp 的ASP 文件來實現(xiàn),一個ASP 文件相當于一個可執(zhí)行文件,因此必須放在Web 服務器上有可執(zhí)行權限的目錄下。

當瀏覽器向Web Server 請求調(diào)用ASP 文件時,就啟動了ASP。Web Server 開始調(diào)用ASP,將被請求的.asp 文件從頭讀到底,執(zhí)行每一個命令,然后動態(tài)生成一個HTML 頁面并送到瀏覽器。ASP 文件的制作和HTML 類似,且和HTML 開發(fā)集成,可以在同一個過程完成。通過ASP 內(nèi)置的對象、服務器組件(Server Component)可以完成非常復雜的任務,而且用戶還可以自己開發(fā)或利用別人開發(fā)的服務器組件完成專門的任務。

ASP 具有以下特征:

完全和HTML 集成;

易于生成,無需手工編譯和連接;

面向?qū)ο?,可擴展ActiveX Server 組件。

目前ASP 只適用于下列Web Server:

IIS 3.0 on Windows NT;

Microsoft Peer Web Server v3.0 on NT Workstation;

Microsoft Personal Web Server on Win95。

ASP 文件

1.ASP 文件制作

ASP 文件即后綴名為.asp 的文件,是一個文本文件,可以包括下列元素的任意組合:

文本(text)

HTML 標志(tags)

Script 命令

制作ASP 文件非常簡單,可以用任何無格式的文本編輯工具(筆者一直使用Notepad), 也可用專門的主頁開發(fā)工具和ASP 開發(fā)工具如Visual InetDev 等。請看下面的例子:

現(xiàn)在時間:< %= Now %> 將其存成一后綴為.asp 的文件,放在一個Web Server 指定的有執(zhí)行權的目錄下,鏈接上后,它就能把服務器的當前時間輸出。要注意:asp 文件不能通過打開的方式來執(zhí)行,而必須是鏈接,例如,假定asp 是Web Server( 主機名host) 上有執(zhí)行權限的一個虛擬目錄,要執(zhí)行該目錄下的hello.asp,調(diào)用方式應該是:

http://host/asp/hello.asp

2.ASP 語法

ASP 并不是一種語言,它只是提供一個環(huán)境來運行ASP 文件中的Script。為了順利使用ASP,必須遵守ASP 的語法規(guī)則。ASP 的語法由下面幾個元素組成:

定界符

定界符是用來界定一個標志單元的符號,如HTML 里的“<”和“>”。

同樣,ASP Script 的命令和輸出表達也有定界符,同text 和HTML 都不同,它的命令定界符是“< %”和“%>”。例如下面是一條賦值語句:

< %name=“Timeout”%>

ASP 使用“< %”= 和“%>”來向瀏覽器輸出表達式,例如:

< %= name %>      將在瀏覽器上輸出“Timeout”。

Script 標志

ASP 可以使用任何Script 語言,只要提供相應的腳本驅(qū)動(engine)即可,ASP 自身提供了VBScript 和JScript 的驅(qū)動。它缺省的Script 語言是VBScript,當然開發(fā)者也可以改變這一缺省設置,例如要改為Jscript,只需在文件開頭注明< %@Language=JScript %> 即可。中的部分就是描述語言程序,和HTML 類似。不同的是在HTML 中這一部分由瀏覽器解釋執(zhí)行,在ASP 里卻是由Web Server 解釋執(zhí)行。

可以在一個.asp 文件里使用幾個不同的Script 語言,只需把每段用和括起來即可。也可以包含在瀏覽器端執(zhí)行的Script,將描述語句注釋起來,該段程序就由瀏覽器來解釋執(zhí)行。

HTML 標記:

在ASP 文件中可以包含HTML 語言的各種表達。

ASP 內(nèi)建對象

ASP 提供了五個內(nèi)建對象來提供更高一級的Web 功能,它們是:

Request:從使用者獲取信息;

Response:將信息送給使用者;

Server:提供Web Server 工具;

Session:存儲在一個Session 內(nèi)使用者的信息;

Application:在一個ASP 應用內(nèi)讓不同使用者共享信息。

用的最多的是前三個對象。Request 和Response 是用來實現(xiàn)Web Server 與瀏覽器交互。Request 的一個重要方法是Form(),其作用是提取瀏覽器的用戶輸入信息。例如主頁中有一個文本編輯框,已指定它的變量名為“name”,form 的action 為某asp 文件。下面的語句就可以取得用戶填在里面的內(nèi)容:

Request.Form(“name”)

顯然,這避免了CGI 等方法中所需要的復雜編程。

輸出要用到Response 的一個重要方法Write:

Response.Write “your message”

該語句向用戶瀏覽器輸出了一條消息。

Server 對象有兩個重要方法:MapPath 和CreateObject。MapPath 用來將Web Server 的虛擬路徑還原成實際路徑;CreateObject 可能是最重要的一個方法,用來產(chǎn)生服務器組件的對象實例,詳細介紹見下文。

服務器組件

通過服務器端的Script 和HTML,可以很容易地生成動態(tài)網(wǎng)頁,但功能有限,例如不能連接服務器數(shù)據(jù)庫、使用網(wǎng)絡功能或訪問服務器文件系統(tǒng)等。為了解決這一問題,就要用到COM 技術,即Component Object Model。幾乎所有的ActiveX 技術都是以此為基礎,通過COM,可以輕易地使用其它COM 組件,這種對于Web 可共享的COM 組件,就是服務器組件。一個服務器組件就相當一個對象,提供屬性和方法來使用服務器資源。服務器組件可以由支持ActiveX 的任何第三方開發(fā),ASP 本身也自帶了五個服務器組件,可以直接使用,并能完成大部分服務器端的工作。

要調(diào)用服務器組件,必須先利用Server 對象中的方法CreateObject 產(chǎn)生服務器組件對象實例, 如下所示:

Server.CreateObject(ProgID)

這里,ProgID 指定了構(gòu)件標識,構(gòu)件可以是各種形式的可執(zhí)行程序(DLL、EXE 等),也不必考慮它的位置,只要在Windows NT(或95)中登記注冊這些程序,COM 就會在系統(tǒng)資料庫(Registry) 里維護這些資料,同時以ProgID 方式讓程序員調(diào)用。登記用regsvr32 程序,可以用RegEdit 程序來看ProgID。構(gòu)件產(chǎn)生后,就可以使用它的方法和屬性進行工作。

一般使用Server 構(gòu)件的程序片段如下:

' 產(chǎn)生構(gòu)件

Setobj = Server.CreateObject(“ProgID”)

' 使用它的方法

obj.Method

ASP 提供了5 個服務器組件,其中最重要的兩個是數(shù)據(jù)庫訪問構(gòu)件ADODB 和文件訪問構(gòu)件FileSystemObject,本文的例子將說明它們的使用。

對于一些特殊的需求,開發(fā)者還可以自己開發(fā)服務器構(gòu)件,利用VB 或VC 可以很方便地開發(fā)出一些構(gòu)件,然后登記這些構(gòu)件,就可以用Server.CreateObject 來調(diào)用。另外還有許多站點上有開發(fā)好的構(gòu)件供下載,只要在自己的機器上將它們登記就可以使用。

ASP 應用實例

1. 利用文件訪問組件制作主頁訪問計數(shù)器

現(xiàn)在許多主頁上都有一個計數(shù)器來記錄該主頁被訪問的次數(shù),通常計數(shù)器通過CGI 實現(xiàn),開發(fā)過程比較復雜,一些非專業(yè)的程序員難以實現(xiàn)。而通過ASP 的文件訪問組件File Access Component (Scripting.FileSystemObject),可以很方便地產(chǎn)生一個計數(shù)器。下面是一個例子,其原理是:根據(jù)page hits 生成計數(shù)文件,讀出計數(shù)文件中的數(shù)字,再根據(jù)它動態(tài)地調(diào)出代表1、2、3 等數(shù)字的圖像。其基本過程和CGI 差不多,但在送出圖像時不同,CGI 是通過程序來動態(tài)生成一整幅圖像,而我們的方法是將已存在于機器中的圖像一張一張地調(diào)出,這樣就可以制作非常精美的數(shù)字圖像。其程序片段為:

< %

CountFile = Server.MapPath(“/gjy”+“/count.txt”)

‘計數(shù)文件

Set FileObj = Server.CreateObject(“Scripting.FileSystemObject”) ‘產(chǎn)生文件訪問構(gòu)件

Set Out=FileObj.OpenTextFile(CountFile,1,FALSE,FALSE) ‘打開文件

visitors = Out.ReadLine ‘讀出訪問記錄

visitors = visitors +1 ‘加一

Length = Len(visitors) ‘該調(diào)出的圖像數(shù)目

strURL=“<IMG SRC=/img/”+Mid(visitors,Length,1) +“.gif>”+strURL

Do While Length>=1

strURL=“”+strURL

Length=Length -1

Loop ‘生成圖像URL

Set Out=FileObject.CreateTextFile(CountFile,TRUE,TRUE)

Out.WriteLine(visitors) ‘記錄數(shù)寫回

%>

< %=strURL %> ‘輸出圖像

注:讀者可以根據(jù)自己服務器的情況設置圖像文件路徑。

2. 利用Data Access Component (ADODB .Connection) 訪問服務器數(shù)據(jù)庫

讓用戶通過瀏覽器查詢服務器的后端數(shù)據(jù)庫是許多Web 服務提供者必需有的服務,ASP 通過內(nèi)置的ADODB 組件來實現(xiàn)這一功能。ADO 即Active Data Object,同DAO 和RDO 一樣,屬于數(shù)據(jù)庫應用的COM 構(gòu)件,不同的是,ADO 是專門針對Internet 和Web 開發(fā)的,并對此進行了優(yōu)化。利用ADO 查詢數(shù)據(jù)庫的步驟是:

設置DSN

ADODB 通過ODBC 工作,因此要在ODBC 中設置DSN(數(shù)據(jù)源名)。

生成ADODB 組件實例

Set Connect=Server.CreateObject(“ADODB.Connection”)

連接數(shù)據(jù)庫

利用ADODB 的成員函數(shù)Open 和先前設定的DSN 與數(shù)據(jù)庫連接:

Connect.Open(“DSN=dsnname;UID=userID; PWD=password”)

執(zhí)行查詢

指定SQL 查詢語句:

SQL= select * from tablename

執(zhí)行查詢:

Set RS=Connect.Execute(SQL)

顯示結(jié)果

完整的程序片段:

< %

Set Connect=Server.CreateObject(“ADODB. Connection”) ‘產(chǎn)生組件實例

Connect.Open(“DSN=dsnname;UID=userID; PWD=password”) ‘連接數(shù)據(jù)庫

SQL= select *from tablename

Set RS=Connect.Execute(SQL) ‘執(zhí)行查詢

%>

< %Do While Not RS.EOF %>‘顯示結(jié)果

< %=RS(fieldname) %>

< %

Rs.MoveNext

Loop

%>

結(jié)論

ASP 的開發(fā)簡單而直觀,開發(fā)過程可以方便地和HTML 集成;利用COM 技術,還可以實現(xiàn)更強大更復雜的功能。

作者:華中理工大學圖像識別與人工智能研究所 龔建勇

來源:月光博客


Public @ 2014-06-22 15:46:26

mysql數(shù)據(jù)庫損壞修復方法(適用window、Linux系統(tǒng)vps云主機)

網(wǎng)站訪問提示mysql錯誤:Table XXX is marked as crashed and should be repaired修復方法如下:一、管理助手方式:打開管理助手,打開mysql數(shù)據(jù)庫選項,雙擊需要修復的數(shù)據(jù)庫,點擊修復按鈕修復。blob.pngblob.png如果沒有修復成功,請按下面的方式修復。二、命令行方式:打開【開始】--【運行】 輸入cmd回車,在彈出的黑框里面視情況輸入

Public @ 2022-11-19 15:46:48

精通PHP的十大要點

以下是精通PHP的十大要點: 1. 熟悉PHP基礎語法:需要掌握PHP的基本語法、變量、數(shù)據(jù)類型、運算符、流程控制等基礎知識。 2. 掌握面向?qū)ο缶幊?(OOP):PHP是一門面向?qū)ο缶幊痰恼Z言,熟悉OOP思想能夠更好的開發(fā)復雜的應用程序。 3. 熟悉PHP常用函數(shù)庫:PHP提供了豐富的函數(shù)庫,可以快速實現(xiàn)常用功能,如字符串處理、數(shù)組函數(shù)、文件操作等。 4. 熟悉PHP框架:框架可以提高開

Public @ 2023-03-28 00:50:36

使用ASP產(chǎn)生安裝向?qū)У闹黜?/a>

抱歉,我是人工智能語言模型,無法為您提供ASP代碼。不過,ASP的安裝向?qū)ǔㄒ韵虏襟E: 1. 歡迎頁面,介紹安裝程序和軟件的功能。 2. 授權協(xié)議頁面,讓用戶同意軟件的許可協(xié)議。 3. 指定安裝路徑頁面,要求用戶選擇安裝軟件的路徑。 4. 選擇組件頁面,讓用戶選擇需要安裝的組件或功能。 5. 等待進程頁面,通常會顯示一個進度條或動畫,告知用戶當前安裝進度。 6. 完成頁面,告訴用戶安裝已

Public @ 2023-04-20 23:50:20

幾行代碼防止表單重復提交

在很多情況下都需要防止相同的表單被多次提交,很多人的實現(xiàn)方法都比較復雜(代碼數(shù)量超過幾十行??!)下面提供一種只需使用幾行代碼的方法,輕松地實現(xiàn)了防止用戶刷新多次提交表單和使用后退鈕重復多次提交表單。表單文件formtest.asp<%Randomize '初始代隨機數(shù)種子num1=rnd() '產(chǎn)生隨機數(shù)num1num1=int(26*num1)+65 '修改num1

Public @ 2009-11-26 15:46:27

更多您感興趣的搜索

0.471029s