ASP初學者參考

來源:互聯網
上載者:User
參考|初學 常見縮減詞全寫及中文含義

WWW----World Wide Web(全球資訊網)
URL----Uniform Resource Locator(統一資源定位器)
HTTP----Hyper Text Transfer Protocol(超文字傳輸通訊協定 (HTTP))
HTML----Hyper Text Markup Language(超文字標記語言 (HTML))
XML----Extensible Markup Language(可延伸標記語言 (XML))
ODBC----Open DataBase Connectivity(開放資料庫連接標準)
DLL----Dynamic Link Library(動態連結程式庫)
DAO----Data Access Objects(資料連線對象)
RDO----Remote Data Objects(遠端資料物件)
ADO----Microsoft ActiveX Data Objects(動態資料對象)
SQL----Structured Query Language(結構化查詢語言 (SQL))
CGI----Common Gateway Interface(公用網關介面)
API----Application Programming Interface(API)
ASP----Active Server Pages(動態服務頁面)
PHP----Personal HomePage(個人首頁)
JSP----Java Server Pages
ColdFusion
SSI----Server-Side Include(伺服器端包含)
DOM----Document Object Model(文件物件模型)
IIS----Internet Information Server(網路資訊服務)
IP----Internet Protocol(網際協議)
TCP----Transmission Control Protocol(傳輸控制通訊協定)
IE----Internet Explorer(瀏覽器)
CSS----Cascading Style Sheet(層疊式樣式表)
VBScript----Microsoft Visual Basic Script Edition
ISDN----整合式服務數位網路
Web
FTP
SMTP
MMC----管理主控台










