人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

運(yùn)用ASP開發(fā)Web應(yīng)用

運(yùn)用ASP開發(fā)Web應(yīng)用

更新時間:2022-07-14 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):



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

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

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

ASP概念和工作流程

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

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

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

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

ASP具有以下特征:

完全和HTML集成;

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

面向?qū)ο螅蓴U(kuò)展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標(biāo)志(tags)

Script命令

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

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

http://host/asp/hello.asp

2.ASP語法

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

定界符

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

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

<% name=“Timeout” %>

ASP使用“<%”=和“%>”來向?yàn)g覽器輸出表達(dá)式,例如:

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

Script標(biāo)志

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

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

HTML標(biāo)記:

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

ASP內(nèi)建對象

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

Request:從使用者獲取信息;

Response:將信息送給使用者;

Server:提供Web Server工具;

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

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

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

Request.Form(“name”)

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

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

Response.Write “your message”

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

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

服務(wù)器組件

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

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

Server.CreateObject(ProgID)

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

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

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

Setobj = Server.CreateObject(“ProgID”)

'使用它的方法

obj.Method

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

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

ASP應(yīng)用實(shí)例

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

現(xiàn)在許多主頁上都有一個計數(shù)器來記錄該主頁被訪問的次數(shù),通常計數(shù)器通過CGI實(shí)現(xiàn) ,開發(fā)過程比較復(fù)雜,一些非專業(yè)的程序員難以實(shí)現(xiàn)。而通過ASP的文件訪問組件File Acce ss 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)生成一整幅圖像,而我們的方法是將已存在于機(jī)器中的圖像一張一張地調(diào)出 ,這樣就可以制作非常精美的數(shù)字圖像。其程序片段為:

<html>

<%

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=“” ’圖像的URL

Do While Length>=1

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

Length=Length-1

Loop ’生成圖像URL

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

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

%>

<%=strURL%> ’輸出圖像

</html>

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

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

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

 設(shè)置DSN

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

生成ADODB組件實(shí)例

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

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

利用ADODB的成員函數(shù)Open和先前設(shè)定的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)生組件實(shí)例

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技術(shù),還可以實(shí)現(xiàn)更 強(qiáng)大更復(fù)雜的功能。 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
主站蜘蛛池模板: 介休市| 梓潼县| 高清| 丰宁| 石台县| 宜州市| 平凉市| 平邑县| 临高县| 黄龙县| 东方市| 怀仁县| 道孚县| 宜兴市| 林甸县| 平塘县| 铅山县| 皮山县| 丰都县| 盘锦市| 同仁县| 临西县| 东至县| 罗平县| 永和县| 平度市| 新乡市| 察雅县| 阿巴嘎旗| 财经| 额济纳旗| 沧源| 宝应县| 龙南县| 铜鼓县| 鄂托克前旗| 黄石市| 溆浦县| 安庆市| 霍山县| 宜川县|