Tìm hiể u về ASP
1
I.Active Server Pages (ASP) là gì ?
Microsoft Active Server Pages (ASP) là mộ t mô i trườ ng kị ch bả n dự a trê n
server (server-side scripting) cho phé p tạo hoặ c xây dự ng cá c ứ ng dụ ng Web
mạ nh chứ a cá c thẻ HTML, vă n bả n và cá c lệ nh script hay cá c ứ ng dụ ng Web
độ ng , giao tiế p giữ a Client và server mộ t cá ch hiệ u quả . Cá c trang ASP có
thể gọ i cá c thà nh phầ n ActiveX để thự c hiệ n cá c cô ng việ c như kế t nố i vớ i
vớ i mộ t database hoặ c thự c hiệ n mộ t tính toá n kinh doanh. Vớ i ASP, bạ n có
thể đưa nộ i dung tương tá c vớ i cá c trang Web củ a bạ n hoặ c xâ y dự ng toà n bộ
cá c ứ ng dụ ng Web sử dụ ng cá c trang HTML như giao tiế p vớ i khá ch hà ng
củ a bạ n.
z Trang ASP:
Mỗ i trang .asp có thể bao gồ m mộ t trong cá c thà nh phầ n sau: HTML, Scrip
củ a ngô n ngữ VB Scrip hoặ c Jscrip, Text trong đó cá c tag HTML và Text sẽ
đượ c xử lý bình thườ ng như đố i vớ i cá c vă n bả n HTML (.html) thô ng thườ ng,
cá c script sẽ đượ c mộ t bộ phận (engine) củ a ASP thô ng dị ch và thi hà nh trê n
server .Có thể xem trang ASP như mộ t trang HTML có bổ sung cá c ASP
Script Command
z Hoạ t độ ng củ a trang ASP:
Sau khi mô i trườ ng ASP thự c hiệ n việ c thự c thi cá c file .asp xong nó sẽ trả
lạ i kế t quả ở dạ ng HTML cho Web Server, tiế p theo Browser sẽ nhận đượ c
nộ i dung cầ n trình bà y từ Web Server thô ng qua giao thứ c HTTP. Mộ t trang
ASP cũ ng sẽ đượ c Brower tham khả o tớ i bình thườ ng như là nó đã tham
khả o tớ i mộ t trang HTML củ a Web.
XXXXX
XXXXX
YYYYY
YYYYY
XXXXX
XXXXX
ZZZZZZ
ZZZZZZ
Browser
Web Server
X:HTML
Y:ASP script
Z:ASP Script result(HTML)
Trang Asp khi ở trê n Web Server và khi đượ c đưa ra Browser
Lưu hành noä i boä
Tìm hiể u về ASP
2
z Sơ đồ một ứ ng dụ ng trê n Web ASP:
Web Server : là nơi tiế p nhậ n và trả lờ i cá c yê u cầ u củ a Web user, đồ ng thờ i
cũ ng thự c hiệ n việ c kế t nố i đế n hệ DBMS trê n Database Server theo yê u
cầ u truy cậ p dữ kiệu củ a trang ASP. ADO cung cấ p giao diệ n lậ p trình cho
ngườ i phát triễ n xây dự ng cá c lệ nh truy cậ p CSDL, cá c lệ nh nà y đượ c
chuyể n đế n cho hệ DBMS để thự c thi thô ng qua cá c thà nh phầ n OLE DB
(và ODBC). Kế t quả truy vấ n dữ liệ u sẽ đượ c Web Server đưa ra hiể n thị
trê n Browser.
Database Server: nơi diễ n ra việ c thự c thi cá c thao tá c CSDL như truy vấ n,
cậ p nhậ t cũ ng như bà o đả m tính toà n vẹn dữ liệ u củ a hệ DBMS.
Browser: giao diệ n vớ i ngườ i dù ng, tiế p nhậ n cá c yê u cầ u củ a ngườ i sử dụ ng
cũ ng như hiể n thị kế t quả yêu cầ u.
Web Browser
ASP
ADO
OLEDB
ODBC
Web Server
DMS
(SQL
server)
Database Server
SƠ ĐỒ MỘ T Ứ NG DỤ NG TRÊ N WEB
z Mộ t và i đặ c điể m củ a ASP:
- Việ c chè n cá c Scrip và o file HTML là m cho quá trình xử lý tạ o ra vă n bả n
HTML ( Dynamic Pages ) đồ ng thờ i vớ i việ c xử lý cá c Script , điề u bà y sẽ
Lưu hành nộ i bộ
3
Tìm hiể u về ASP
là m cho hoạ t độ ng củ a trang Web sẽ trở nê n linh độ ng hơn , uyể n chuyể n
hơn.
- Cá c file .asp cũ ng tương thích vớ i file HTML, và việ c viế t cá c scrip đơn
giả n , khô ng phả i biê n dị ch hay liê n kế t như việ c lậ p trình thô ng thườ ng,
ASP cung cấ p cá c đố i tượ ng tiệ n lợ i cho nhiề u thao tá c như: Request ,
Response , Server , Apllication , Session. Cá c đố i tượ ng có sẵ n nà y củ a mô i
trườ ng ASP sẽ giú p cho việ c giao tiế p dữ liệ u giữ a Client và Server thự c sự
tiệ n lợ i, cũ ng như việ c quả n lý ứ ng dụng mộ t cách linh hoạ t nhờ vào cá c
biế n Session, Application.
II Cá c thà nh phầ n & cú phá p ASP :
ASP bao gồ m cá c thà nh phầ n sau :
1. Cá c bộ dị ch ngô n ngữ VBScript và Jscript .
2 .Thư việ n cá c đối tượ ng, chuyê n dùng để truy xuấ t Database thô ng qua
ODBC Driver (Active Server Data Object – ADO).Thư việ n cá c đố i tượ ng hỗ
trợ cho việ c viế t các trang ASP .
Mộ t file ASP thự c chấ t là mộ t vă n bản, nó có thể bao gồ m cá c thành phầ n
sau:
+Vă n Bả n (Text)
+ Cá c HTML tag
+ Cá c Script . Mỗ i Script nà y sẽ thự c hiệ n mộ t cô ng việ c nà o đó , giố ng
như cá c phá t biể u củ a mộ t ngô n ngữ lập trình. Mộ t Script là mộ t chuỗ i
cá c lệ nh script, nó có thể là :
1. Mộ t phé p gá n giá trị cho mộ t biế n
2. Mộ t yê u cầ u Web server gử i thô ng tin đế n Brower .
3. Tổ hợ p cá c lệ nh riê ng rẽ thà nh mộ t thủ tụ c hay mộ t hà m giố ng
như trong cá c ngô n ngữ lậ p trình.
Việ c thi hà nh mộ t script là quá trình gử i chuỗ i cá c lệ nh tớ i Scripting Engine,
tạ i đâ y ASP sẽ thô ng dị ch cá c lệ nh nà y và chuyể n tiế p cho má y tính. Script được
viế t bằ ng mộ t ngô n ngữ vớ i các luậ t được đặ t tả nào đó , nế u ta muố n sử dụ ng mộ t
script language nà o thì trê n server phả i chạ y Script Engine cho ngô n ngữ đó . Trong
ASP cung cấ p hai Script Engine là VBScript và Jscript ( vớ i VBSCRIPT là mặ c
nhiê n). Tuy nhiê n ASP khô ng phả i là ngô n ngữ Script , mà nó chỉ cung cấ p mộ t
Lưu hành nộ i bộ
4
Tìm hiể u về ASP
mô i trườ ng để xử lý cá c Script mà ta chè n và o trong cá c file .asp , việ c chè n nà y
phả i tuâ n theo mộ t cú phá p nhấ t đị nh củ a ASP.
Cú phá p
1.Dấ u ngă n cá ch (Delimiter):
Trong vă n bả n ASP ta sử dụ ng cá c dấ u <% và %> để ngă n cách phầ n vă n bả n
HTML vớ i phầ n Script , hay cụ thể là bấ t cứ mộ t phá t biể u Script nà o cũ ng đề u
phả i nằ m giữ a hai ngă n cá ch <% và %>
Ví dụ :
<% say = "Hello" %> là mộ t script thự c hiệ n việ c gá n chuỗ i Hello và o
biế n say
♦ Biể u thứ c đơn :
Bạ n cầ n đưa và o(include) bê n trong dấ u ngă n cách ASP nhiề u biể u thứ c cho
ngô n ngữ scripting đầ u tiê n. Ví dụ , vớ i dò ng sau là kế t quả cuố i cù ng củ a vă n bản
vớ i thờ i gian hiệ n hành củ a server :
This page was last refeshed at<% =now %>
Trong trườ ng hợ p nà y , Web server trả về giá trị now củ a hàm VBScript từ
browser vớ i text .
2.Câ u lệ nh (Statement):
Mộ t câ u lệ nh trong VBScript hay trong ngô n ngữ script khá c là mộ t cấ u
trú c dù ng để thự c hiệ n mộ t thao tá c, câ u lệ nh phả i đượ c khai bá o hoặ c đị nh
nghó a trong ngô n ngữ scripting. Cá c ngô n ngữ script trong ASP cung cấ p cho ta
hầ u hế t các cấ u trú c điề u khiể n : IF…ELSE, For, While, DO WHILE… cù ng
Lưu hành nộ i bộ
5
Tìm hiể u về ASP
vớ i nhữ ng kiể u dữ liệ u cơ bả n như integer , char, string, Array …sau sử dụ ng
Ví dụ : sử dụ ng câ u lệ nh If củ a VBScript
<% if Time >=#12:00:00 AM# And Time < #12 :00:00 PM# then
greeting ="Good Morning!";
else
greeting ="Hello!";
end if
%>
dò ng sau sẽ gở i giá trị trong Green tơí Client browser
<FONT COLOR= "Green">
<%=greeting%>
</FONT>
3.SCRIPT tag:
Cá c phá t biể u , biể u thứ c , lệ nh, hay thủ tụ c mà bạ n sử dụ ng bê n trong hai dấ u
ngă n cá ch <% và %> phả i đượ c nhìn nhậ n bở i ngô n ngữ Script mặ c đị nh hoặ c ngô n
ngữ Script đượ c khai bá o ở đầ u trang ASP. Ngô n ngữ scripting mặ c đị nh củ a ASP
là VBScript , tuy nhiê n vớ i ASP ta vẫ n có thể sử dụ ng cá c ngô n ngữ lậ p trình khá c
bê n trong bằ ng cá ch sử dụ ng thẻ <SCRIPT> và </SCRIPT>
Ví du:
<SCRIPT LANGUAGE="JSCRIPT">
</SRIPT>
</BODY>
</HTML>
trong file ASP sau xử lý JScript trong haø m MyFunction
<HTML >
<BODY>
<%Call MyFunction %>
</BODY>
</HTML>
<SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT>
function MyFunction ()
{
Response.Write("MyFunction Called")
}
</SCRIPT>
Chú ý : bên trong tag <SCRIPT></SCRIPT> phả i là cá c thủ tụ c,khô ng có mộ t
biể u thứ c xuấ t hay phá t biể u nà o nằ m bê n ngoà i các thủ tụ c.
4.Include file:
Khi tạ o mộ t ứ ng dụng Web, bao gồ m nhiề u trang ASP, nế u như tò an bộ cá c
trang đề u cầ n sử dụng nhữ ngthô ng tin chung nà o đó chẳ ng hạ n như cá c hằ ng,giá trị
…để trá nh lạ i việ c đị nh nghó a lạ i cá c giá trị nà y ta có thể sử dụ ng cơ chế include
Lưu hành nộ i boä
7
Tìm hiể u về ASP
file củ a ASP (giố ng như trong ngô n ngữ lậ p trình cổ điể n).Để include mộ t file trong
trang ASP ta sử dụ ng cú phá p sau:
<!--#include Virtual/File="filename" -- >
Ví dụ : <!--#include Virtual="whatever.asp"-- >
Bạ n phả i đị nh nghó a kiể u Virtual hoặ c file
Trong đó qui đị nh file đượ c include phả i có phầ n mở rộ ng là .inc hoặ c .asp ,
phầ n filename bao gồ m cả đường dẫ n và tê n file.
¾ sử dụ ng từ khó a virtual:
Tham số Virtual dù ng để chỉ đị nh rằ ng đườ ng dẫ n đượ c bắ t đầ u vớ i mộ t thư
mụ c ả o(Virtual Directory)
Vd: <!--# include virtual = " /whatever.asp" -- >
Sẽ include bấ t kỳ tậ p nà o trê n site củ a bạ n(whatever là nằ m trê n thư mụ c
gố c củ a web server) nhưng bạn phả i cung cấ p tê n tậ p tin vớ i 1 đườ ng dẫ n
¾sử dụ ng từ khó a file
Tham số file dù ng để chỉ đị nh đườ ng dẫ n Relative,đượ c bắ t đầ u vớ i tên thư
mụ c chứ a file cầ n include.Chẳ ng hạ n nế u bạ n có 1 file trong thư mụ c myapp và
file header1.inc trong myapp/header , dò ng sau sẽ chè n header1.inc và o trong file
củ a bạ n .
<!--#include file ="header/header1.inc"-->
Chú ý rằ ng đườ ng dẫ n để include file headers / header1.inc thì có liên quan
đế n việ c include file , nế u nội dung củ a script nà y có cú pháp include là thư mụ c
/myapp, cú phá p sẽ khô ng hoạt độ ng .
ASP includes files trướ c khi thự c thi lệ nh script.Vì thế , bạ n khô ng thể sử dụ ng
mộ t lệ nh script để xâ y dự ng tê n củ a 1 file include.chẳ ng hạ n script sau khô ng thể
Lưu hành noä i boä
8
Tìm hiể u về ASP
mở file Header1.inc bở i vì ASP chiế m để thự c thi chỉ thị include trướ c khi gá n mộ t
tê n file cho giá trị name
<!-- This script will fail -->
<% name=(header1 & ".inc") %>
</SCRIPT>
Lưu hành nộ i boä
9
Tìm hiể u về ASP
Vớ i chứ c nă ng trong scripts củ a bạ n, bạn có thể tạo ra 1 ứ ng dụ ng thú vị .
Chẳ ng hạn script sau sử dụ ng mộ t database để cung cấ p mẫu tin script client như là
kế t quả hà nh độ ng củ a user.
Trong Script sau ASP tìm dữ liệ u từ Database và phá t ra mỗ i chương trình con
cho mỗ i dò ng dữ liệu. Chương trình con đó điề u khiể n cá i gì xả y ra khi 1 user
click và o liê n kế t trong trang hiể n thị trong client browser
Chú ý :
Trong script nà y sẽ khô ng có hà m củ a chính bả n thâ n nó .Nó cho thấ y ở đâ y
chỉ minh họ a chứ c nă ng củ a ASP nế u sử dụ ng trang liê n kế t vớ i Database,serverside scripting và client-side scripting.
Lưu ý :
• Việ c include file có thể gâ y nê n mộ t vò ng lặ p nế u file đượ c
include lạ i gọ i include mộ t file khá c ,hay file ban đầ u.
• Vì Asp sẽ include file trướ c khi xử lý cá c Script cho nê n ta khô ng
thể sử dụ ng mộ t lệ nh mà lệ nh nà y lạ i tạo ra mộ t lờ i gọ i include, hoặ c sử
dụ ng include như sau là sai:
<% name =(header1&".inc")%>