Đại cương thiết kế Web

Giáo trình bao gồm 5 chương, mỗi chương đều có phần kiến thức lý thuyết và câu hỏi nghiên cứu cụ thể. Chương 1 Giới thiệu chung Chương 2 Lập trình Web với ngôn ngữ đánh dấu siêu văn bản Chương 3 Ngôn ngữ kịch bản trong lập trình Web Chương 4 Lập trình Web động với công nghệ ASP Chương 5 Kết nối CSDL trong lập trình Web động với ASP Tài liệu tham khảo

pdf122 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 1917 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Đại cương thiết kế Web, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HTTP. g. Ph−¬ng thøc: BinaryRead: §äc d÷ liÖu tõ th©n HTTP göi ®Õn server . VÝ dô: -------------------File1.html----------------- 94 Name: Age: Sex: -------------------File2.asp------------------ <% Dim ByteCount,BinRead ByteCount = Request.TotalBytes BinRead=Resquest.BinaryRead(ByteCount) Response.Write("ByteCount = " & ByteCount & " bytes") %> KÕt qu¶: Tïy thuéc vµo d÷ kiÖn ®−îc nhËp t¹i form, vÝ dô nÕu Name=Bill, Age=56, and Sex=male. Th× ta sÏ cã kÕt qu¶ lµ: ByteCount = 39 bytes 4.6.3 §èi t−îng Response §−îc sö dông ®Ó truy xuÊt c¸c ®¸p øng mµ server t¹o ra ®Ó göi vÒ cho user TËp hîp Thuéc tÝnh Ph−¬ng thøc Cookies Buffer Charset ContentType Expires ExpiresAbsolute Status AddHeader AppendToLog BinaryWrite Clear End Flush Redirect Write Có ph¸p: Response. tËp hîp|thuéc tÝnh|ph−¬ng thøc a. TËp hîp: Cookies: X¸c ®Þnh gi¸ trÞ cña cookie göi cho browser . C¸c thµnh phÇn cña tËp hîp nµy ®Òu lµ gi¸ trÞ chØ ghi. Request object cho phÐp chóng ta ®äc th«ng tin cña cookies khi cã 1 yªu cÇu ®−îc göi ®Õn. Cßn Response object cung cÊp kh¶ n¨ng ®Æt hoÆc thay ®æi c¸c gi¸ trÞ cña cookies tr−íc khi göi tr¶ l¹i cho client. 95 VÝ dô: Dßng lÖnh sau ®©y sÏ thªm 1 cookie vµo cookie cña client nÕu nã ch−a ®−îc ®Æt hoÆc thay ®æi gi¸ trÞ cña cookie nµy nÕu nã ®· tån t¹i. Chó ý: ViÖc thay ®æi cookie víi Response object cÇn ®−îc lµm tr−íc khi viÕt m· v¨n b¶n hoÆc HTML ®Ó göi tíi client, nÕu kh«ng sÏ g©y ra lçi. b. Ph−¬ng thøc : Ph−¬ng thøc ý nghÜa AddHeader Thªm phÇn ®Çu HTTP víi mét gi¸ trÞ cô thÓ ®Ó göi l¹i cho browser AppendToLog Thªm mét chuçi v¨n b¶n vµo môc nhËp nhËt ký m¸y chñ cho yªu cÇu tõ m¸y kh¸ch hiÖn thêi Binarywrite ViÕt th«ng tin trùc tiÕp tíi néi dung tÝn hiÖu ®¸p mµ kh«ng chuyÓn ®æi ký tù nµo Clear Xo¸ bé ®Öm End Dõng viÖc xö lý 1 trang vµ tr¶ l¹i kÕt qu¶ hiÖn t¹i Flush Göi nh÷ng d÷ liÖu cã trong bé ®Öm tíi browser ngay lËp tøc Redirect ChØ cho browser kÕt nèi ®Õn mét URL kh¸c Write Göi text trùc tiÕp tíi tr×nh duyÖt phÝa user ™ AddHeader: Response.AddHeader Name, Value §Æt tªn header HTML: Ph¶i ®−îc gäi tr−íc khi output ®−îc göi cho client trõ khi response.buffer ®−îc ®Æt lµ true. VÝ dô: <% Response.AddHeader "MyHeader", "ERROR" %> ™ AppendToLog : Response.AppendToLog(String) Thªm x©u vµo cuèi môc log Web server cho yªu cÇu nµy. String lín nhÊt lµ 80 ký tù VÝ dô: <% Response.AppendToLog("Error in Processing") %> §Çu ra ®−îc chÌn vµo cuèi file IIS log: 10.78.176.37, - , 03/20/97, 7:55:20, W3SVC, SALES1, 10.78.176.37, Error in Processing ™ Clear: Response.Clear Xãa toµn bé output HTML ®ang ë trong buffer, kh«ng xãa header, chØ xãa phÇn th©n (body). NÕu buffer kh«ng ®−îc thiÕt ®Æt sÏ g©y ra lçi. Ph¶i ®Æt Response.Buffer=True (mÆc ®Þnh trong phiªn b¶n 3.0) 96 VÝ dô: ™ End: Response.End KÕt thóc xö lý file .asp vµ tr¶ l¹i kÕt qu¶ hiÖn t¹i VÝ dô: <% Response.Write "Hello World" Response.End Response.Write "Is this the End?" %> KÕt qu¶: Hello World ™ Flush: Response.Flush Göi th«ng tin trong buffer ra ngay lËp tøc Response.buffer=true VÝ dô: ™ Redirect: Response.Redirect(URL) KÕt thóc xö lý file .asp hiÖn t¹i, chuyÓn tr×nh duyÖt tíi mét URL kh¸c. VÝ dô: --------------File1.asp--------------- <% Response.Write "This is File1.asp and switching to File2.asp" Response.Redirect "File2.asp" Response.Write "This line is not written to the file" %> --------------File2.asp----------------- <% Response.Write "This is File2.asp" %> KÕt qu¶: File1 ®−îc thùc hiÖn sau ®ã tr×nh duyÖt sÏ t¶i File2 lªn: ------------File1.asp------------------ This is File1.asp and switching to File2.asp ------------File2.asp------------------- This is File2.asp ™ Write: Response.Write(Variant) Ghi th«ng tin d−íi d¹ng x©u vµo output HTTP hiÖn thêi. VÝ dô: <% Response.Write "Hello World" Response.Write ""%> 97 KÕt qu¶: Hello World c. Thuéc tÝnh: Thuéc tÝnh ý nghÜa Buffer X¸c ®Þnh xem mét trang cã sö dông bé ®Öm ®Ó chøa c¸c kÕt qu¶ ®−îc t¹o bëi Script hay ®−îc göi ngay tíi browser khi tõng dßng ®−îc t¹o ra vµ nhËp vµo d¶i HTML. Gi¸ trÞ ngÇm ®Þnh lµ False ContentType X¸c ®Þnh kiÓu néi dung HTTP ®−îc tr¶ vÒ. KiÓu ngÇm ®Þnh lµ Text/HTML Expires Kho¶ng thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser ExpiresAbsolute Ngµy vµ thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser Status Gi¸ trÞ cña dßng tr¹ng th¸i HTTP tr¶ l¹i bëi server Charset §Æt d¹ng ng«n ng÷ sö dông cho client browser vµo phÇn cuèi cña ®o¹n ®Çu ContentType ™ Buffer • Buffer: n¬i l−u gi÷ t¹m thêi tr−íc khi chuyÓn cho tr×nh duyÖt • ChØ ra output cña trang cã ®−îc l−u trong buffer hay kh«ng • SÏ kh«ng cã sù göi l¹i cho tr×nh duyÖt cho ®Õn khi tÊt c¶ c¸c script ®−îc xö lý xong, hoÆc cã lêi gäi ph−¬ng thøc Flush hay End. Thuéc tÝnh nµy kh«ng thÓ thay ®æi khi server ®· göi th«ng tin cho tr×nh duyÖt vµ ph¶i ®−îc ®Æt ë dßng ®Çu tiªn trong file .asp VÝ dô: <% Response.Buffer = TRUE x=0 Do x = x+1 Response.Write x & "" Loop %> ™ Response.CacheControl Cã cho phÐp m¸y chñ proxy ®−îc cache output cña trang .asp hay kh«ng. M¸y chñ proxy dïng ®Ó ®Èy nhanh tèc ®é truy nhËp tíi trang Web nµo ®ã b»ng c¸ch l−u l¹i mét b¶n cña trang Web trong cache. • NÕu CacheControl ®−îc ®Æt lµ “Public”, th× cho phÐp cache. • NÕu CacheControl ®Æt lµ “Private”, th× kh«ng cho phÐp cache. VÝ dô: 98 ™ Charset: Response.Charset Thªm tªn cña tËp ký tù vµo trong header content-type MÆc ®Þnh lµ ISO-LATIN-1 VÝ dô: Trong vÝ dô nµy, nÕu header lµ: content-type: text/html Th× header sÏ trë thµnh: content-type: text/html; charset = MS_Kanji ™ ContentType : Response.ContentType ChØ ra kiÓu néi dung HTTP ®Ó tr¶ l¹i. MÆc ®Þnh lµ text/HTML VÝ dô: ™ Expires X¸c ®Þnh kho¶ng thêi gian tr−íc khi mét trang ®−îc cache hÕt h¹n VÝ dô: • Tr−êng hîp 1: bÊt kú khi nµo gäi tíi trang ®ã, nã lu«n lu«n ®−îc refresh. • Tr−êng hîp 2: NÕu trë l¹i trang ®ã tr−íc 15 phót, trang hiÓn thÞ sÏ lµ trang ë trong cache. ™ Response.ExpiresAbsolute X¸c ®Þnh ngµy vµ thêi gian chÝnh x¸c mét trang sÏ hÕt h¹n. VÝ dô: ™ Response.IsClientConnected • X¸c ®Þnh xem client ®· ngõng kÕt nèi víi server tõ Response.Write cuèi cïng. • Thuéc tÝnh nµy ®Æc biÖt cã ý nghÜa ®Ó server kh«ng ph¶i tiÕp tôc thùc hiÖn chuyÓn nh÷ng th«ng tin client kh«ng yªu cÇu. VÝ dô: <% 'Check to see if the client is connected. If Not Response.IsClientConnected Then 'Get the sessionid to send to the shutdown function. Shutdownid = Session.SessionID 'Perform shutdown processing. Shutdown(Shutdownid) End If %> 99 ™ Response.Status Dßng tr¹ng th¸i do server tr¶ l¹i VÝ dô: <% IPAddress = Request.ServerVariables("REMOTE_ADDR") If IPAddress "208.5.64.223" Then Response.Status = "403 Access Forbidden" Response.Write Response.Status Response.End End If %> You have accessed this page through the IP Address of 208.5.64.223. KÕt qu¶ sau sÏ ®−îc tr¶ vÒ nÕu ®Þa chØ IP trªn m¸y Client lµ 208.5.64.223: You have accessed this page through the IP Address of 208.5.64.223. Ng−îc l¹i nÕu ®Þa chØ IP cña Client kh«ng ph¶i lµ 208.5.64.223 th× kÕt qu¶ sau sÏ tr¶ vÒ: 403 Access Forbidden 4.6.4 §èi t−îng Server Cho phÐp truy nhËp tíi c¸c ph−¬ng thøc vµ thuéc tÝnh trªn m¸y chñ. TËp hîp Thuéc tÝnh Ph−¬ng thøc ScripTimeOut CreateObject HTMLEncode MapPath URLEncode Có ph¸p: Server.Thuéc tÝnh|Ph−¬ng thøc a. Thuéc tÝnh: ScriptTimeout: Server.ScriptTimeout thêi gian tèi ®a ®Ó trang script ch¹y trªn m¸y chñ. NÕu kh«ng ®Æt gi¸ trÞ cho thuéc tÝnh nµy th× gi¸ trÞ mÆc ®Þnh cña nã lµ 90 gi©y. NÕu script nhËp vµo mét vßng lÆp v« h¹n th× server sÏ kÕt thóc script ®ã ®Ó tr¸nh bÞ overload bëi viÖc ch¹y liªn tôc c¸c tiÕn tr×nh sinh ra. Thêi gian tr−íc khi script bÞ kÕt thóc ®−îc ®Þnh nghÜa bëi thuéc tÝnh nµy. Ta cã thÓ lÊy ®−îc gi¸ trÞ cña thuéc tÝnh ScriptTimeout b»ng c¸ch: 100 b. Ph−¬ng thøc Ph−¬ng thøc ý nghÜa CreateObject T¹o mét thÓ hiÖn cña ®èi t−îng cô thÓ trªn Server Execute Cho phÐp gọi trang ASP kh¸c trong một trang ASP GetLastError M« t¶ ®èi t−îng lçi ASP, chØ cã ý nghÜa tr−íc khi file asp göi néi dung tíi Client HTMLEncode G¾n mét ®o¹n m· HTML vµo mét x©u ®· ®−îc ®Þnh d¹ng. MapPath X¸c ®Þnh ®−êng dÉn vËt lý trªn m¸y chñ khi xÐt ®Õt ®−êng dÉn ¶o. Transfer Chuyển tíi trang ASP kh¸c tõ mét trang ASP. Th«ng tin tr¹ng th¸i hiÖn t¹i trong trang ®Çu tiªn sÏ ®−îc chuyÓn tíi trang thø hai URLEncode Cho phÐp g¾n mét ®o¹n m· URL ™ Server.CreateObject(ObjectID) T¹o mét thÓ hiÖn (instance) cña ®èi t−îng server (®èi t−îng activeX bÊt kú trªn server), sau ®ã cã thÓ sö dông c¸c ph−¬ng thøc vµ truy cËp tíi c¸c thuéc tÝnh cña ®èi t−îng ®ã. ObjectID lµ ®èi t−îng cÇn khëi t¹o. §o¹n m· sau dïng ®Ó kÕt nèi víi CSDL: ™ Server.Execute (Path) • Cho phÐp gäi trang ASP kh¸c trong mét trang ASP. Khi trang ®−îc gäi tíi hoµn thµnh c¸c c«ng viÖc cña nã, sÏ trë l¹i tiÕp tôc thùc hiÖn trang ASP gäi tíi nã. HiÖu qu¶ gièng nh− c¸c hµm, thñ tôc (subroutines). Ph−¬ng ph¸p cã hiÖu qu¶ t−¬ng tù include. • Ph−¬ng thøc Transfer chuyÓn tíi trang ASP kh¸c kh«ng quay l¹i trang ®· gäi tíi. • Tham sè Path chØ ®−êng dÉn t−¬ng ®èi hoÆc vËt lý, toµn bé x©u nµy ®−îc ®Æt trong dÊu nh¸y. VÝ dô: ----------CallingAsp.asp---------- How now cow? ----------CalledAsp.asp---------- <% Response.Write "pink" %> 101 KÕt qu¶: How now pink cow? ™ Server.GetLastError Tr¶ l¹i ®èi t−îng ASPError, ®èi t−îng này cã 9 thuéc tÝnh chØ ®äc cung cÊp th«ng tin chi tiÕt vÒ lçi. VÝ dô: <% Dim objErrorInfo Set objErrorInfo = Server.GetLastError Response.Write("ASPCode = " & objErrorInfo.ASPCode) Response.Write("ASPDescription = " & objErrorInfo.ASPDescription) Response.Write("Category = " & objErrorInfo.Category) Response.Write("Column = " & objErrorInfo.Column) Response.Write("Description = " & objErrorInfo.Description) Response.Write("File = " & objErrorInfo.File) Response.Write("Line = " & objErrorInfo.Line) Response.Write("Number = " & objErrorInfo.Number) Response.Write("Source = " & objErrorInfo.Source) %> ™ Server.HTMLEncode (String) Ph−¬ng thøc nµy cho phÐp m· ho¸ chuçi thµnh m· HTML ®èi víi x©u ASCII bÊt kỳ. VÝ dô, ®iÒu nµy cho phÐp hiÓn thÞ thÎ HTML mµ kh«ng xö lý nã nh− nh÷ng thÎ HTML thùc sù. VÝ dô: ") %> KÕt qu¶: The tag for a table is: <Table> KÕt qu¶ ë Browser: The tag for a table is: ™ Server.MapPath (Path) ¸nh x¹ ®−êng dÉn ¶o, hay t−¬ng ®èi tíi ®−êng dÉn vËt lý. Ph−¬ng thøc nµy kh«ng kiÓm tra sù tån t¹i thùc sù cña ®−êng dÉn. NÕu b¾t ®Çu b»ng dÊu / hoÆc \ -> ®−êng dÉn ¶o. Cßn kh«ng b¾t ®Çu b»ng ký tù ®ã -> ®−êng dÉn t−¬ng ®èi. VÝ dô: The path of this file is <% Response.Write Server.MapPath("test.asp")%> The path of the file1 is <% Response.Write Server.MapPath("\test.asp")%> The path of the file2 is <% Response.Write Server.MapPath("test\test.asp") %> 102 The path of the file3 is KÕt qu¶: The path of this file is C:\VANBANG2\ASP\Example\test.asp The path of the file1 is d:\inetpub\wwwroot\test.asp The path of the file2 is C:\VANBANG2\ASP\Example\test\test.asp The path of the file3 is d:\inetpub\wwwroot ™ Server.Transfer (Path) ChuyÓn tíi trang ASP kh¸c tõ mét trang ASP. Th«ng tin tr¹ng th¸i khëi t¹o trong trang ®Çu tiªn sÏ ®−îc chuyÓn tíi trang thø hai. VÝ dô: ----------CallingAsp.asp---------- <% Application("name") = "Application Maker" Application("publishdate") = "05/15/01" Application("author") = "DevGuru" Set Application("Obj1") = Server.CreateObject("ADODB.Connection") Server.Transfer("CalledAsp.asp") %> ----------CalledAsp.asp---------- <%; Response.Write "Output from CalledAsp.asp" For Each Item in Application.Contents If IsObject( Application.Contents(Item)) Then Response.Write Item & “is an object.” Else Response.Write Item & “=” & Application.Contents(Item) &“” End If Next %> KÕt qu¶: KÕt qu¶ tõ CalledAsp.asp name=Application Maker publishdate=05/15/01 author=DevGuru OBJ1 is an object. ™ Server.URLEncode(String) ChuyÓn x©u thµnh d¹ng m· ho¸ URL, ®Ó ®¶m b¶o hyperlink trong ASP ®ã ®−îc ®Þnh d¹ng ®óng ®¾n. 103 VÝ dô: KÕt qu¶: http%3A%2F%2Fwww%2Eissi%2Fnet 4.6.5 §èi t−îng Application Mét øng dông bao gåm c¸c file cã thÓ truy nhËp th«ng qua mét th− môc ¶o x¸c ®Þnh vµ c¸c th− môc con cña nã. §èi t−îng Application thÓ hiÖn toµn bé mét øng dông ASP. Chóng ta cã thÓ sö dông øng dông nµy ®Ó chia sÎ th«ng tin cho tÊt c¶ c¸c ng−êi dïng trong mét øng dông. §èi t−îng Application ®−îc b¾t ®Çu khi cã mét yªu cÇu ®Çu tiªn mét trang web bÊt kú tõ th− môc ¶o t¹i Web server vµ tån t¹i cho ®Õn khi Webserver ngõng ho¹t ®éng. a. TËp hîp: ™ Application.Contents(Key) Chøa danh s¸ch c¸c môc võa ®−îc khëi t¹o và ®−a vào ®èi t−îng Application. VÝ dô: <% Application("name") = "Application Maker" Application("publishdate") = "05/15/01" Application("author") = "DevGuru" Set Application("Obj1") = Server.CreateObject("ADODB.Connection") For Each Item in Application.Contents If IsObject( Application.Contents(Item)) Then Response.Write Item & " is an object." Else Response.Write Item & "=" & Application.Contents(Item) & "" End If Next %> KÕt qu¶: name=Application Maker publishdate=05/15/01 author=DevGuru OBJ1 is an object ™ Ph−¬ng thøc cña tËp hîp Contents: • Application.Contents.Remove (Name|Integer) Lo¹i bá môc nµo ®ã trong collection Application.Contents Name chØ ra tªn môc sÏ xãa, n»m trong cÆp dÊu nh¸y (“”). Integer chØ ra vÞ trÝ môc trong collection sÏ ®−îc xãa. Gi¸ trÞ nµy b¾t ®Çu tõ 1. VÝ dô: 104 <% Application("name") = "Application Maker" Application("publishdate") = "05/15/01" Application("author") = "DevGuru" Set Application("Obj1") = Server.CreateObject("ADODB.Connection") Application.Contents.Remove(1) Application.Contents.Remove("publishdate") For Each Item in Application.Contents If IsObject(Application.Contents(Item)) Then Response.Write Item & " is an object." Else Response.Write Item & "=" &Application.Contents(Item) & "" End If Next %> KÕt qu¶: author=DevGuru Obj1 is an object. • Application.Contents.RemoveAll Lo¹i bá tÊt c¶ c¸c môc trong collection Application.Contents . Thªm cÆp dÊu ngoÆc () ™ Application.StaticObjects(Key) Chøa tÊt c¶ c¸c môc ®ã ®−îc t¹o trong øng dông b»ng thÎ <OBJECT. ----------Global.asa------------- <OBJECT RUNAT=Server SCOPE=Application ID=MyInfo PROGID="MSWC.MyInfo"> <OBJECT RUNAT=Server SCOPE=Application ID=MyConnection PROGID="ADODB.Connection"> <OBJECT RUNAT=Server SCOPE=Application ID=MyADRot PROGID="MSWC.ADRotator"> -----------File.asp---------------- <% For Each Item In Application.StaticObjects Response.Write Item & "" Next %> 105 KÕt qu¶: MyInfo MyConnection MyADRot b. Sù kiÖn: øng víi hai ho¹t ®éng b¾t ®Çu vµ kÕt thóc mét ®èi t−îng Application ta cã hai sù kiÖn trong ®èi t−îng Application, ®ã lµ: Application_OnStart (khëi t¹o c¸c th«ng tin phôc vô cho mét øng dông khi øng dông b¾t ®Çu) vµ Application_OnEnd (®−îc kÝch ho¹t khi øng dông kÕt thóc) Có ph¸p cña sù kiÖn Application_OnStart: Sub Application_OnStart ' N¬i chÌn ®o¹n Script cÇn thiÕt cho viÖc khëi t¹o mét øng dông End Sub Sub Application_OnEnd ' N¬i chÌn ®o¹n Scipt cÇn thiÕt cho viÖc kÕt thóc mét øng dông End Sub Chó ý: Ph¶i khai b¸o ng«n ng÷ script ®−îc sö dông trong c¸c ®o¹n script sù kiÖn trong dßng ®Çu tiªn cña file global.asa - C¸c ®èi t−îng cña ASP trong phÇn nµy chØ cã SERVER vµ APPLICATION -------------------Global.asa-------------------------- Sub Application_OnEnd() End Sub Sub Application_OnStart() Application("NumSession") = 0 Application("NumVisited") = 0 Session.Timeout = 10 End Sub Sub Session_OnEnd() Application("NumSession") = Application("NumSession") – 1 End Sub Sub Session_OnStart() Application("NumSession") = Application("NumSession") + 1 Application("NumVisited") = Application("NumVisited") + 1 End Sub -------------------File1.asp---------------------------- Response.Write "You are " & Application("NumSession") & " of " & Application("NumVisited") & " users." 106 KÕt qu¶: You are 1 of 1 users. c. Ph−¬ng thøc: V× ®èi t−îng Application cã thÓ ®−îc chia sÎ th«ng tin gi÷a c¸c ng−êi dïng do ®ã ®Ó ®¶m b¶o nh÷ng ng−êi dïng ®ã kh«ng thÓ cïng mét lóc thay ®æi néi dung cña mét biÕn trong ®èi t−îng Application nã cã hai ph−¬ng thøc lµ Lock vµ Unlock. Ph−¬ng thøc ý nghÜa Lock Ph−¬ng thøc Lock ng¨n c¶n c¸c client kh¸c cïng mét lóc thay ®æi gi¸ trÞ cña mét biÕn do ®èi t−îng Application l−u tr÷ Unlock Ph−¬ng thøc Unlock cho phÐp c¸c client cã thÓ söa ®æi c¸c thuéc tÝnh cña ®èi t−îng Application . 4.6.6 §èi t−îng Session §èi t−îng Sesion ®−îc dïng ®Ó l−u tr÷ th«ng tin cÇn thiÕt cho mét phiªn lµm viÖc cña ng−êi dïng cô thÓ. C¸c biÕn l−u tr÷ trong ®èi t−îng Session kh«ng bÞ mÊt khi ng−êi dïng truy cËp c¸c trang Web kh¸c trong øng dông. Thay vµo ®ã c¸c biÕn nµy tån t¹i trong toµn bé phiªn lµm viÖc cña ng−êi dïng. Khi mét ng−êi dïng míi yªu cÇu mét trang Web tõ øng dông, Web server tù ®éng t¹o mét ®èi t−îng Session vµ server sÏ ph¸ huû ®èi t−îng Session khi phiªn lµm viÖc kÕt thóc hoÆc bÞ huû bá. Cã thÓ ®Æt thêi gian tån t¹i cho mét phiªn lµm viÖc tuy nhiªn gi¸ trÞ ngÇm ®Þnh cho mét phiªn lµm viÖc tån t¹i lµ 20 phót. a. TËp hîp: ™ Session.Contents(Key) Chøa danh s¸ch c¸c môc ®· khëi t¹o vµ thªm vµo b»ng ®èi t−îng session. Kh«ng ph¶i khëi t¹o b»ng thÎ VÝ dô: <% Session("name") = "Application Maker" Session("publishdate") = "05/01/99" Session("author") = "ISSI" Set Session("Obj1") = Server.CreateObject("ADODB.Connection") For Each Item in Session.Contents If IsObject( Session.Contents(Item)) Then Response.Write Item & " is an object." Else Response.Write Item & "=" & Session.Contents(Item) & "" End If Next %> KÕt qu¶: NAME=Application Maker 107 PUBLISHDATE=05/01/99 AUTHOR=ISSI OBJ1 is an object. ™ Session.StaticObjects(Key) Chøa danh s¸ch c¸c môc võa ®−îc khëi t¹o vµ ®−a vµo ®èi t−îng Session nhê sö dông thÎ HTML . VÝ dô: ----------Global.asa------------- <OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo"> <OBJECT RUNAT=Server SCOPE=Session ID=MyConnection PROGID="ADODB.Connection"> <OBJECT RUNAT=Server SCOPE=Session ID=MyADRot PROGID="MSWC.ADRotator"> -----------File.asp----------------- <% For Each Item In Session.StaticObjects Response.Write Item & "" Next %> KÕt qu¶: MyInfo MyConnection MyADRot b. Sù kiÖn: Còng nh− ®èi t−îng Application, ®èi t−îng Session cã hai sù kiÖn lµ Session_OnStart( ®−îc kÝch ho¹t khi mçi khi mét phiªn lµm viÖc b¾t ®Çu) vµ Session_OnEnd (®−îc kÝch ho¹t khi kÕt thóc mét phiªn lµm viÖc) Có ph¸p Sub Session_OnStart ' N¬i chÌn ®o¹n Script cÇn thiÕt cho viÖc khëi t¹o mét phiªn lµm viÖc End Sub Sub Session_OnEnd ' N¬i chÌn ®o¹n Script cÇn thiÕt khi mét phiªn lµm viÖc kÕt thóc End Sub 108 c. Thuéc tÝnh: Thuéc tÝnh ý nghÜa SessionID Tr¶ vÒ gi¸ trÞ nhËn biÕt duy nhÊt tõng phiªn lµm viÖc cña mét ng−êi sö dông Timeout Kho¶ng thêi gian ngÇm ®Þnh lµ 20’ cho sù tån t¹i cña mét phiªn lµm viÖc trong mét øng dông. M¸y chñ Web sÏ duy tr× th«ng tin phiªn lµm viÖc cña ng−êi sö dông mµ kh«ng ®−a ra yªu cÇu hay lµm míi l¹i mét trang. d. Ph−¬ng thøc: ™ Abandon: Huû bá mét ®èi t−îng Session vµ gi¶i phãng c¸c biÕn trong ®èi t−îng Session. ™ Session.Contents.Remove (Name|Integer) Dïng ®Ó xãa tÊt c¶ c¸c môc trong collection Session.Contents Cã 2 lùa chän tham sè Name hoÆc Integer • Name chØ tªn cña môc cÇn xãa • Integer lµ sè chØ vÞ trÝ (b¾t ®Çu tõ 0) cña môc cÇn xãa. ™ Session.Contents.RemoveAll Xãa tÊt c¶ c¸c môc trong session.contents VÝ dô: Chó ý: Cã thÓ l−u tr÷ c¸c gi¸ trÞ trong ®èi t−îng Session. Th«ng tin l−u tr÷ trong ®èi t−îng Session cã ph¹m vi phiªn lµm viÖc vµ cã thÓ sö dông ®−îc trong suèt mét phiªn lµm viÖc. 4.7 C©u hái vµ bµi tËp ch−¬ng 4 4.7.1 C©u hái «n tËp 1. ASP lµ viÕt t¾t cña côm tõ nµo? a. All Standard Pages b. Active Server Pages c. Active Standard Pages d. A Server Page 2. Néi dung cña ®o¹n script ASP ®−îc ®Þnh nghÜa bëi cÆp thÎ nµo d−íi ®©y? a. ... b. ... c. ... d. 3. IIS lµ g×? Nã ho¹t ®éng nh− thÕ nµo? 4. C¸c b−íc thiÕt lËp th− môc ¶o trong IIS. 5. C¸c lÖnh c¬ b¶n cña ASP. 4.7.2 Bµi tËp vÒ c¸c cÊu tróc ®iÒu khiÓn vµ vßng lÆp. 1. ViÕt ®o¹n m· ch−¬ng tr×nh ASP dïng cÊu tróc Select...Case ®Ó hiÓn thÞ ra mµn h×nh ngµy hiÖn hµnh trong tuÇn b»ng tiÕng ViÖt. 109 2. ViÕt ®o¹n m· ch−¬ng tr×nh ASP dïng vßng lÆp Do...Loop ®Ó viÕt ra mµn h×nh 10 dßng ch÷ “Hello world” cã kÝch th−íc t¨ng dÇn. 4.7.3 Bµi tËp vÒ c¸c ®èi t−îng. 1. ViÕt ra mµn h×nh c©u “Hello world” 2. ViÕt mét form lÊy ý kiÕn cña ng−êi sö dông vÒ trang web cña m×nh, råi hiÓn thÞ c¸c th«ng tin ng−êi sö dông ®iÒn vµo ra mµn h×nh. 3. ThiÕt kÕ vµ cµi ®Æt trang Web hiÓn thÞ m¸y tÝnh tay víi c¸c phÐp to¸n céng, trõ, nh©n, chia, lòy thõa, c¨n bËc hai, b×nh ph−¬ng, nghÞch ®¶o. 4. ViÕt mét ®o¹n code dïng ®Ó ®Õm sè lÇn truy cËp vµo mét trang Web. Sau ®ã nhóng vµo trang Web ®· lµm ë bµi 2. 5. ThiÕt kÕ vµ cµi ®Æt trang Web hiÓn thÞ lÞch (calendar). Trang Web ph¶i cho phÐp ng−êi dïng xem lÞch th¸ng cña mét n¨m nµo ®ã, xem lÞch cña c¸c th¸ng tr−íc vµ sau th¸ng hiÖn t¹i cña n¨m hiÖn t¹i. 6. ThiÕt kÕ vµ cµi ®Æt trang Web hiÓn thÞ hÖ thèng c©y th− môc cña m¸y chñ. 110 Ch−¬ng 5 KÕt nèi c¬ së d÷ liÖu trong lËp tr×nh Web ®éng víi ASP 5.1 Kh¸i niÖm vÒ ADO ActiveX Data Object lµ líp ®èi t−îng COM (Compenent Object Model) tËp trung vµo xö lý d÷ liÖu th«ng qua OLEDB cña Windows. ADO thiÕt kÕ cho môc ®Ých truy xuÊt d÷ liÖu tæng qu¸t kh«ng chØ dïng ®Ó truy xuÊt d÷ liÖu thuÇn tuý mµ cßn xö lý ®−îc c¶ d÷ liÖu file hay bÊt kú lo¹i d÷ liÖu nµo cã hç trî c¬ chÕ cho phÐp giao tiÕp th«ng qua OLEDB. M« h×nh kiÕn tróc cña ADO t−¬ng t¸c gi÷a øng dông vµ nguån d÷ liÖu: H×nh 5.1 M« h×nh kiÕn tróc cña ADO. 5.2 Tr×nh tiªu thô (consumer) vµ tr×nh cung cÊp (provider) Trong b−íc lËp tr×nh, ch−¬ng tr×nh viÕt ra chÝnh lµ tr×nh tiªu thô d÷ liÖu bëi nã cÇn truy xuÊt vµo c¸c nguån d÷ liÖu ®Ó xö lý. Cßn tr×nh cung cÊp lµ tËp lÖnh cho phÐp truy xuÊt vµo nguån d÷ liÖu theo c¸ch ®Æc tr−ng cña chóng. Provider cho phÐp giao tiÕp gi÷a nguån d÷ liÖu vµ tÇng ®iÒu khiÓn OLEDB. Vµ ADO chØ trao ®æi víi nguån d÷ liÖu th«ng qua OLEDB mµ kh«ng cÇn quan t©m tíi c¸ch thøc lµm viÖc cña Provider. §Ó gióp OLEDB biÕt ®−îc Provider nµo cÇn ph¶i giao tiÕp, khi më kÕt nèi ADO cÇn chØ ®Þnh tr×nh cung cÊp d÷ liÖu Provider t−¬ng øng. Microsoft cung cÊp s½n mét sè Provider cho phÐp truy xuÊt dÔ dµng vµo c¸c nguån d÷ liÖu ®ang th«ng dông nh−: • Jet OLEDB 4.0 – C¬ së d÷ liÖu Access • DTS Packages – DÞch vô chuyÓn ®æi d÷ liÖu trong SQL Server • ODBC Driver – Provider ch phÐp truy xuÊt nguån d÷ liÖu th«ng qua ODBC • SQL Server – C¬ së d÷ liÖu SQL Server • Oracle – C¬ së d÷ liÖu Oracle • Simple Provider – C¬ së d÷ liÖu d¹ng Text VC++ VB Script Java OLEDB Data Store E-mail CSDL File ADO Application 111 5.3 M« h×nh ®èi t−îng ADO 5.3.1 §èi t−îng kÕt nèi (Connection) Cho phÐp thùc hiÖn viÖc më kÕt nèi ®Õn nguån d÷ liÖu cÇn truy xuÊt. Th«ng qua Connection chØ cÇn chØ ®Þnh tr×nh cung cÊp OLEDB Provider sÏ dïng ®Ó tiÕp cËn d÷ liÖu. C¸c th«ng tin kÕt nèi bæ sung kh¸c nh− username, password, server name,.. th−êng ®−îc l−u vµo mét chuçi gäi lµ chuçi kÕt nèi (Connection String). Chó ý: Cã thÓ kÕt nèi vµ truy xuÊt vµo nguån d÷ liÖu mµ kh«ng b¾t buéc ph¶i dïng ®èi t−îng Connection. C¸ ®èi t−îng kh¸c nh− Command, RecordSet, Record,... còng cho phÐp më trùc tiÕp kÕt nèi. Tuy nhiªn sö dông ®èi t−îng Connection sÏ cho phÐp b¹n t¸ch biÖt thao t¸c kÕt nèi vµ thao t¸c truy cËp c¬ së d÷ liÖu. H¬n n÷a ®èi t−îng Connection cßn cung cÊp thªm mét sè chøc n¨ng chuyªn dông kh¸c nh− cho phÐp thùc thi c©u lÖnh SQL t¸c ®éng vµo d÷ liÖu nh− Insert, Update, Delete, gäi thñ tôc Procedure Store,... hoÆc kiÓm so¸t giao t¸c transaction nh− Rollback, commit. 5.3.2 §èi t−îng Command: §èi t−îng nµy dïng cho môc ®Ých thùc thi c©u lÖnh tèt h¬n Connection. Cho phÐp b¹n chuyÓn tham sè vµo c¸c lÖnh thùc thi SQL. Tham sè cã thÓ chØ ®Þnh kiÓu hoÆc gi¸ trÞ t−êng minh. C¸c tham sè cã thÓ nhËn trÞ tr¶ vÒ sau khi thùc thi..Command cã thÓ dïng cho c¶ 2 môc ®Ých: thùc thi c©u lÖnh SQL kh«ng cÇn nhËn kÕt qu¶ tr¶ vÒ nh− Insert, Update, Delete, Procedure Store, hoÆc thùc thi c¸c lÖnh tr¶ vÒ tËp RecordSet nh− lÖnh Select. 5.3.3 §èi t−îng RecordSet: Lµ ®èi t−îng sö dông th−êng xuyªn trong ADO. Cung cÊp kÕt qu¶ tr¶ vÒ tõ c©u lÖnh truy vÊn mét tËp c¸c b¶n ghi. Trang ASP cã thÓ dïng vßng lÆp ®Ó duyÖt qua c¸c b¶n ghi nµy vµ hiÓn thÞ d÷ liÖu kÕt xuÊt ra trang Web phÝa tr×nh duyÖt. Ngoµi ra RecordSet cßn cho phÐp thùc hiÖn läc d÷ liÖu tõ tËp c¸c b¶n ghi, truy xuÊt ®Õn tong tr−êng cô thÓ cña b¶n ghi th«ng qua ®èi t−îng Field hoÆc danh s¸ch c¸c tr−êng trong b¶n ghi th«ng qua ®èi t−îng Fields 5.4 KÕt nèi víi nguån d÷ liÖu Chuçi kÕt nèi ®−îc dïng ®Ó cung cÊp th«ng tin cho ®èi t−îng Connection biÕt ®Æc ®iÓm cña c¬ së hay nguån d÷ liÖu mµ ADO cÇn truy xuÊt. 5.4.1 T¹o mét ODBC DSN Tr−íc khi t¹o c¸c Script truy xuÊt c¬ së d÷ liÖu (CSDL), ta cÇn chØ dÉn cho ADO x¸c ®Þnh nguån d÷ liÖu cÇn truy xuÊt vµ c¸ch thøc liªn kÕt CSDL. Phæ biÕn vµ ®¬n gi¶n nhÊt ®ã lµ sö dông tªn nguån d÷ liÖu (Data Source Name-DSN) ®Ó ®Þnh vÞ vµ cÊu h×nh nguån d÷ liÖu t−ong thÝch chuÈn ODBC. Víi ODBC b¹n cã thÓ lùa chän c¸c kiÓu DNS ®Ó t¹o, ®ã lµ: User, System hoÆc File. C¸c DNS User vµ System th−êng tró trong registry cña hÖ ®iÒu hµnh WindowsNT. System DNS cho phÐp tÊt c¶ ng−êi sö dông truy nhËp vµo Server ®ã ®Òu cã thÓ truy xuÊt mét CSDL, trong khi ®ã User DNS h¹n chÕ ®èi víi mçi ng−êi sö dông ®¨ng nhËp vµo Server; File DSN sÏ l−u th«ng tin d−íi d¹ng file cho phÐp nhiÒu ng−êi sö dông truy xuÊt CSDL vµ dÔ dµng chuyÓn tõ Server nµy sang Server kh¸c chØ b»ng viÖc copy c¸c tÖp DSN. Chóng ta cã thÓ t¹o ra DSN b»ng c¸ch: • Vµo trong Start\Control Panel, click chuét vµo biÓu t−îng ODBC, chän 112 mét d¹ng DSN. • Click Add, chän mét tr×nh ®iÒu khiÓn d÷ liÖu(.MDB, SQL) • Theo c¸c chØ dÉn trªn mµn h×nh ®Ó cÊu h×nh DSN cho CSDL Sau ®©y lµ mét sè kÕt nèi ®Õn c¸c lo¹i CSDL th«ng dông: 5.4.2 C¬ së d÷ liÖu MS Access connStr=“Provider=Microsoft.JetOLEDB.4.0; Data Source = C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB; Persist Security Info=False” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr 5.4.3 C¬ së d÷ liÖu MS Access th«ng qua tr×nh ®iÒu khiÓn ODBC connStr=“Driver=Microsoft Access Driver (*.mdb); DBQ=C:\ Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr 5.4.4 C¬ së d÷ liÖu MS SQL Server connStr=“Provider=SQLOLEDB.1;Persist Security Info=False; User ID=sa;Initial Catalog=AdvWorks;Data Source=localhost” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr NÕu nguån d÷ liÖu hç trî OLEDB ta cã thÓ sö dông ADO th«ng qua ODBC theo c¸ch tæng qu¸t: connStr="Provider=MSDASQL.1;Persist Security Info=False; Data Source=Test" set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr Trong ®ã Test lµ DataSource thiÕt lËp trong System DNS cña ODBC 5.5 Sö dông ®èi t−îng RecordSet 5.5.1 T¹o RecordSet: set rs=Server.CreateObject(“ADODB.RecordSet”) §Ó trÝch rót d÷ liÖu tõ mét hoÆc nhiÒu b¶ng nµo ®ã trong c¬ së d÷ liÖu, ta th−êng kÕt hîp ®èi t−îng Connection vµo c©u lÖnh SQL Select trong ph−¬ng thøc Open cña RecordSet: rs.open SQLCommand, Conn 5.5.2 DuyÖt qua c¸c b¶n ghi vµ truy xuÊt c¸c tr−êng cña b¶n ghi: Do While not rs.eof Rs.fields](“field_name”) rs.movenext : di chuyÓn con trá cña RecordSet ®Õn b¶n ghi kÕ tiÕp loop rs.close 113 C¸c c¸ch truy cËp hîp lÖ vµ t−¬ng ®−¬ng: Rs(“field_name”) Rs.fields(“field_name”) Rs.fields(“field_name”).value Rs(1).value Rs.fields(1).Value NÕu muèn duyÖt qua tÊt c¶ c¸c tr−êng trong b¶n ghi cã thÓ dïng lÖnh: For each Fld in rs.fields Response.write fld.name + “:” + fld.value + “” Next 5.5.3 Läc qua c¸c b¶n ghi trong RecordSet Cã thÓ sö dông mÖnh ®Ò Where cña c©u lÖnh Select hoÆc cã thÓ sö dông thuéc tÝnh Filter cña RecordSet ®Ó chØ ®Þnh ®iÒu kiÖn läc sau khi ®· trÝch xuÊt d÷ liÖu. VÝ dô: sqlStr=”Select * from Products” rs.open sqlStr,conn rs.filter= “ productCode=‘” & SpecialCode & “’” Thuéc tÝnh Filter cho phÐp sö dông mÖnh ®Ò läc gÇn gièng víi mÖnh ®Ò Where 5.5.4 Ph©n trang víi ®èi t−îng RecordSet: §èi t−îng RecordSet cung cÊp 3 thuéc tÝnh quan träng sau ®Ó sö dông ph©n trang: PageSize: KÝch th−íc b¶n ghi trong mét trang PageCount: Tæng sè trang RecordSet truy vÊn ®−îc AbsolutePage: ChØ ®Þnh trang hiÖn hµnh ®ang cÇn ®−îc ®äc §Ó RecordSet cã kh¶ n¨ng ph©n trang, cÇn thiÕt lËp thªm tham sè cho RecordSet tr−íc khi thùc hiÖn truy vÊn: Rs.CursorLocation=3 ‘ Cã thÓ sö dông h»ng adUseClient Rs.PageSize=15 ‘ 15 b¶n ghi trong mét trang TiÕt theo më ®èi t−îng RecordSet truy vÊn d÷ liÖu víi tuú chän lµ c¸c h»ng adOpenForwardOnly(0), adLockReadOnly (1) truy cho ph−¬ng thøc Open nh− sau: Rs.open sqlStr, Conn, 0,1 C«ng viÖc sau cïng lµ ®Þnh vÞ trang th«ng qua thuéc tÝnh AbsolutePage. Ta l−u l¹i vÞ trÝ hiÖn hµnh cña trang d÷ liÖu th«ng qua gi¸ trÞ chøa trong thÎ <input hidden>. Gi¸ trÞ nµy sÏ ®−îc chuyÓn vÒ tr×nh chñ mçi khi ng−êi dïng kÝch vµo. XÐt vÝ dô sau: <%sqlStr="SELECT * FROM Products " ' page navigate session here ........... Dim lCurrentPage Dim lPageCount lCurrentPage = CLng(Request("page")) If lCurrentPage < 1 Then 114 lCurrentPage = 1 End If rs.CursorLocation = 3 rs.PageSize = 15 rs.Open sqlStr, conn, 0, 1 'Const adOpenForwardOnly=0, adLockReadOnly = 1 lPageCount = rs.PageCount If lCurrentPage > lPageCount Then lCurrentPage = lPageCount End If if not rs.eof then rs.AbsolutePage = lCurrentPage end if call ShowPageNavigation(lCurrentPage,lPageCount) Do While rs.AbsolutePage = lCurrentPage And Not rs.Eof Response.write rs("ProductName") rs.movenext loop %> <% Sub ShowPageNavigation (lCurrentPage,lPageCount) If lCurrentPage 1 AND lCurrentPage 0 Then %> '); ">Previous Previous '); ">Next Next Page function setValue(page){ 115 viewFrm.page.value= page; viewFrm.submit(); } 5.6 HiÖu chØnh c¸c b¶n ghi 5.6.1 HiÖu chØnh c¸c b¶n ghi dùa vµo RecordSet: Thªm míi b¶n ghi: §Ó thªm míi vµo b¶ng d÷ liÖu qu¶n lý bëi ph−¬ng thøc RecordSet sö dông ph−¬ng thøc AddNew sqlStr=”Select * From Accounts” rs.open sqlStr,Conn ‘ Thªm tμi kho¶n míi vμo b¶ng Accounts rs.Addnew ‘g¸n gi¸ trÞ cho b¶n ghi with rs .fields(“username”)= ‘New User’ .fields(“password”)=’***’ end with ‘l−u l¹i rs.update ‘ChØnh söa néi dung trong b¶n ghi hiÖn hμnh: sqlStr=”Select * From Accounts” rs.open sqlStr,Conn with rs .fields(“password”)=’newpassword’ end with ‘l−u l¹i rs.update ‘Xo¸ b¶n ghi hiÖn hμnh: sqlStr=”Select * From Accounts where username= ‘” &mkuser &”’” rs.open sqlStr,Conn rs.delete 5.6.2 HiÖu chØnh c¸c b¶n ghi b»ng c©u lÖnh SQL víi ®èi t−îng connection sqlStr=”delete * from Accounts where username= ‘” &mkuser &”’” Conn.execute sqlStr 5.7 Sö dông ®èi t−îng Command 5.7.1 T¹o ®èi t−îng Command: set cmdUpdate=Server.CreateObject(“ADODB.Command”) 5.7.2 Sö dông ®èi t−îng Command: sqlUpdate=“update accounts set password = ‘abc’ where username=”‘” & username & “’” 116 cmdUpdate.ActiveConnection=strConn cmdUpdate.CommandText=strUpdate cmdUpdate.CommandType=adcmdText cmdUpdate.Execute §èi t−îng Command còng ®−îc dïng ®Ó nhËn kÕt qu¶ tr¶ vÒ tõ c©u lÖnh Select hoÆc tõ mét tªn b¶ng d÷ liÖu, vÝ dô ®Ó lÊy toµn bé néi dung b¶ng d÷ liÖu Accounts, ta chØ cÇn chØ ra tªn b¶ng vµ më RecordSet dùa vµo ®èi t−îng Command: cmdTable.ActiveConnection=strConn cmdTable.CommandText=”Accounts” cmdTable.CommandType=adCmdTable rs.open cmdTable 5.8 Bµi tËp ch−¬ng 5 Bµi 1: Chän chñ ®Ò ®Ó thiÕt kÕ website 1. Website vÒ dÞch vô viÖc lµm. 2. Website vÒ dÞch vô nhµ ®Êt ( 3. Website b¸o ®iÖn tö ( ) 4. Website tr−êng häc. 5. Website dÞch vô gi¶i trÝ nh− ECards, §iÖn hoa, ... Bµi 2: X©y dùng m« h×nh øng dông b¸n hµng qua m¹ng, dùa trªn c¬ së d÷ liÖu, qua ®ã vËn dông c¸c ®èi t−îng cña ADODB ®Ó cã thÓ kÕt nèi víi c¬ së dù liÖu sao cho cã thÓ thÓ hiÖn vµ cung cÊp ®−îc th«ng tin cho kh¸ch hµng. Chñ yÕu giíi thiÖu c¸ch thøc thiÕt kÕ mét øng dông Web cã c¸c chøc n¨ng sau: • Xem th«ng tin chi tiÕt cña mét mÆt hµng. • Lùa chän hµng, thªm vµo, bít ra khái giá hµng. • TÝnh tiÒn. Bµi 3: Bµi tËp tæng hîp, thiÕt kÕ mét sè Web site theo mÉu: 1. ThiÕt kÕ website theo mÉu sau ( 117 2. ThiÕt kÕ website theo mÉu sau ( 3. ThiÕt kÕ website theo mÉu sau ( 118 4. ThiÕt kÕ website theo mÉu sau ( 5. ThiÕt kÕ website theo mÉu sau ( 119 Tμi liÖu tham kh¶o 1. §ç mai h−¬ng: X©y dùng Web ®éng dùa trªn c«ng nghÖ ASP Häc viÖn kü thuËt qu©n sù - 2000. 2. nguyÔn ph−¬ng lan: ASP 3.0/ASP.NET Nhµ xuÊt b¶n Lao ®éng x· héi - 2003. 3. ph¹m phó tµi: Javascript Mediaspace Club Ên hµnh néi bé - 2003. 4. nguyÔn thÞ thanh tróc: Gi¸o tr×nh thiÕt kÕ vµ lËp tr×nh Web víi ASP §¹i häc quèc gia Tp HCM - 2003. 5. nguyÔn h÷u tuÊn: Gi¸o tr×nh thiÕt kÕ Web §¹i häc quèc gia Hµ Néi - 2001. 6. Gi¸o tr×nh x©y dùng vµ qu¶n trÞ Website Trung t©m ®iÖn to¸n vµ truyÒn sè liÖu Khu vùc I - 2003. 7. Nhãm t¸c gi¶ ELICOM: X©y dùng Web ®éng víi ASP Nhµ xuÊt b¶n Thèng kª - 2000. 8. MICHAEL CORNING: Working with Active Server Page Que Corporation - 1997. 9. Learning VBScript XtraNet Communications INC, - 2000 120 Môc lôc Lêi nãi ®Çu ..........................................................................................................................1 Ch−¬ng 1 Giíi thiÖu chung.....................................................................................2 1.1 M¹ng m¸y tÝnh .............................................................................................................2 1.1.1 §Þnh nghÜa..................................................................................................................2 1.1.2 Ph©n lo¹i ....................................................................................................................2 1.2 Internet..........................................................................................................................3 1.3 C¸c giao thøc Internet .................................................................................................4 1.3.1 Giao thøc ®iÒu khiÓn phiªn truyÒn............................................................................4 1.3.2 Giao thøc Internet......................................................................................................4 1.3.3 Giao thøc gam d÷ liÖu ng−êi dïng............................................................................5 1.3.4 Giao thøc ph©n gi¶i ®Þa chØ .......................................................................................5 1.3.5 Giao thøc hÖ thèng tªn miÒn .....................................................................................5 1.3.6 Giao thøc chuyÓn th− ®¬n gi¶n .................................................................................6 1.3.7 Giao thøc truyÒn tËp tin.............................................................................................6 1.3.8 HTTP - HyperText Transfer Protocol.......................................................................6 1.4 §Þa chØ IP ......................................................................................................................6 1.5 C¸c kh¸i niÖm kh¸c......................................................................................................7 1.5.1 URL.............................................................................................................................7 1.5.2 Hyperlink (siªu liªn kÕt) ............................................................................................7 1.5.3 Web Browser (tr×nh duyÖt web) .................................................................................8 1.5.4 Web Server (m¸y chñ Web) .......................................................................................8 1.5.5 Web Site ......................................................................................................................9 1.5.6 World Wide Web.........................................................................................................9 1.5.7 Ph©n biÖt Inetrnet vµ WWW......................................................................................9 1.5.8 Web page ....................................................................................................................9 1.6 C¸ch thøc tæ chøc vµ x©y dùng mét Web Site...........................................................9 1.7 Ph©n lo¹i Web ............................................................................................................10 1.7.1 Static pages (Web tÜnh ):..........................................................................................10 1.7.2 Form pages (MÉu biÓu): ..........................................................................................10 1.7.3 Dynamic Web (Web ®éng) ......................................................................................10 1.8 C©u hái vµ bµi tËp ch−¬ng 1......................................................................................10 Ch−¬ng 2 LËp tr×nh Web víi ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n ......11 2.1 Kh¸i niÖm ng«n ng÷ HTML .....................................................................................11 2.2 LËp tr×nh web víi ng«n ng÷ HTML.........................................................................11 2.2.1 C¸c thÎ ®Þnh d¹ng cÊu tróc cña HTML..................................................................11 2.2.2 C¸c thÎ ®Þnh d¹ng khèi............................................................................................13 2.2.3 C¸c thÎ ®Þnh d¹ng danh s¸ch ..................................................................................14 2.2.4 C¸c thÎ ®Þnh d¹ng ký tù ...........................................................................................15 2.2.5 C¸c thÎ chÌn ©m thanh, h×nh ¶nh...........................................................................21 2.2.6 ChÌn b¶ng ................................................................................................................25 2.2.7 Sö dông Khung – Frame .........................................................................................26 2.2.8 FORMS.....................................................................................................................30 2.3 DHTML (Dynamic HTML) ......................................................................................33 2.3.1 §Þnh nghÜa: ..............................................................................................................33 2.3.2 §Æc ®iÓm...................................................................................................................33 121 2.3.3 Mét sè hiÖu øng DHTML ........................................................................................34 2.4 C©u hái vµ bµi tËp ch−¬ng 2......................................................................................35 Ch−¬ng 3 Ng«n ng÷ kÞch b¶n trong lËp tr×nh Web..............................37 3.1 JavaScript ...................................................................................................................37 3.1.1 Tæng quan ................................................................................................................37 3.1.2 Sö dông JavaScript ..................................................................................................39 3.1.3 C¸c kiÓu d÷ liÖu trong JavaScript:..........................................................................43 3.1.4 T¹o biÕn trong JavaScript: ......................................................................................43 3.1.5 Lµm viÖc víi biÕn vµ biÓu thøc:...............................................................................44 3.1.6 CÊu tróc ®iÒu kiÖn if – else ......................................................................................46 3.1.7 Hµm vµ dèi t−îng.....................................................................................................49 3.1.8 T¹o ®èi t−îng trong JavaScript ...............................................................................52 3.1.9 Sù kiÖn trong JavaScript .........................................................................................57 3.1.10 Sö dông vßng lÆp trong JavaScript .......................................................................61 3.1.11 Sö dông ®èi t−îng Windows..................................................................................62 3.1.12 Lµm viÖc víi status bar ..........................................................................................64 3.1.13 Më vµ ®ãng c¸c cöa sæ...........................................................................................64 3.1.14 Sö dông ®èi t−îng string .......................................................................................66 3.2 VBScript......................................................................................................................66 3.2.1 VBScript lµ g×? .........................................................................................................66 3.2.2 BiÕn vµ ph¹m vi biÕn................................................................................................66 3.2.3 C¸c kiÓu d÷ liÖu........................................................................................................68 3.3 C©u hái vµ bµi tËp ch−¬ng 3......................................................................................75 3.3.1 C©u hái «n tËp ..........................................................................................................75 3.3.2 Bµi tËp lËp tr×nh víi c¸c ng«n ng÷ kÞch b¶n ..........................................................75 Ch−¬ng 4 LËp tr×nh Web ®éng víi c«ng nghÖ ASP .................................76 4.1 Mét sè kh¸i niÖm c¬ b¶n vÒ ASP ..............................................................................76 4.1.1 Kh¸i niÖm Web ®éng................................................................................................76 4.1.2 ASP lµ g×? .................................................................................................................76 4.1.3 Scripting? .................................................................................................................77 4.1.4 T¹o vµ xem mét file ASP .........................................................................................78 4.1.5 Server-side Includes: ...............................................................................................81 4.2 ¦u ®iÓm cña viÖc sö dông ASP t¹o Web ®éng ........................................................82 4.2.1 §¬n gi¶n, dÔ häc vµ hiÖu qu¶:.................................................................................82 4.2.2 B¶o mËt ®−îc m∙: ....................................................................................................82 4.2.3 B¶o tr× dÔ dµng:........................................................................................................82 4.3 Cµi ®Æt IIS vµ t¹o th− môc ¶o cho øng dông...........................................................83 4.3.1 1. Cµi ®Æt IIS ............................................................................................................83 4.3.2 T¹o th− môc ¶o: .......................................................................................................83 4.4 CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP .............................................................85 4.4.1 C¸c thµnh phÇn ®−îc dïng trong trang ASP .........................................................85 4.4.2 BiÕn trong ASP.........................................................................................................85 4.4.3 C¸c lÖnh c¬ b¶n cña ASP ........................................................................................85 4.4.4 Vßng lÆp For: ...........................................................................................................87 4.4.5 C©u lÖnh lÆp kh«ng x¸c ®Þnh: .................................................................................87 4.5 X©y dùng c¸c hµm vµ thñ tôc trong ASP: ...............................................................87 4.6 Sö dông c¸c ®èi t−îng cña ASP ®Ó trao ®æi th«ng tin gi÷a Client vµ Server.......88 122 4.6.1 Giíi thiÖu c¸c ®èi t−îng chÝnh cña ASP: ...............................................................88 4.6.2 §èi t−îng Request....................................................................................................89 4.6.3 §èi t−îng Response .................................................................................................94 4.6.4 §èi t−îng Server ......................................................................................................99 4.6.5 §èi t−îng Application............................................................................................103 4.6.6 §èi t−îng Session ..................................................................................................106 4.7 C©u hái vµ bµi tËp ch−¬ng 4....................................................................................108 4.7.1 C©u hái «n tËp ........................................................................................................108 4.7.2 Bµi tËp vÒ c¸c cÊu tróc ®iÒu khiÓn vµ vßng lÆp. ...................................................108 4.7.3Bµi tËp vÒ c¸c ®èi t−îng..........................................................................................109 Ch−¬ng 5 KÕt nèi cSDL trong lËp tr×nh Web ®éng víi ASP............110 5.1 Kh¸i niÖm vÒ ADO...................................................................................................110 5.2 Tr×nh tiªu thô (consumer) vµ tr×nh cung cÊp (provider) .....................................110 5.3 M« h×nh ®èi t−îng ADO..........................................................................................111 5.3.1 §èi t−îng kÕt nèi (Connection).............................................................................111 5.3.2 §èi t−îng Command: ............................................................................................111 5.3.3 §èi t−îng RecordSet:.............................................................................................111 5.4 KÕt nèi víi nguån d÷ liÖu ........................................................................................111 5.4.1 T¹o mét ODBC DSN..............................................................................................111 5.4.2 C¬ së d÷ liÖu MS Access ........................................................................................112 5.4.3 C¬ së d÷ liÖu MS Access th«ng qua tr×nh ®iÒu khiÓn ODBC ..............................112 5.4.4 C¬ së d÷ liÖu MS SQL Server................................................................................112 5.5 Sö dông ®èi t−îng RecordSet .................................................................................112 5.5.1 T¹o RecordSet:.......................................................................................................112 5.5.2 DuyÖt qua c¸c b¶n ghi vµ truy xuÊt c¸c tr−êng cña b¶n ghi:..............................112 5.5.3 Läc qua c¸c b¶n ghi trong RecordSet ...................................................................113 5.5.4 Ph©n trang víi ®èi t−îng RecordSet:....................................................................113 5.6 HiÖu chØnh c¸c b¶n ghi ............................................................................................115 5.6.1 HiÖu chØnh c¸c b¶n ghi dùa vµo RecordSet: ........................................................115 5.6.2 HiÖu chØnh c¸c b¶n ghi b»ng c©u lÖnh SQL víi ®èi t−îng connection ..............115 5.7 Sö dông ®èi t−îng Command .................................................................................115 5.7.1 T¹o ®èi t−îng Command:......................................................................................115 5.7.2 Sö dông ®èi t−îng Command: ..............................................................................115 5.8 C©u hái vµ bµi tËp ch−¬ng 5....................................................................................116 Tµi liÖu tham kh¶o .........................................................................................................119 Môc lôc............................................................................................................................120

Các file đính kèm theo tài liệu này:

  • pdfDCTKWeb.pdf
Tài liệu liên quan