官术网_书友最值得收藏!

1.4 熟悉ASP語言

ASP英文全稱為Active Server Pages,它是一種動態網頁,文件后綴名為.asp, ASP網頁是包含有服務器端腳本的HTML網頁。WEB服務器會處理這些腳本,將其轉換成HTML格式,再傳到客戶的瀏覽器端。

1.4.1 ASP能為我們做什么?

ASP語言在動態網站開發的過程中的作用如下。

① 動態地編輯、改變或者添加頁面的任何內容。

② 對由用戶從HTML表單提交的查詢或者數據作出響應、訪問數據或者數據庫,并向瀏覽器返回結果。

③ 為不同的用戶定制網頁。

④ 由于ASP代碼無法從瀏覽器端察看,確保了站點的安全性。

1.4.2 ASP的工作原理

ASP的工作原理如下圖所示。

上圖的含義如下。

① 客戶端輸入網頁地址(URL),通過網絡向服務器發送一個ASP的文件請求。

② 服務器開始運行ASP文件代碼,從數據庫中取需要的數據或寫數據。

③ 服務器把數據庫反饋的數據發送到客戶端上顯示。

1.4.3 ASP基本語法

ASP的基本語法如下。

書寫格式:<%語句……%>

(1)if條件語句

<%
 If 條件1 then
語句1
elseif條件2 then
語句2
else
語句3
Endif
%>

if語句完成了程序流程塊中分支功能:如果其中的條件成立,則程序執行緊接著條件的語句或語句塊;否則程序執行else中的語句或語句塊。

(2)while循環語句

<%
while 條件
語句
Wend
%>

while語句所控制的循環不斷地測試條件,如果條件始終成立,則一直循環,直到條件不再成立。

(3)for循環語句

<%
for count=1 to n step m
語句1
exit for
語句2
Next
%>

for語句只要循環條件成立,便一直執行,直到條件不在成立。

ASP還有其他語句,但常用的、必須掌握的也就是上述四點。

|提示|

從上述講解中可以看到ASP語法與JavaScript語法之間有很多相似之處,在學習時可以對照一下,有助于理解區分。

1.4.4 ASP常用內建對象

在ASP中,提供的對象以及組件都可以用來實現和擴展ASP應用程序的功能。每個對象都有其各自的屬性、集合和方法,并且可以響應有關事件。用戶不必了解對象內部復雜的數據傳遞與執行機制,只需在程序中設置或調用某個對象特定的屬性、集合或方法,即可實現該對象所提供的特定功能。

常用的對象有以下幾個。

① Response:用來傳輸數據到客戶端瀏覽器。

② Request:用來讀取客戶端瀏覽器的數據。

③ Server:用來提供某些Web服務器端的屬性與方法。

④ Session:用來存儲當前應用程序單個使用者專用的數據。

1.4.5 對象的屬性和方法

本節將詳細講述常見ASP對象的屬性和方法。

1. Response對象

Response對象的作用是向瀏覽器輸出文本、數據和cookies,并可重新定向網頁,或用來控制向瀏覽器傳送網頁的動作。

Response常用的屬性是Expires,這個屬性用來設置網頁過期時間。Response常用的方法有兩個,分別是Write方法和Redirect方法。

① Write方法輸出數據到客戶端瀏覽器。

Response.write變量或字符串。代碼如下。

<%
Response.write"您好!<br>"
Response.write"今天是"&now()
%>

②Redirect方法用來將客戶端的瀏覽器重新定向到一個新的網頁。

Response.Redirect網址變量或字符串。代碼如下。

<%
Response.Redirect"http://www.sohu.com"
%>

③Response.End方法用來停止輸出,代碼如下。

<%
For i=1 to  5 setp 1
  If i<=3 then
    Response.write "i="&i
  Else
    Response.end
  End if
next
%>

輸出結果只有i=1; i=2和i=3。

2. request對象

Request對象用來讀取客戶端的表單信息或其他傳送到服務器端的信息,并可在此基礎上實現將客戶數據存入Web數據庫或對其作進一步的處理。

Request對象屬性一般情況下使用不到,這里不再闡述。

Request常用方法集合有Form、QueryString兩個最為常用。

Form集合取得客戶端在Form表單中輸入用Post方法提交信息。