網頁設計前述
Web(全球資訊網)提供了一個圖形化使用者介面,一瀏覽Internet上的文檔,這些文檔以及它們之間的連結構成了一個龐大的資訊網。
Web起源於1989年3月,是由歐洲量子物理實驗室CERN(the Ruropean Laboratory for Particle Physics)開發的主從結構分布超媒體系統。
Web是資訊資源的海洋,三個要素保證了人們能夠方便地在這海洋中遨遊:
l 統一的資源命名方案(URL)
l 訪問某一資源的方式,即協議(HTTP)
l 在資源之間自由訪問的方法,即超文本(HTTP)
Internet發展到現在,Web技術經曆了3個發展階段:
l 第一代,提供對靜態文檔(資訊)的管理和訪問(顯示)
l 第二代,與資料庫系統相結合,提供對動態文檔(資訊)的訪問和顯示
l 第三代,除動態文檔產生和訪問之外,還提供基於Web的聯機交易處理能力。
靜態網頁存在的不足:
1. 無法支援後台資料庫
2. 無法有效對網站資訊進行及時的更新
3. 無法實現動態顯示效果
ASP是Microsoft公司在1996年底推出的一種運行於伺服器端的Web應用程式開發技術。ASP既不是一種語言,也不是一種開發工具,而是一種內含於IIS/PWS之中的易學易用,可以整合Script語言到HTML首頁的伺服器端的指令碼語言環境,其主要功能是為產生動態,互動的Web伺服器應用程式提供一種功能強大的方式和技術。
ASP的特點如下:
1. ASP可以混用HTML,DHTML,Java小程式,ActiveX,VBScript,JavaScript,並且可以互相嵌套。
2. 不需編譯,純文字格式。
3. 安全性好
4. 物件導向
5. 可擴充伺服器端功能
6. 可擴充指令碼語言
7. 與瀏覽器無關
8. ASP提供6個內建的全域對象供開發人員不需聲明就可直接調用
9. ASP提供5個重要的伺服器組件
訪問HTML頁面的過程:
1. 在用戶端瀏覽器地址欄處輸入HTML檔案的URL地址,按斷行符號鍵發送一個網頁請求
2. 瀏覽器發送網頁請求到IIS/PWS伺服器
3. IIS/PWS伺服器接收到請求,通過副檔名.htm或.html判斷是HTML檔案的請求
4. IIS/PWS伺服器將對應的HTML檔案從磁碟或儲存空間中取出並送回瀏覽器
5. HTML檔案由使用者的瀏覽器解釋,結果在瀏覽器的視窗顯示
訪問ASP網頁的過程:
1. 在用戶端瀏覽器的地址欄輸入要請求的ASP檔案的URL地址,按斷行符號鍵發送一個ASP請求
2. 瀏覽器向IIS/PWS伺服器發送ASP網頁請求
3. IIS/PWS伺服器收到請求並根據副檔名.asp識別出ASP檔案
4. IIS/PWS伺服器從磁碟或記憶體中擷取相應的ASP檔案
5. IIS/PWS伺服器將ASP檔案發送到一個類似於發動機引擎的名為asp.dll的特定檔案庫中
6. asp.dll引擎將ASP檔案從頭至尾進行解釋處理,並根據ASP檔案中的命令要求產生相應的動態HTML頁面
7. HTML頁面被送回用戶端瀏覽器
8. 用用戶端瀏覽器解釋執行HTML網頁,並將結果顯示在用戶端瀏覽器上
與HTML相比,ASP具有3個重要特徵:
1. ASP可以包含伺服器端指令碼語言,即可以用動態內容建立網頁
2. ASP使用內建對象可以使指令碼功能更強大
3. ASP使用組件使使用者可以處理資料庫,發送email或訪問檔案系統等
ASP提供的6個內建對象:
1. Response:發送資訊到瀏覽器
2. Request:用來讀取來自瀏覽器的請求資訊,可用該對象讀取HTML表單的資訊
3. Server:允許用指令碼來產生Active Server組件的執行個體
4. Application:用來儲存,讀取使用者共用的應用程式資訊,如可以用該對象在網站的不同串連者之間傳遞共用資訊
5. Session:用來儲存,讀取特定串連者的對話資訊,如可以儲存串連者對網站的訪問資訊
6. ObjectContext:用於控制ASP的交易(Transaction),交易由Microsoft Transaction Server(MTS)管理
ASP提供的5個重要組件
1. ADO:用於在Microsoft SQL Server,Microsoft Access資料庫中讀取或儲存資料
2. File System:提供可用來訪問電腦檔案系統的方法和屬性
3. Content Linking:根據不同瀏覽器的效能顯示不同的HTML內容
4. Browser Capabilities:用來連結不同的HTML頁面使其操作更簡單
5. AD Rotator:用於在網頁上顯示橫幅廣告,並可控制不同廣告的顯示頻率
ASP基本知識
ASP檔案的副檔名為.asp,其中可以包括HTML標記,文本和指令碼語言,其指令碼語言程式碼封裝含於” %……%>”之間。
在VBScript中:注釋可以是Rem,’等
% Option Explicit %>表示VBScript中的變數都要聲明後才可使用,否則會出錯。
檔案包含: !--#include file=”myfirstinc.inc”-->
!--#include file=”myfirstasp.asp”-->
!--#include file=”myfirsttxt.txt”-->
認識VBScript指令碼的基本用法:
1. 運算子
2. 資料類型
3. 常量,變數及數組
4. 條件陳述式(if….then end if, if….then….Else end if)
5. 迴圈語句(for….next, for each….next, do while…..loop)
6. 過程
7. 基本函數:分為數學類,字串類,日期時間類,類型轉換類,格式化類和判斷類。
a) 數學類:abs(), sqr(),rnd(隨機數),round(四捨五入)…
b) 字串類:len(),left(),right(),mid(),strReverse(),split(),trim()
c) 日期時間類:DateValue(),TimeValue(),Year(),Month,Day(),Hour(),Minute(),Second(),DateSerial(),TimeSerial(),Date(),Time(),Now(),DatePart(),DateAdd(),DateDiff()…
d) 類型轉換類:Cdate(),Cint(),Clng(),Cstr(),str(),Val(),Int(),Fix()
e) 格式化類:FormatDateTime,FormatNumber,FormatPercent….
f) 判斷類:IsDate,IsEmpty,IsNull,IsNumeric,IsObject…
g) 資訊對話方塊函數:InputBox,MsgBox…
ASP內建對象說明:
Response:
文法格式:Response.集合|屬性|方法(變數)
Response的屬性有:Buffer,Charset,ContentType,Expires,ExpiresAbsolute,Status.
Response的方法有:AddHeader,AppendTolog,BinaryWrite,Clear,End,Flush,Redirect,Write
Response的集合:Cookie.
Request:
文法格式:
Request.集合(變數)
集合:Form,QueryString,ServerVariable,Cookie,ClientCertificate
1. Form:文法格式:Request.form(element)[(index).count]. %=request.form.count%>表單個數。 %=request.form(“name”)%>
2. QueryString:文法格式:Request.QueryString(variable)[(index)|.count]
3. ServerVariable:文法格式:Request.ServerVariable(伺服器環境變數)
4. Cookie:文法格式:Request.Cookies(Cookie名)[(key)|.attribute]
使用Cookies集合:
Response.Cookies(CookieName)[(key)|.attribute]=CookieValue
Request.Cookies(CookieName)[(key)|.attribute]
Application:
文法格式:Application.屬性|方法|事件|集合
Application的方法:Lock(),UnLock()
Application的事件:Application_OnStart,Application_OnEnd
Application的集合:Contents,StaticObjects
Application的屬性:Application(“變數名”)=變數名 或 Set Application(“對象執行個體名”)=對象
其實是定義全域變數,供多個使用者使用。
執行個體名(反過來是還原)
Session:
文法格式:Session.方法|事件|集合|屬性
Session方法:Abandon()用於清除Session對象 % Session.Abandon %>
Session事件:Session_OnStart,Session_OnEnd
Session集合:Contents,StaticObjects
Session屬性:SessionID,Timeout
使用者也可以自訂Session屬性,其實是變數,就是我們前面說的會話變數。
Session(“VariableName”)=VariableName
Set Session(“ObjectName”)=ObjectName(反過來就是還原變數)
網頁變數的生命週期與傳遞
全域變數,會話變數,網頁變數
用Request.QueryString集合在網頁間傳遞變數
用ASP的Application或Session對象在網頁間傳遞變數。
Session和Application的比較:
1. 兩者都允許使用者自訂屬性,即定義Application變數和Session變數。
2. 兩者都可以用於存取對象中的變數及對象執行個體
3. 兩者都有生命週期。Session開始於新串連者第一次串連時,終止於串連者若干時間內沒有索取過任何資訊;Application開始於IIS/PWS開始執行且出現第一個串連者的時候,終止於若干時間內沒有任何串連者索取過資訊,或IIS/PWS關閉時。
4. 兩者都是ASP檔案共用的對象。Application對象是所有網頁串連者共用的一個對象,Session對象是每位串連者專屬的對象。
5. 兩者都有OnStart和OnEnd事件代碼,但它們發生的時間不同。當一個Application應用程式與一個Session應用程式同時啟動時,ASP會先執行Application_OnStart,接著才執行Session_OnStart;若在結束一個Session的同時結束Application應用程式,則會先執行Session_OnEnd,然後才執行Application_OnEnd.
Global.asa檔案與應用程式的初始化:
Global.asa檔案:
網站計數器或統計線上人數等
Server對象、ODBC與ADO組件:
Server文法格式:Server.屬性|方法
Server屬性:ScriptTimeout
Server方法:CreateObject,HTMLEncode,URLEncode,MapPath
Server的CreateObject方法是ASP中最實用,最強大的功能,它可以建立登入到伺服器上的ActiveX組件執行個體,是建立ActiveX對象的源頭。
Server.CreateObject(“組件名或組件註冊名”)
Set Myconn=Server.CreateObject(“ADODB.connection”)連線物件執行個體
Set MyAds=Server.CreateObject(“MSWC.AdRotator”)廣告對象執行個體
ODBC:是串連資料庫的通用介面,是由Microsoft公司開發並倡導的資料庫連接標準。
ADO:是ASP伺服器內建群組件及實現Web資料庫操作的一個十分重要的組件。
ADO組件是一個功能強大的組件,由7個介面組件組成,分別如下:
1. Connection組件
2. Recordset組件
3. Command組件
4. Parameter對象
5. Porperty對象
6. Error對象
7. Field對象
其中前三個組件需要使用Server.CreateObject方法來建立後才能使用。
Connection:文法格式:Set Connection對象名=Server.CreateObject(“ADODB.Connection”)
如:Set conn=Server.CreateObject(“ADODB.Connection”)
Connection對象的方法:
1. Open格式:Connection對象名.Open “串連資料庫資訊字串”[;使用者帳號][;使用者密碼]。該方法用於開啟一個資料庫並與其建立串連。有兩種方法:
a) 用DSN方法開啟資料庫:該方法先用ODBC建立對應資料庫的資料來源名(DSN),然後通過資料來源名開啟對應資料庫。如下代碼就可以開啟資料來源名qhbook所對應的資料庫book.mdb。 % Set Conn=Server.CreateObject(“ADODB.Connection”) Conn.Open”qhbook;mydata;zhxing”%>
b) 用全路徑DSN方法開啟資料庫。如果在串連資料庫前沒有建立ODBC資料來源,也可以採用直接指定ODBC驅動程式名稱的方法建立與資料庫的串連。此時的“串連資料庫資訊字串”必須以driver開始,變為”Driver={ODBC驅動程式名};dbq=”&Server.MapPath(“資料庫名”).如下:
% Set Conn=Server.CreateObject(“ADODB.Connection”)
Conn.Open”Driver={Microsoft Access Driver(*.mdb)};dbq=”&Server.MapPath(“book.mdb”) %>
如果是SQL Server類型,則驅動程式是Driver={SQL Server};如果是Oracle類型,則:Driver={Microsoft ODBC for Oracle}.
2. Close:關閉一個已經建立的連線物件及其相關對象。 % Conn.Close%> %Set Conn=nothing%>
3. Execute:
格式一:Connection對象名.Execute(SQL指令).
格式二:Connection對象名.Execute(資料表名)。
如下:
% SQL=”Select * from bookitem” Set rs=Conn.Execute(SQL) %>或:
% Set rs=Conn.Execute(“bookitem”)%>
4. BeginTrans
5. CommitTrans
6. RollbackTrans
Recordset組件:
前面的Conn.Open方法知識開啟並串連了相應的資料庫,資料庫通常是由一個或多個表組成,所以要存取其中的資料表還必須建立Recordset對象後,才能對其進行各種操作。
1. 建立Recordset對象
方法由以下幾種:
Set Recordset對象名=Server.CreateObject(“ADODB.Recordset”)
Set Recordset對象名=Connection.Execute(“資料表名”)
Set Recordset對象名=Connection.Execute(SQL指令)
如下代碼:
%
Set Conn=Server.CreateObject(“ADODB.Connection”)
Conn.Open”qhbook;mydata;zhxing”
Set rs=Conn.Execute(“bookitem”)
%>或
%
Set Conn=Server.CreateObject(“ADODB.Connection”)
Conn.Open”Driver={Microsoft Access Driver(*.mdb)};dbq=”&Server.MapPath(“book.mdb”)
Set rs=Server.CreateObject(“ADODB.Recordset”)
Exec=Select * from bookitem
Rs.Open Exec,Conn
%>
Recordset對象的方法:
Open:格式一:rs.Open Exec,Conn,1,1(記錄集類型(0,1,2,3),鎖定類型(1,2,3,4))
格式二:rs.Open bookitem,Conn,1,1
Recordset類型:0:唯讀,當前資料記錄只能向下移動
1:唯讀,當前資料記錄可以自由移動
2:可讀寫,當前資料記錄可以自由移動
3:可讀寫,當前資料記錄可以自由移動(注)
鎖定類型:1:預設值,用於開啟唯讀資料記錄
2:悲觀鎖定
3:樂觀鎖定
4:批次樂觀鎖定
Close方法
% rs.Close
Set rs=nothing %>
Recordset對象指標移動的方法:
MoveFirst
MoveLast
MoveNext
MovePrevious
Move NumRecords,Start:
Recordset對象的操作方法:
Addnew:該方法可以向Recordset對象中添加一條記錄
Delete:刪除Recordset對象中的一條記錄
Update:更新Recordset對象的目前記錄
CancelUpdate:取消更新,在更新方法之後才有效
UpdateBatch:當鎖定類型是4時,該方法用於儲存對一個或多個記錄的修改。
Recordset對象的屬性
AbsolutePage
AbsolutePosition
ActiveConncetion
BOF
EOF
Bookmark
CacheSize
CursorLocation
CursorType
EditMode
Filter
LockType
MaxRecords
PageCount
PageSize
RecordCount
State
Source
Field對象與集合
Field屬性:
Name,Value,Type,….
Field方法:AppendChunk,GetChunk
Field集合:
輸出資料表表頭:
For I=0 to rs.fields.count-1
Response.write” td>”&rs.fields(i).name&” /td>”(注釋:前面的有擷取表單元素個數的,和此差不多。Request.form.count)
Next
輸出表中各個記錄的值:
for I=0 to rs.fields.count-1
response.write” td>”&rs.fields(i).value&” /td>”
next
用ADO與SQL查詢資料庫
建立資料庫與資料來源:
本例用Microsoft Access 2000建立一個圖書管理資料庫,資料庫名為book.mdb,其中的資料表是bookitem,只有一個表。
bookitem表的結構:
book_id(編號):長整形,主鍵
book_name,book_author,book_price(貨幣),book_press,book_date(日期)
建立此資料庫的DSN,取名qhbook,帳號和密碼為:internet
用Select選取所有記錄:
格式:Select [Top N] 欄位列表 From 資料表名(*表示所有欄位,多欄位用,隔開)
1. Select * from bookitem
2. Select book_name,book_author,book_price from bookitem
3. Select * from bookitem where book_name=’孤獨羊’
Select * from bookitem where book_name like ‘%原理%’(萬用字元%和_,其中%代表任意多個,_代表一個。)
Select * from bookitem where book_price between 20.00 and 23.00
Select * from bookitem where book_price>=20.00 and book_price =23.00
Select * from bookitem where book_price between 12.00 and 20.00 and book_name like ‘%系統%’
Select * from bookitem where book_date>=#2000/3/1# and book_name like’%原理%’
Where後的條件運算式可以用邏輯、比較、like,between…and,in/not,in,isNull/Is not Null等運算子來構成各種篩選。
Select [Top N] 欄位列表 From 資料表名 Where 條件運算式
4. Select [Top N] 欄位列表 From 資料表名 Where 條件運算式 Order By 欄位列表[Desc]降序排列:
Select * from bookitem Order By book_date Desc,book_price Desc
Select * from bookitem Where book_date>=#2000/3/1# Order By book_name
Select Top 4 * from bookitem where book_date>=#2000/3/1#
插入記錄:
格式一:Insert Into 資料表名[(欄位名列表)] Values (欄位值列表)
格式二:rs.Open SQL,conn,2,3
Addnew
為各欄位賦值
Update(此法最常用,特別是和表單結合時,通過表單添加記錄)
如:
Insert Into bookitem(book_name,book_author,book_price) Values (‘書名’,’作者’,’價格’)
刪除記錄:
格式一:Delete from 資料表名 Where 條件運算式(SQL語言的刪除)
格式二:rs.Open SQL,conn,2,3(記錄集的刪除方法)
rs.MoveLast
rs.Delete
rs.Update(常用的一種方法)
如:Delete from bookitem where book_author=’寡人’
修改記錄:
rs.Open SQL,conn,3,3
rs.MoveLast
rs(“book_author”)=”朕”
rs.Update

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.