PowerPoint 簡報

Download Report

Transcript PowerPoint 簡報

ASP網頁
ASP(ACTIVE SERVER PAGES)網頁是一種在WEB伺服器上執行的
應用程式,並且經由 SERVER 端的翻譯後,才動態地將結果
送出給用戶端(CLIENT),而不像一般“劇本( Script)”,是在
用戶端的瀏覽器環境下直譯,因此當然就不會與用戶端的瀏
覽器產生相容性的問題。
ASP運作的標準模式是當用戶端瀏覽器向WEB伺服器要求一個
“ .ASP”的檔案時,WEB伺服器會先將這個ASP檔案讀一遍,並
藉由核心程式加以翻譯並執行,最後將執行結果以標準的
HTML文件格式送出給客戶端。
ASP 網頁構造
在 Active Server Page 中可以包含下列幾個結構:
1.一般 HTML 文件:一般網頁的內容
2.客戶端的Script 程式碼:介於 <Script> 與 </Script>標籤內的
程式碼
3.Server 端的 ASP Script 程式碼:介於 <%...%> 標籤內的程式
碼
4.Server - Side Include 敘述:使用“#INCLUDE”的語法崁入其它
網頁文件
在Active Server Page 裡是使用 VBScript 為內定的劇本(Script)
語言,當然也可以不要使用 VBScript來編寫 Active Server Page
網頁;如果您要切換使用的手稿語言,可以使用下面的方來作切換
的動作:
<% @ Language = VBScript %> 或 <% @ Language = JScript %>
由上面的例子中,我們可以發現,在 Active Server Page 的
ASP的優點
•
•
•
•
•
•
與瀏覽器無關
不需編譯、連結成執行檔
與 HTML 的整合
保護原始程式碼
Scripting語言的擴充性
ActiveX Server Component的支援
ASP的運作方式
1.要求ASP檔案
5.傳回標準HTML文
件
2.ASP檔案
4.ASP結果
3.回
傳
ASP.DLL
資
料
庫
引
擎
如何寫 ASP 網頁檔案
• .ASP 檔
– 它是一個標準文字檔
– 可以包含 HTML 語法內容
– 可寫入Script 並可指定是在伺服器端或
client 端執行
• ASP 語法
– Script 前後需加入<% 與 %>來區隔,如下:
<% = now %> 目的是抓取Server的時間,然後顯
示於Browser上方
ASP 物件
Active Server Page 本身亦是物件導向程式語言,它提供
有六個重要內建物件供我們使用,運用物件可以不須了解各
物件內部複雜的傳遞運算,這也是物件導向程式設計的好處
之一。
• Response物件:傳送伺服器端的訊息給用戶端
• Request物件:取得用戶端傳回的資訊內容
• Application物件:讓不同的用戶端共享同一個應用程式的
資訊
• Session物件:儲存特定使用者的Session資訊
• Server物件:提供有關Server 存取的方法(methods)和屬性
(properites),以控制ASP的執行環境
• ObjectContext物件:提供交易行為(Transaction)處理物件
Response 物件
Response直譯是「回應」的意思,所謂回應,
對Web Server來說,就是回覆瀏覽器索求的檔
案或資料,如果瀏覽器索求的是一個 .htm檔
案,那麼IIS/PWS不必執行任何程式,只要回
以原始的 .htm檔案即可,但如果瀏覽器索求
的是 .asp檔案,那麼 Web Server 會解譯執
行 .asp檔案中的程式,而程式如何回應資料
給用戶端瀏覽器則是程式的責任。
Response物件一覽表
集合參數(Collections) Cookies 用來設定用戶端 Cookie 值
屬性參數(Properties)
Buffer 用來設定網頁的輸出置入緩衝區
ContentType 設定回應的文件型態 (HTTP Content Type)
Expires 設定網頁保留(Cache)在瀏覽器的時間長度
ExpiresAbsolute 設定網頁保留 (Cache) 在瀏覽器的日期與時間
Status 回應到客戶端瀏覽器的狀態值
方法參數(Methods)
AddHeader 設定 HTML 文漸的 HTTP 標頭
AppendToLog 在 Web Server 記錄檔案 (Log) 尾端,加入字串
BinaryWrite 不使用任河的字元轉換,寫入資訊至HTTP輸出
Clear 清除在緩衝區的 HTML 輸出資料
End 停止處理 .ASP 檔案,並傳回當時的狀況
Flush 立刻送出緩衝區的 HTML 文件資料
Redirect 指引客戶端瀏覽器至新的網頁
Write 寫入字串資訊至最近的 HTTP 輸出
Cookies 集合
使用 Cookies 可以讓我們很輕鬆的設定客戶端瀏覽器
內的 Cookies 資料,我們可以將cookies視為前、後端
之間共享資料的暫存檔案,而cookies的確是網頁「互
動」的關鍵,後端可以將特定的資料暫放在cookies,
也可以讀取cookies的內容。
語法:Response.Cookies ( Cookies變數名稱 ) [ Key
| .屬性 ] = 傳入值
範例:Response.Cookies ( ”UserName" ) = ”Man"
有一點很重要的事,就是 Cookies 的寫入只有在任何
資料被輸出到瀏覽器前才有效
Write 方法
Write 就是將字串以HTML的格式送往前端
語法:Response.Write (“資料或變數”)
Response.Write 後可以接變數或字串、數字等,
不過輸出的總長度不可超過 1022 個字元
範例:Response.Write "這是用 Response.Write
顯示"
Request 物件
我們用Request物件來掌握來自每一位用戶端的
需求,包括由HTML文件用POST或GET方法所
傳送的參數、cookies、和用戶端的身分認證,所
有有關於前端瀏覽器的細節、需求或其他相關資
訊都會放置於「Request」物件中,所以Request
可說是ASP文件和使用者溝通的第一要件。
Request物件一覽表
屬性參數(Properties)
TotalBytes 得知用戶端傳回資料量的大小
方法(Method)
BinaryRead 以位元碼方式讀取用戶端傳回的資料
集合參數(Collections)
ClientCertificate 從用戶端取得身份認證資訊
Cookies 用來讀取用戶端 Cookie 值資訊
Form 讀取用戶端在 FORM 元件理所輸入的資料
QueryString 取得 URL 請求字串
ServerVariables 讀取 Web Server 端環境變數
資訊
Form 方法
使用 Request.Form 可以用取得客戶端所填入的
From 裡欄位的訊息(不過 Form 的 Method 必須
設定為 POST)
語法:Request.Form (參數)
參數是用來指定欲取得的 Form 欄位名稱
範例: Request.Form (“p_user”)
Application 物件
在多工執行的狀態之下,來自四面八方的眾多使
用者非常可能會執行同一個Web應用程式,如果
想要讓所有執行相同的Web應用程式的使用者共
用資訊,便可依靠Application物件。
換句話說,Application物件內含的所有資訊,
可以流通於同一個應用程式、多個Asp文件之間,
在此期間執行該Web應用程式的所有使用者皆能
共用這些資訊。
Application 物件一覽表
方法參數(Methods)
Lock 用來防止其它客戶端更改 Application 物件
的內容
UnLock 和Lock 的功能相反,允許客戶端更改
Application 內容
事件參數(Events)
Application_OnStart 在 Application “開始前”,
便呼叫該參數
Application_OnEnd 在 Application “結束後”,
便呼叫該參數
Session 物件
我們可以使用 Session 物件來儲存特定使用者
的 Session 資訊,即使該客戶端由一個網頁跳
到一另一個網頁,該 Session 資訊亦仍然存在。
當網頁被一個尚無Session的使用者從應用程式
中開啟時,Web伺服器會自動為該使用者產生生
一個Session物件,直到該 Session 到期或被終
止時 (Abandoned) 該物件就會被摧毀。
Session 物件一覽表
屬性參數(Properties)
SessionID 儲存使用者的 Session ID
TimeOut Session State 的最常執行時間\
方法參數(Methods)
Abandon 用來摧毀 Session 物件範本
事件參數(Events)
Session_OnStart 在Application “開始前”,便呼
叫該參數
Session_OnEnd 在Application “結束後”,便呼叫
該參數
建立 Session 物件範本方法如下:
範例:<% Set Session("Session範本名稱")="資料值"
%>
SessionID屬性會記錄該 Session 使用者的 SessionID,
每一個 Session 都擁有一個,這個 ID 是由 Server 產
生的;我們可以使用該屬性作為資料庫的關鍵字。
使用 Session.TimeOut 可以用來指定 Session 的生命
週期的最長時間(以分鐘計),在 Active Server Page
裡,Session 的最長執行時間為 20 分鐘。
至於 Session_OnStart 與 Session_OnEnd 事件,則須
儲存在 Global.asa 檔案內,才能產生作用;當客戶端
連線到 Web Server 時,Web Server 會到網站根目錄位
置中讀取 Global.asa 中的 Seesion 物件中的 OnStart
事件程式,當客戶端離開這個 Web Server 時會再去執
行 Global.asa 的 Session 物件中的 OnEnd 事件程式。
Server 物件
Server 物件位於整個ASP物件模型的頂端,
它提供一些基本的屬性與方法讓ASP文件裡
的運用,最常見的便是其方法參數,用來
產生一個ActiveX,以便套用於scripts中,
例如:取得前端瀏覽器資訊、建立資料庫連
線、存取檔案等等。
Server 物件一覽表
屬性參數(Properties)
ScriptTimeout 指定一個手稿 (Script) 檔案執行
的最長時間
方法參數(Methods)
CreateObject 建立一個 ActiveX Server 元件變
數範本
HTMLEncode 根據HTML編碼原則,將 HTML 加以編
碼
MapPath 轉換絕對路徑或虛擬路徑至 Web Server
端真實路徑
UrlEncode 根據 URL 編碼原則,編碼為字串
CreateObject 方法
使用 CreateObject 方法,可以協助我們建立一個
ActiveX Server 元件變數範本
語法:Server.CreateObject(元件辨識字串)
其中元件辨識字串是指定要產生物件的種類,其格
式[Vendor.]Component[.Version],
即[資料庫管理程式名稱.]元件名稱[.版本號碼]
範例:假如要建立一個Connection物件,我們便可利
用CreateObject方法,來宣告CONN為一個
Connection物件
< %Set CONN
=Server.CreateObject(“ADODB.Connection”)%>
ASP ActiveX 伺服器元件
由於ASP的內建物件不能完全涵蓋伺服端的所有資源,一
些偏向資料存取的方法,例如:讀寫文字檔案、建立資料
庫連線,或是取得瀏覽器資訊等等,都得依靠伺服端現
有元件輔助,才能執行,以下列出幾個常見的元件。
•
•
•
•
•
•
•
•
Files Access Component(檔案存取元件)
Page Counter Component(訪客計數器元件)
Content Rotator Component(內容輪播器元件)
Ad Rotator Component(廣告輪播器元件)
Browser Capabilities Component(瀏覽器資訊元件)
Content Linking Component(內容連結元件)
Permission Checker Component(允許檢查元件)
Database Access Component(資料庫存取元件)
五個重要ActiveX 內建元件
元件名稱
廣告迴轉元件(Ad Rotator) 使用獨立資料檔案格式,建
構容易維護的廣告網頁
瀏覽器相容元件(Browser Capabilities) 判別客戶端的
瀏覽器型態或使用設定,讓系統可以適時的送出洽當的
網頁
資料庫存取元件(Database Access) 提供存取資料庫的
絕佳途徑
文件連結元件(Content Linking) 建立像書本一樣的表
格超連結點網頁
檔案存取元件(File Access Component) 提供檔案的輸
出入方法