(1) Request.Form元素

下面通過案例來學習,信息提交頁面代碼如下。

<html><head><title>示例</title></head>
<body>
<form method="POST" action="form1.asp" name="form1">
<p><font size="3"><b>請在此輸入客戶資料:</b></font></p>
<p>您的姓名:<input type="text" name="name" size="16"></p>
<p><input type="submit" value="確認提交" name="B1">&nbsp;
<input type="reset" value="全部重填" name="B2"></p>
</form></body></html>

信息讀取頁面代碼如下。

<%
Dim name
name = Request.Form ("name")
Response.Write "<P><B>" & "您提交的信息如下:" & "</B></P>"
Response.Write "您的姓名是:" & name & "<br>"
%>

(2)Request.QueryString集合

Request對象的QueryString集合同樣可以包含傳送到Web服務器的各個表單值,這些值在URL請求中表現為若干項用問號連接起來的一串文本。

語法:Request.QueryString元素。

下面通過案例來學習,信息輸入頁面代碼如下。

<html>
<head>
<title>QueryString</title>
</head>
<body>
<form method="GET" action="form1.asp" name="form1">
<p><font size="3"><b>請在此輸入客戶資料:</b></font></p>
<p>您的姓名:<input type="text" name="name" size="16"></p>
<p><input type="submit" value="提交" name="B1">&nbsp;
<input type="reset" value="重填" name="B2"></p>
</form>
</body>
</html>

信息獲取頁面

<%
Dim name
name = Request.QueryString ("name")
Response.Write name & ":您好!" & "<br>"
%>

(3)ServerVariables方法

Request對象的ServerVariables方法得到一些服務器端的信息,如當前ASP的文件名、客戶端的IP地址等。示例代碼如下。

<html>
<head>
<title>ServerVariables</title>
</head>
<body>
PATH_INFO返回:
<%=Request.ServerVariables("PATH_INFO")%><br>  //返回文件路徑
REMOTE_ADDR返回:
<%=Request.ServerVariables("REMOTE_ADDR")%><br>  //返回客戶端地址
SERVER_NAME返回:
<%=Request.ServerVariables("SERVER_NAME")%><br>  //返回服務名
</body></html>

3. server對象

Server對象主要用來創建COM對象和Scripting組件、轉化數據格式、管理其他網頁的執行。

語法:

Server.方法|屬性(變量或字符串|=整數)

Server對象常見有兩個方法,它們是CreateObject方法和MapPath方法。

(1)CreateObject方法

Server.CreateObject方法是Server對象最為重要的方法之一,可用來創建已經注冊到服務器上的某個ActiveX組件的實例,從而實現一些僅靠腳本語句難以實現的功能。例如對數據庫的連接和訪問、對文件的存取、電子郵件的發送和活動廣告的顯示等。

語法:

Set對象變量名= Server. CreateObject ("ActiveX組件名")

示例代碼如下。

<%
Set Fso = Server.CreateObject("Scripting.FileSystemObject")
%>

(2)MapPath方法

MapPath方法的作用是把所指定的相對路徑或者虛擬路徑轉換為物理路徑。

語法:

Server.MapPath(虛擬路徑字符串)

示例代碼如下。

<%
Path = Server. MapPath ("/form1.asp")
Response.Write "form1.asp網頁的實際路徑為:" & Path
%>

4. Session對象

Session對象用來為每個客戶存儲獨立的數據或特定客戶的信息,使用Session對象可以為每個客戶保存指定的數據。存儲在某個客戶Session對象中的任何數據都可以在該客戶調用下一個頁面時取得。在用戶與網站交互的整個會話期間內,Session對象中的變量值都不會丟失,直到會話超時或訪問者離開時為止,該Session對象才被釋放。

Session常用屬性有兩個,存儲用戶的Session ID和用來設置Session的有效期時長的Timeout。

常用方法有一個清除Session對象的Abandon。

我們可以用Session保存變量或字符串等信息。

語法:Session("Session名字")=變量或字符串信息。

示例代碼如下。

<% Session("username")="Lisi"%>

從Session中調用該信息的語法:

變量=Session("Session名字")

示例代碼如下。

<% a=session("Session名字") %>

