ASP即Active Server Pages,是Microsoft公司開發的服務器端腳本環境,可用來創建動態交互式網頁并建立強大的web應用程序。當服務器收到對ASP文件的請求時,它會處理包含在用于構建發送給瀏覽器的HTML(Hyper Text Markup Language,超文本置標語言)網頁文件中的服務器端腳本代碼。除服務器端腳本代碼外,ASP文件也可以包含文本、HTML(包括相關的客戶端腳本)和com組件調用。 [1-2]
ASP簡單、易于維護 , 是小型頁面應用程序的選擇 ,在使用DCOM (Distributed Component Object Model)和 MTS(Microsoft Transaction Server)的情況下, ASP甚至可以實現中等規模的企業應用程序。 [3]
-
中文名
-
動態服務器頁面
-
外文名
-
Active Server Pages
-
英文縮寫
-
ASP
-
開發公司
-
微軟公司
-
類 型
-
Web應用框架
目錄
-
1 發展歷史
-
2 編程開發
-
? 硬件環境
-
? 軟件環境
-
3 語言特點
-
4 工作原理
-
5 語言基礎
-
6 技術應用
-
7 語言評價
發展歷史
編輯
在Internet風行的早期,瀏覽器中顯示的網頁僅是靜態的圖文組合而已,瀏覽者可以在網頁上閱讀信息,但無法進一步地發表意見、查詢信息或進行在線購物等商務活動。為此,人們提出了動態網頁或交互網頁的概念和解決方案。所謂“動態網頁”,是指客戶端瀏覽器和Web服務器端可以互動,也就是服務器端可以實時處理瀏覽器端的請求(Request),然后再將處理的結果作為對瀏覽器請求的響應(Response)傳送給瀏覽器。
由于Web程序開發十分復雜,以至于要制作一個簡單的動態頁面也需要編寫大量的C代碼才能完成。于是Microsoft公司于1996年推出一種Web應用開發技術ASP,用于取代對Web服務器進行可編程擴展的CGI標準。 [1]
ASP 1.0作為IIS(Internet Information Server,Internet信息服務器)的附屬產品免費發送,不久就在Windows平臺上廣泛使用。ASP與ADO的結合使開發者很容易地在一個數據庫中建立和打開一個記錄集。
1998年,微軟公司又發布了ASP 2.0。ASP 1.0和ASP 2.0主要區別在于外部組件。有了ASP 2.0和IIS 4.0,就可以建立ASP應用了。
在微軟公司開發的Windows 2000操作系統中就開始帶上了IIS 5.0及ASP 3.0。雖然Windows已經發展到比較高的版本,但是開發領域中依然百分之百采用Windows 2000 Server。Windows 2000包括三個不同的版本:Windows 2000 Professional,Windows 2000 Server和Windows 2000 Advanced Server。按照默認設置安裝Windows 2000 Server,安裝時不用作任何改動,這樣就可配置好ASP的運行環境。 [4]
編程開發
編輯
硬件環境
ASP程序的運行對硬件環境沒有特別的要求,通常具備能夠滿足Windows操作系統運行要求的硬件設備即可。基本內存容量要求為64MB,建議內存容量為128MB或更多。此外,應該有100MB以上的硬盤空間用來安裝所需的軟件 [5] 。
軟件環境
在軟件環境方面,因為ASP是Microsoft公司推出的,只有在Microsoft Windows操作系統及其配套的web服務器軟件的支持下才能運行。Microsoft公司的各種windows操作系統都可以作為ASP的運行平臺。其中,在windows 98操作系統下運行的Personal w曲Server,一般簡稱為PWS,而Microsoft Internet Information Server,則簡稱為IIS。 [6]
語言特點
編輯
1、用VBScript、JavaScript等簡單容易的腳本語言。結合HTML代碼,即可快速完成網站的應用程序,實現動態網頁技術。
2、ASP文件是包含在HTML代碼所組成的文件中的,易于修改和測試,無須編譯或鏈接就可以解釋執行。
3、ASP所使用的腳本語言均在Web服務器端執行,服務器上的ASP解釋程序會在服務器端執行ASP程序,并將結果以HTML格式傳送到客戶端瀏覽器上。
4、ASP提供了一些內置對象,使用這些對象可以使服務器端腳本功能更強。
5、ASP可以使用服務器端ActiveX組件來執行各種各樣的任務,例如存取數據庫、發現和那個Email或訪問文件系統等。
6、由于服務器是將ASP程序執行的結果以HTML格式傳回客戶端瀏覽器,因此使用者不會看到ASP所編寫的原始程序代碼,可防止ASP程序代碼被竊取。 [7]
工作原理
編輯
ASP中的腳本程序是在服務器端運行的(而不是在客戶端運行),傳送到瀏覽器上的web頁是在web服務器上生成的。因此,客戶端瀏覽器并沒有處理這些腳本,web服務器已經完成了這些腳本的處理,并將標準的HTML頁面傳輸到瀏覽器。ASP解釋器讀取并執行所有在<%和%>標簽之間的腳本代碼,并生成內容。由于只有腳本的執行結果返回到瀏覽器,因此,用戶看不到正在瀏覽的網頁的腳本命令,而只能看到腳本的執行結果。 [8-9]
語言基礎
編輯
ASP可以使用兩種腳本語言:VBScript和Jscript(所謂的JScript語言就是微軟版本的JavaScript語言)。
ASP包含內置對象,最常用的是五大對象、一個集合和一個文件。五大對象分別是Response,Request,Session,Application和Server;一個集合是Cookies;一個文件是GIobal.asa。 [10]
ASP提供了內置對象和大量可安裝的ActiveX組件。這些對象以及組件都可以用來拓展ASP的功能。在面向對象編程中,對象就是指由當作完整實體的操作和數據組成的變量。在對象中客戶可通過由一組方法或相關函數來訪問對象的數據。
對象一般有方法、屬性、集合和事件。其中,方法決定了可以用這個對象作什么事情;屬性可以讀取對象狀態或者設置對象狀態;集合是由很多不同的與對象有關系的鍵和值的配對組成的。 [11]
Response對象
在ASP中,使用Response對象來根據客戶端不同的請求輸出不同的返回結果。
使用Response.Write方法將輸出傳送至瀏覽器端
Write方法是Response對象中最常用的方法之一,它可以把變量的值發送到用戶端的當前頁面。Write方法的功能量強大,幾乎可以輸出所有的對象和數據。
在Write方法中可以嵌入任何HTML標記,只要該標記是合法的,如下例將輸出綠色的漢字和一條水平線:
1
2
3
4
|
Response.Write"< Font color = green >"
Response.Write"歡迎您來訪問!"&"< Br >"
Response.Write"</ Font >"
Response.Write"< Hr >"
|
將HTML標記與ASP中的變量恰當的結合使用,可使程序更簡潔易讀,如下例是根據Request對象獲取的數據來創建表格的一行信息:
1
2
|
<%Response.Write"< Tr >< Td >"&Request.Form("strUserName")&"</ Td >< Td >"_
&Request.Form("intAge")&"</ Td >< Td >"%>
|
使用Response.Redirect方法從目前網頁導向至其他網頁
在普通網頁中,可以使用超鏈接的方式來引導訪問者跳轉到另一個頁面,但這個過程須要訪問者單擊一個超鏈接才可以進行。Response對象的Redirect方法則可以自動完成頁面間的跳轉,而訪問者幾乎不會感覺出來。
使用Response.End方法結束程序的執行
End方法使服務器停止當前腳本的處理并返回當前結果。如果Response對象的Buffer屬性設為True,則End方法立即把緩存中的內容發送到客戶端并清除緩存。
因此,若想取消向客戶端的所有輸出,可以先用Clear方法清除緩存,再用End方法停止腳本的處理。
AddHeader方法用指定的值添加HTML標題。該方法常常向響應添加新的HTTP標題。它并不替代現有的同名標題。一旦標題被添加,將不能刪除。其語法結構如下:
1
|
Response.AddHeader 標題變量名稱,初始值
|
為避免命名不明確,標題變量名稱中不能包含任何下劃線字符(_)。由于HTTP協議要求所有的標題都必須在內容之前發送,所以必須在任何輸出(例如由HTML或write方法生成的輸出)發送到客戶端之前在腳本中調用AddHeader。但當Buffer屬性被設置為True時例外。若輸出被緩沖,則可以在腳本中的任何地方調用AddHeader方法,只要它在Flush之前執行即可。
Response.CIear方法
Clear方法用于清除緩沖區的所有HTML輸出,但它只刪除響應正文而不刪除響應標題。在服務器上的程序產生錯誤時,可用clear方法來處理錯誤情況。
Response對象
Response對象的屬性主要包括Buffer、ContentType等。
Buffer屬性
在ASP程序中,可以為頁面在服務器端設置一個緩存。緩存區是一個存儲區,它可以在其釋放數據之前容納該數據一段時間,緩沖區的優點在于它的行為可以進行控制。
設置緩存后,服務器端可減少與客戶端連接的次數而提高整體的響應速度,并可在滿足某些條件(如腳本處理不正確或用戶沒有適當的安全證書)時撤銷已經處理的結果,而不會出現響應完成一部分就停止的狀況。
緩存功能的打開和關閉是通過Response對象的Buffer屬性來完成的。若將Buffer屬性設為False,則關閉緩存功能,Web服務器在處理頁面時會隨時返回HTML和腳本結果;若將Buffer屬性設為True,則打開緩存功能,Web服務器在處理頁面時會將結果暫時存放到緩存中,當全部腳本處理完后,或者遇到End或Flush方法時,才將緩存中的內容發送到瀏覽器。
Buffer屬性的更改必須放在HTML或腳本輸出之前。這是因為在任何內容發送到瀏覽器后,Buffer屬性值就不能再更改,否則會引起錯誤。
ContentType屬性
ContentType屬性指定響應的HTTP內容類型。其語法結構如下:
1
|
Response.ContentType [=ContentType]
|
ContentType字符串通常被格式化為類型/子類型,其中類型是常規內容范疇,子類為特定內容類型。如果未指定ContentType,默認為text/HTML。
web服務器將某個文件發送到瀏覽器時,它會將文件的MIME類型告訴瀏覽器,瀏覽器會根據文件的MIME類型和擴展名來確定是自己本身就能顯示,還是必須調用其他應用程序。
Expires屬性
EXpires屬性指定了在瀏覽器上緩沖存儲的頁距過期還有多少時間。如果用戶在某個頁過期之前又回到此頁,就會顯示緩沖區中的版本。其語法結構如下:
時間參數設置網頁距過期還有多少分鐘。如果將此參數設置為O,可使緩存的頁立即過期,這樣客戶端每次都將從服務器上得到最新的頁面。 [12]
技術應用
編輯
電子商務
ASP 可以通過Windows提供的COM/DCOM來獲取Active X和結構支持。 [3]
ASP使用ODBC(Open Database Connectivity,開放數據庫互連)技術訪問數據庫。在具體應用中,一般通過ADO(ActiveX Data Objects,ActiveX數據對象)實現對數據庫的操作。使用ADO的connection、command和recordset對象可以完成與數據庫連接的建立,SOL語句的執行,查詢結果集合的保存、遍歷和顯示等工作。 [13]
語言評價
編輯
使用ASP編寫服務器端腳本,可以方便地創建復雜、實用的Web應用程序。 [1]
ASP所設計出的是動態主頁,可接收用戶提交的信息并作出反應,其中的數據可隨實際情況而改變,無須人工對網頁文件進行更新即可滿足應用需要。例如:當在瀏覽器上填好表單并提交HTTP請求時,可以要求在站點服務器上執行一個表單所設定的應用程序,而不只是一個簡單的HTML文件。該應用程序分析表單的輸入數據,根據不同的數據內容將相應的執行結果(通常是數據庫查尋的結果集)以HTML的格式傳送給瀏覽器。數據庫的數據可以隨時變化,服務器上執行的應用程序卻不必更改,客戶端得到的網頁信息會始終保持新鮮的魅力。 [14]
與使用Visual Basic、C++或Java等編程語言開發Web應用程序相比,ASP是更為靈活快速的創建Web應用程序的方法。除了通過添加腳本為應用程序創建HTML界面之外,還可以建立自己的COM(組件對象模型)組件,并且可將應用程序的商業邏輯封裝在可重復使用的模塊中,以便在腳本、其他組件或其他應用程序中調用。
來源:http://curryupcaters.com,網站建設★網站設計★網站制作★網頁設計-599元全包;企業網絡推廣☆網站優化☆seo☆關鍵詞排名☆百度快照-2200元全年展示;做網站優化排名-網站建設公司