複製鏈接
請複製以下鏈接發送給好友

asp

(動態服務器頁面)

鎖定
ASP即Active Server Pages,是Microsoft公司開發的服務器端腳本環境,可用來創建動態交互式網頁並建立強大的web應用程序。當服務器收到對ASP文件的請求時,它會處理包含在用於構建發送給瀏覽器的HTMLHyper 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應用框架

asp發展歷程

在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編程開發

asp硬件環境

ASP程序的運行對硬件環境沒有特別的要求,通常具備能夠滿足Windows操作系統運行要求的硬件設備即可。基本內存容量要求為64MB,建議內存容量為128MB或更多。此外,應該有100MB以上的硬盤空間用來安裝所需的軟件 [5] 

asp軟件環境

在軟件環境方面,因為ASP是Microsoft公司推出的,只有在Microsoft Windows操作系統及其配套的web服務器軟件的支持下才能運行。Microsoft公司的各種windows操作系統都可以作為ASP的運行平台。其中,在windows 98操作系統下運行的Personal Web Server,一般簡稱為PWS,而Microsoft Internet Information Server,則簡稱為IIS。 [6] 

asp語言特點

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工作原理

ASP中的腳本程序是在服務器端運行的(而不是在客户端運行),傳送到瀏覽器上的web頁是在web服務器上生成的。因此,客户端瀏覽器並沒有處理這些腳本,web服務器已經完成了這些腳本的處理,並將標準的HTML頁面傳輸到瀏覽器。ASP解釋器讀取並執行所有在<%和%>標籤之間的腳本代碼,並生成內容。由於只有腳本的執行結果返回到瀏覽器,因此,用户看不到正在瀏覽的網頁的腳本命令,而只能看到腳本的執行結果。 [8-9] 

asp語言基礎

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標記,只要該標記是合法的,如下例將輸出綠色的漢字和一條水平線:
Response.Write"<Font color=green>"
Response.Write"歡迎您來訪問!"&"<Br>"
Response.Write"</Font>"
Response.Write"<Hr>"
將HTML標記與ASP中的變量恰當的結合使用,可使程序更簡潔易讀,如下例是根據Request對象獲取的數據來創建表格的一行信息:
<%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標題。它並不替代現有的同名標題。一旦標題被添加,將不能刪除。其語法結構如下:
 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內容類型。其語法結構如下:
Response.ContentType [=ContentType]
ContentType字符串通常被格式化為類型/子類型,其中類型是常規內容範疇,子類為特定內容類型。如果未指定ContentType,默認為text/HTML。
web服務器將某個文件發送到瀏覽器時,它會將文件的MIME類型告訴瀏覽器,瀏覽器會根據文件的MIME類型和擴展名來確定是自己本身就能顯示,還是必須調用其他應用程序。
Expires屬性
EXpires屬性指定了在瀏覽器上緩衝存儲的頁距過期還有多少時間。如果用户在某個頁過期之前又回到此頁,就會顯示緩衝區中的版本。其語法結構如下:
 Response.Expires [=時間]
時間參數設置網頁距過期還有多少分鐘。如果將此參數設置為O,可使緩存的頁立即過期,這樣客户端每次都將從服務器上得到最新的頁面。 [12] 

asp技術應用

電子商務
ASP 可以通過Windows提供的COM/DCOM來獲取Active X和結構支持。 [3] 
ASP使用ODBC(Open Database Connectivity,開放數據庫互連)技術訪問數據庫。在具體應用中,一般通過ADO(ActiveX Data Objects,ActiveX數據對象)實現對數據庫的操作。使用ADO的connection、command和recordset對象可以完成與數據庫連接的建立,SOL語句的執行,查詢結果集合的保存、遍歷和顯示等工作。 [13] 

asp語言評價

使用ASP編寫服務器端腳本,可以方便地創建複雜、實用的Web應用程序。 [1] 
ASP所設計出的是動態主頁,可接收用户提交的信息並作出反應,其中的數據可隨實際情況而改變,無須人工對網頁文件進行更新即可滿足應用需要。例如:當在瀏覽器上填好表單並提交HTTP請求時,可以要求在站點服務器上執行一個表單所設定的應用程序,而不只是一個簡單的HTML文件。該應用程序分析表單的輸入數據,根據不同的數據內容將相應的執行結果(通常是數據庫查尋的結果集)以HTML的格式傳送給瀏覽器。數據庫的數據可以隨時變化,服務器上執行的應用程序卻不必更改,客户端得到的網頁信息會始終保持新鮮的魅力。 [14] 
與使用Visual Basic、C++或Java等編程語言開發Web應用程序相比,ASP是更為靈活快速的創建Web應用程序的方法。除了通過添加腳本為應用程序創建HTML界面之外,還可以建立自己的COM(組件對象模型)組件,並且可將應用程序的商業邏輯封裝在可重複使用的模塊中,以便在腳本、其他組件或其他應用程序中調用。 [1] 
參考資料
  • 1.    高怡新.ASP網絡應用程序設計:人民郵電出版社,2005年03月第1版:1
  • 2.    沈才梁,李志奎,唐科萍,姚爭兒.ASP網頁設計:清華大學出版社,2006年01月第1版:1
  • 3.    楊雨濛,懷率恆.Web開發語言的比較與分析[J].電腦編程技巧與維護,2014(221).
  • 4.    石志國,李穎,薛為民.ASP程序設計:清華大學出版社,2005年10月第1版:第4頁
  • 5.    劉煬編著,ASP網絡程序設計,合肥工業大學出版社,2007.2,第8頁
  • 6.    高怡新.ASP網絡應用程序設計:人民郵電出版社,2005年3月:4
  • 7.    柳義筠,鍾萍.ASP、ASP.NET及JSP三種Web開發技術比較研究[J].信息與電腦,2011(1).
  • 8.    沈才梁,李志奎,唐科萍,姚爭兒.ASP網頁設計:清華大學出版社,2006年01月第1版:2
  • 9.    楊帆 ,趙義霞.ASP.NET技術與應用:高等教育出版社,2004年01月第1版:6
  • 10.    石志國,李穎,薛為民.ASP程序設計:清華大學出版社,2005年10月第1版:4-5
  • 11.    陳建偉 ,李美軍,施建強.ASP動態網站開發教程(第二版):清華大學出版社,2005年01月第1版:68
  • 12.    陳建偉,李美軍,施建強.SP動態網站開發教程(第二版):清華大學出版社,2005年01月第1版:68-80
  • 13.    賈素來.常見動態網頁技術比較[J].大眾科技,2008(9).
  • 14.    孫東海.ASP技術的特點及應用[J].勝利油田師範專科學校學報,2003(12).
展開全部 收起