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 l­u 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 l­u 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 l­u 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 l­u 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