Asp vµ viÖc x©y dùng øng dông trªn Web
Xem bai viet bang font Unicode
PCWorld VN 7/99
ASP lµ g×?
Kh¸i niÖm ASP (Active Server Page): ASP lµ m«i trêng kÞch b¶n trªn m¸y chñ (Server-side Scripting Environment) dïng ®Ó t¹o vµ ch¹y c¸c øng dông Web ®éng vµ cã t¬ng t¸c. Nhê tËp c¸c ®èi tîng cã s½n (Built-in Object) víi nhiÒu tÝnh n¨ng phong phó, kh¶ n¨ng hç trî VBScript lÉn JScript cïng mét sè thµnh phÇn ActiveX kh¸c kÌm theo, ASP cung cÊp giao diÖn lËp tr×nh m¹nh vµ dÔ dµng trong viÖc triÓn khai øng dông trªn Web.
Trang ASP: lµ trang Web trong ®ã cã sù kÕt hîp c¸c thµnh phÇn HTML, ActiveX Component vµ ASP Script. Cã thÓ xem trang ASP nh mét trang HTML cã bæ sung c¸c ASP Script Command.
Ho¹t ®éng cña trang ASP: khi mét trang ASP ®îc yªu cÇu bëi Web Browser, ®Çu tiªn Web Server xem xÐt vµ thùc hiÖn hÕt nh÷ng c©u lÖnh ASP Script, kÕt qu¶ lµ mét trang "thuÇn HTML" ®îc ®a ra Browser. Ngêi sö dông kh«ng thÊy nh÷ng lÖnh ASP Script bëi v× nã ®· ®îc thay b»ng c¸c gi¸ trÞ kÕt qu¶ cña qu¸ tr×nh thùc thi trªn Server (xem H×nh 1).
|
|
H×nh 1: Trang ASP khi ë trªn Web Server vµ khi ®îc ®a ra Browser |
øng dông ASP: thêng øng dông ASP gåm c¸c trang ASP vµ c¸c thµnh phÇn kh¸c ®Æt trong mét th môc (Application Directory) ®îc khai b¸o víi Web Server, th môc nµy ph¶i ®îc g¸n quyÒn Executive hay Script ®Ó trang ASP ho¹t ®éng ®óng. Trong Application Directory cã mét tËp tin ®Æc biÖt lµ Global.asa dïng ®Ó chia sÎ th«ng tin trong toµn øng dông.
Web Server cho ASP: Trang ASP cã thÓ ch¹y víi Microsoft Internet Information Server (IIS) 3.0. Tuy nhiªn b¹n nªn dïng ASP víi IIS 4.0 (trªn Windows NT) hoÆc Microsoft Personal Web Server (PWS) 4.0 (trªn Windows 9x) ®Ó sö dông nh÷ng tÝnh n¨ng míi vµ c¸c ActiveX Component kÌm theo. B¹n cã thÓ cµi ®Æt IIS 4.0 hoÆc PWS 4.0 tõ phÇn NT Option Pack trong bé Visual Studio 6.0.
C¸ch t¹o trang ASP: víi mét trang HTML cã s½n, b¹n cã thÓ dÔ dµng t¹o trang ASP b»ng c¸ch thªm vµo c¸c lÖnh ASP Script cÇn thiÕt vµ ®æi phÇn më réng thµnh .ASP. Chó ý: do trang ASP ®îc xö lý tríc trªn Server nªn nã sÏ tèn nhiÒu thêi gian h¬n ®Ó ®a ra Browser, do ®ã tr¸nh ®Æt tªn trang lµ ASP khi kh«ng cÇn thiÕt (tøc lµ khi néi dung chØ gåm c¸c thµnh phÇn HTML)
C¸ch ghi ASP Script trong trang ASP:
ASP Script ph¶i ®îc ®Æt gi÷a ký hiÖu <% vµ %> hoÆc gi÷a khèi
<Script RUNAT="SERVER" [LANGUAGE=language]>
</Script>
+ Nh÷ng lÖnh n»m gi÷a <%%> ph¶i sö dông ng«n ng÷ Scripting chÝnh thøc (Primary Scripting Language) qui ®Þnh cho trang ®ã, Primary Scripting Language mÆc ®Þnh lµ VBScript. §Ó chØ ®Þnh Primary Scripting Language kh¸c, b¹n dïng chØ dÉn <%@ LANGUAGE=language> ®Æt ë dßng ®Çu tiªn cña trang ASP.
+ Dïng khèi <Script RUNAT="SERVER" [LANGUAGE= language]> </Script> ®Ó ®Þnh nghÜa c¸c Procedure (Sub hoÆc Function) cã sö dông trong trang ASP (c¸c procedure thêng ®îc ®Æt ë cuèi trang ASP).
+ §Ó kÕt xuÊt gi¸ trÞ cña mét biÓu thøc ASP, dïng Output Directive <%= expession %>
VÝ dô: file Test.ASP sÏ tr×nh bµy c¸ch sö dông mét sè lÖnh ASP Script ®¬n gi¶n nh sau:
<html>
<head>
<title>Test ASP</title>
</head>
<body>
<p>This following Greeting come from calling greeting function:
<%=greeting%> <br>
and this is the time of the last refresh of the page by calling now function:
<%=now%> <br>and this is a text from response method:
<%Response.write "I was created byResponse method"%> </p>
</body>
</html>
<script runat="server" language="VBScript">
function greeting
if (time>=#12:00:00 AM#) and (time < #12:00:00#) then
greeting="Good Morning !"
else
greeting="Hello"
end if
end function
</script>
C¸c ®èi tîng x©y dùng s½n cña ASP (ASP Built-in Object):
Gåm cã 6 ®èi tîng nh sau:
1. Session: dïng lu tr÷ nh÷ng th«ng tin cÇn thiÕt trong phiªn lµm viÖc cña User. Nh÷ng th«ng tin lu tr÷ trong Session kh«ng bÞ mÊt ®i khi User di chuyÓn qua c¸c trang cña øng dông.
2. Application: dïng chia sÎ th«ng tin gi÷a c¸c User trong cïng mét øng dông. §èi tîng Application thêng ®îc dïng trong viÖc ®Õm sè lÇn truy cËp ®Õn øng dông cña c¸c User.
3. Request: dïng ®Ó truy cËp nh÷ng th«ng tin ®îc chuyÓn cïng víi c¸c yªu cÇu HTTP. Nh÷ng th«ng tin nµy gåm cã c¸c tham sè cña Form khi ®îc Submit dïng ph¬ng thøc POST hay GET hay c¸c tham sè ®îc ghi cïng víi trang ASP trong lêi gäi ®Õn trang ®ã. Dïng ®èi tîng Request cã thÓ chia sÎ th«ng tin qua l¹i gi÷a c¸c trang ASP trong mét øng dông. Ngoµi ra Request cßn ®îc dïng ®Ó lÊy gi¸ trÞ c¸c cookie lu tr÷ trªn m¸y client.
4. Response: göi th«ng tin ra User, gåm cã ghi th«ng tin trùc tiÕp ra Browser, chuyÓn Browser ®Õn mét URL kh¸c vµ/hoÆc thiÕt lËp c¸c cookie trªn m¸y client.
5. Server: cung cÊp ph¬ng tiÖn truy cËp ®Õn nh÷ng ph¬ng thøc vµ thuéc tÝnh trªn server. Thêng sö dông ph¬ng thøc Server.CreateObject ®Ó khëi t¹o instance cña mét ActiveX Object trªn trang ASP.
6. ObjectContext: sö dông ObjectContext ®Ó chÊp thuËn hoÆc hñy bá transaction ®îc khëi t¹o bëi mét ASP Script.
C¸c thµnh phÇn ActiveX:
1. §èi tîng truy cËp d÷ liÖu ADO (ActiveX Data Object): ADO lµ mét thµnh phÇn trong bé Microsoft Data Access Component (MDAC - gåm ADO, OLE DB vµ ODBC). ADO cung cÊp giao diÖn lËp tr×nh quen thuéc víi nh÷ng thuéc tÝnh vµ ph¬ng thøc theo m« h×nh ®èi tîng ®Ó t¹o sù dÔ dµng cho c¸c lËp tr×nh viªn, nhÊt lµ ®èi víi nh÷ng ngêi ®· quen víi DAO vµ RDO. ¥ë møc hÖ thèng, c¸c chøc n¨ng t¬ng t¸c d÷ liÖu thËt sù víi DBMS sÏ do thµnh phÇn OLE DB (gäi lµ OLE DB Provider) ®¶m nhËn, thµnh phÇn nµy do nhµ s¶n xuÊt c¬ së d÷ liÖu (CSDL) cung cÊp cïng víi s¶n phÈm cña hä. HiÖn nay, do ®a sè hÖ DBMS dïng ODBC lµm giao diÖn CSDL nªn Microsoft cã kÌm theo mét thµnh phÇn gäi lµ OLE DB Provider for ODBC ®Ó ADO cã thÓ lµm viÖc trªn c¸c hÖ thèng CSDL hiÖn t¹i dïng giao tiÕp ODBC (xem H×nh 2).
|
|
H×nh 2: S¬ ®å giao tiÕp c¸c thµnh phÇn cña MDAC |
2. C¸c thµnh phÇn ActiveX kh¸c:
- Ad Rotator Object (AdRotator): lu©n phiªn hiÓn thÞ d·y c¸c h×nh ¶nh còng nh liªn kÕt tõ h×nh ¶nh ®îc hiÓn thÞ ®Õn mét URL. Th«ng tin vÒ h×nh ¶nh vµ liªn kÕt t¬ng øng ®îc lu tr÷ trong file text.
- Browser Capabilities object (BrowserType): nh÷ng th«ng tin vÒ Browser nh tªn, version, cã hç trî frame, table hay kh«ng...
- Page Counter: ®Õm vµ hiÓn thÞ sè lÇn trang Web ®îc yªu cÇu
- MyInfo, Status, System, Tools Object: c¸c th«ng tin vÒ Web site
M« h×nh mét øng dông CSDL trªn Web
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÷ liÖ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.
|
|
H×nh 3: S¬ ®å mét øng dông trªn Web |
Database Server: lµ 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 ®¶m b¶o tÝnh toµn vÑn d÷ liÖu cña hÖ DBMS.
Browser: giao diÖn víi ngêi sö dông, lµ n¬i tiÕp nhËn yªu cÇu cña ngêi sö dông còng nh hiÓn thÞ kÕt qu¶ yªu cÇu. Ngoµi ra, Browser cßn lµ n¬i kiÓm tra s¬ bé tÝnh hîp lÖ cña d÷ liÖu tríc khi chuyÓn ®Õn cho Web Server.
L· M¹nh Cêng
Saigon Sky Garden - 20 Lª Th¸nh T«n, Q1, TP. HCM - §T: 822 0002
PcLeHoan
1996 - 2002
Mirror :
http://www.pclehoan.com
Mirror :
http://www.lehoanpc.net
Mirror :
http://www.ktlehoan.com