利用Timeout屬性可以修改Session對象的有效期時長,默認為20分鐘。

語法:Session.Timeout=整數(分鐘)。

示例代碼如下。

<% Session.Timeout=30 ’改為30分鐘 %>

Session對象到期后會自動清除,但到期前可以用Abandon方法強行清除。

語法:Session.Abandon。

示例代碼如下。

<% Session.Abandon %>

5. Cookie對象

Cookie對象也是一個比較重要的對象。那么什么是cookie呢?Cookie是用戶訪問某些網站時,由Web服務器在客戶端磁盤上寫入的一些小文件,用于記錄瀏覽者的個人信息、瀏覽器類型、何時訪問該網站以及執行過哪些操作等。

Cookie的屬性用于指定Cookie自身的有關信息,語法格式如下。

Response.Cookies(name).attribute = value

其中參數attribute指定屬性的名稱,可以是下列之一。

① Domain:只允許寫。如果設置該屬性,則Cookie將被發送到對該域的請求中去。

② Expires:只允許寫,用于指定Cookie的過期日期。為了在會話結束后將Cookie存儲在客戶端磁盤上,必須設置該日期。如果此項屬性的設置未超過當前日期,則在任務結束后Cookie將到期。

③ HasKeys:只允許讀,用于確定Cookie是否包含關鍵字。

④ Path:只允許寫。如果被指定,則Cookie將只發送到對該路徑的請求中。如果未設置該屬性,則使用應用程序的路徑。

⑤ Secure:只允許寫,用于指定Cookie是否安全。

下面來學習有關Cookie的操作。

(1)設置Cookie的值

使用Response對象的Cookies集合可以設置客戶端的Cookie值。如果指定的Cookie不存在,則創建它。若存在,則設置新的值并且將舊值刪去。語法格式如下。

Response.Cookies(name)[(key)] = value

其中參數name指定Cookie的名稱。參數value指定分配給Cookie的值。參數key是可選的,用于指定Cookie的關鍵字。若不指定key,則創建一個單值Cookie;若指定了key,則創建一個Cookie字典,而key將被設置為value。

創建單值Cookie的代碼如下。

<%
Response. Cookies("Username")="zhangshihua" //
Response. Cookies("Username").Expires="July 29,2008"
%>

創建多值Cookie如:

<%
Response. Cookies("User")("Name")="chenfan"
  Response. Cookies("User")("Sex")="male"
  Response. Cookies("User")("Password")="20120601"
  Response. Cookies("User").Expires="June,1,2012"
%>

(2)輸出Cookie中保存的值

Request.Cookies集合,用來提取存儲在客戶計算機Cookie中的值。

如:

<%=Request.Cookies("Username")%>

6. Application對象

Application對象是一個比較重要的對象,對Application對象的理解關鍵是:網站所有的用戶公用一個Application對象,當網站服務器開啟的時候,Application就被創建。利用Application這一特性,可以方便地創建聊天室和網站計數器等常用站點應用程序。

Application對象沒有自己的屬性,用戶可以根據自己的需要定義屬性,來保存一些信息,其基本語法是:Application(“自定義屬性名”),這一點與Session定義一樣。

如:

<%
Application("Greeting")="你好!"
response.write Application("Greeting")
%>

首先對自定義屬性Application("Greeting")賦值,然后程序將其輸出。執行完以后,該對象就被保存在服務器上。

或許閱讀完本章,依然不明白這些東西和網站是如何具體聯系起來的,那么也沒關系,在本書后續章節將結合實戰案例詳細為你由淺入深地講解網站程序設計的全過程。

主站蜘蛛池模板: 油尖旺区| 绍兴市| 龙泉市| 三原县| 常熟市| 宁城县| 莱州市| 麟游县| 嘉荫县| 老河口市| 铁岭县| 富源县| 唐山市| 通渭县| 德庆县| 新竹市| 宕昌县| 裕民县| 安徽省| 交城县| 安达市| 砀山县| 玉环县| 栾川县| 桃源县| 石门县| 正宁县| 达尔| 连南| 乐至县| 德安县| 全椒县| 康平县| 黔东| 陕西省| 双流县| 翁牛特旗| 扎鲁特旗| 道孚县| 杨浦区| 页游|