Đề tài Xây dựng website giải trí

Microsoft Active Server Pages là một môi trường hỗ trợ cho các Script chạy 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, text 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 qủa.

- ASP hoạt động dựa vào các Script do người lập trình tạo ra. 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.

 

doc82 trang | Chia sẻ: luyenbuizn | Lượt xem: 1139 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Đề tài Xây dựng website giải trí, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Phaàn I: Tìm hieåu veà Coâng ngheä xaây döïng Website Hieän nay coù raát nhieàu coâng ngheä ñeå xaây döïng neân nhöõng Website nhö laø JSP (Java Server Page), ASP (Active Server Page) … ÔÛ ñaây, chuùng ta chæ tìm hieåu veà ASP laø coâng cuï ñöôïc söû duïng ñeå xaây döïng Website naøy. Chöông I: Giôùi thieäu veà ASP (ACTIVE SERVER PAGES) 1) Tìm hieåu coâng ngheä ASP a. ASP laø gì : - Microsoft Active Server Pages laø moät moâi tröôøng hoã trôï cho caùc Script chaïy treân Server (Server-Side Scripting) cho pheùp taïo hoaëc xaây döïng caùc öùng duïng Web maïnh chöùa caùc theû HTML, text vaø caùc leänh Script hay caùc öùng duïng Web ñoäng, giao tieáp giöõa Client vaø Server moät caùch hieäu quûa. - ASP hoaït ñoäng döïa vaøo caùc Script do ngöôøi laäp trình taïo ra. Caùc trang ASP coù theå goïi caùc thaønh phaàn ActiveX ñeå thöïc hieän caùc coâng vieäc nhö keát noái vôùi vôùi moät Database hoaëc thöïc hieän moät tính toaùn kinh doanh. Vôùi ASP, baïn coù theå ñöa noäi dung töông taùc vôùi caùc trang Web cuûa baïn hoaëc xaây döïng toaøn boä caùc öùng duïng Web söû duïng caùc trang HTML nhö giao tieáp vôùi khaùch haøng cuûa baïn. b. Trang ASP: Moãi trang .asp coù theå bao goàm moät trong caùc thaønh phaàn sau: HTML, Script cuûa ngoân ngöõ VBScript hoaëc JScript, Text trong ñoù caùc tag HTML vaø Text seõ ñöôïc xöû lyù bình thöôøng nhö ñoái vôùi caùc vaên baûn HTML (.html) thoâng thöôøng, caùc Script seõ ñöôïc moät boä phaän (engine) cuûa ASP thoâng dòch vaø thi haønh treân Server. Coù theå xem trang ASP nhö moät trang HTML coù boå sung caùc ASP Script Command. c. Quaù trình bieân dòch moät trang asp : Caùc Script cuûa ASP ñöôïc chöùa trong caùc text file coù phaàn môû roäng laø .asp. Script thöôøng ñöôïc vieát baèng moät ngoân ngöõ VBScript hay JavaScript. Khi moät Web browser göûi yeâu tôùi moät trang .asp. Khi ñoù Web server seõ ñoïc vaø tieán haønh bieân dòch caùc leänh script trong ñoù vaø traû keát quaû veà cho Web browser döôùi daïng cuûa moät trang HTML. d. Tính chaát cuûa asp : - ASP coù tính chaát ñoäng: ta coù theå cheøn moät ñoaïn Script vaøo baát kyø nôi naøo trong trang HTML, ñaây laø ñaêc tính quan troïng nhaát vaø laø coát loõi cuûa coâng ngheä ASP, chính ñieàu naøy ñaõ mang laïi raát nhieàu ñieàu thuù vò maø trong HTML khoâng coù. - ASP coù tính höôùng ñoái töôïng: vôùi caùc build-in Object raát tieän duïng : Request, Response, Server, Apllication, Session, … - Coù khaû naêng môû roäng caùc thaønh phaàn ActiveX Server (ActiveX Server Components). - Caùc öùng duïng ASP deã taïo vì duøng caùc ASP Script ñeå vieát caùc öùng duïng. Khi taïo caùc Script cuûa ASP ta coù theå duøng baát kyø moät ngoân ngöõ Script naøo, chæ caàn coù scripting engine töông öùng cuûa ngoân ngöõ ñoù. - Vieäc cheøn caùc Script vaøo file HTML laøm cho quaù trình xöû lyù taïo ra vaên baûn HTML (Dynamic Pages) ñoàng thôøi vôùi vieäc xöû lyù caùc Script, ñieàu baøy seõ laøm cho hoaït ñoäng cuûa trang Web seõ trôû neân linh ñoäng hôn, uyeån chuyeån hôn. - Caùc file .asp cuõng töông thích vôùi file HTML, vaø vieäc vieát caùc Script ñôn giaûn, khoâng phaûi bieân dòch hay lieân keát nhö vieäc laäp trình thoâng thöôøng, ASP cung caáp caùc ñoái töôïng tieän lôïi cho nhieàu thao taùc nhö: Request, Response, Server, Apllication, Session. Caùc ñoái töôïng coù saün naøy cuûa moâi tröôøng ASP seõ giuùp cho vieäc giao tieáp döõ lieäu giöõa Client vaø Server thöïc söï tieän lôïi, cuõng nhö vieäc quaûn lyù öùng duïng moät caùch linh hoaït nhôø vaøo caùc bieán Session, Application. e. Öu ñieåm vaø khuyeát ñieåm cuûa ASP Öu ñieåm : ASP boå sung cho caùc coâng ngheä ñaõ coù töø tröôùc nhö CGI (Common Gateway Interface), Giuùp ngöôøi duøng xaây döïng caùc öùng duïng web vôùi nhöõng tính naêng sinh ñoäng. Tuy nhieân, khaùc vôùi CGI, caùc trang ASP khoâng caàn phaûi hôïp dòch. Deã daøng töông thích vôùi caùc coâng ngheä cuûa Microsoft. ASP söû duïng ActiveX Data Object (ADO) ñeå thao taùc vôùi cô sôû döõ lieäu heát söùc tieän lôïi. Vôùi nhöõng gì ASP cung caáp, caùc nhaø phaùt trieån öùng duïng Web deã daøng tieáp caän coâng ngheä naøy vaø nhanh choùng taïo ra caùc saûn phaåm coù giaù trò. Ñieàu naøy heát söùc coù yù nghóa trong ñieàu kieän phaùt trieån nhö vuõ baõo cuûa tin hoïc ngaøy nay. Noù goùp phaàn taïo neân moät ñoäi nguõ laäp trình Web lôùn maïnh. ASP coù tính naêng môû. Noù cho pheùp caùc nhaø laäp trình xaây döïng caùc Component vaø ñaêng kyù söû duïng deã daøng. Hay noùi caùch khaùc ASP coù tính naêng COM (Component Object Model). Khuyeát ñieåm : ASP chæ chaïy vaø töông thích treân moâi tröôøng Windows, ñieàu naøy laøm ASP bò haïn cheá raát nhieàu. Duøng ASP chuùng ta seõ gaëp khoâng ít khoù khaên trong vieäc can thieäp saâu vaøo heä thoáng nhö caùc öùng duïng CGI. ASP khoâng ñöôïc söï hoå trôï nhieàu töø caùc haõng thöù ba. Caùc öùng duïng ASP chaïy chaäm hôn coâng ngheä Java Servlet. Tính baûo maät thaáp. Khoâng gioáng nhö CGI hay Java servlet, caùc maõ ASP ñeàu coù theå ñoïc ñöôïc neáu ngöôøi duøng coù quyeàn truy caäp vaøo web server. Coù leõ ñaây laø lyù do quan troïng nhaát ñeå ngöôøi duøng khoâng choïn coâng ngheä ASP. 2) Caùc thaønh phaàn vaø cuù phaùp ASP : ASP bao goàm caùc thaønh phaàn sau : 1. Caùc boä dòch ngoân ngöõ VBScript vaø JScript. 2. Thö vieän caùc ñoái töôïng, chuyeân duøng ñeå truy xuaát Database thoâng qua ODBC Driver (Active Server Data Object – ADO). Thö vieän caùc ñoái töôïng hoã trôï cho vieäc vieát caùc trang ASP. Moät file ASP thöïc chaát laø moät vaên baûn, noù coù theå bao goàm caùc thaønh phaàn sau: +Vaên Baûn (Text) + Caùc HTML tag. + Caùc Script. Moãi Script naøy seõ thöïc hieän moät coâng vieäc naøo ñoù, gioáng nhö caùc phaùt bieåu cuûa moät ngoân ngöõ laäp trình. Moät Script laø moät chuoãi caùc leänh script, noù coù theå laø: Moät pheùp gaùn giaù trò cho moät bieán. Moät yeâu caàu Web Server göûi thoâng tin ñeán Brower. Toå hôïp caùc leänh rieâng reõ thaønh moät thuû tuïc hay moät haøm gioáng nhö trong caùc ngoân ngöõ laäp trình. Vieäc thi haønh moät Script laø quaù trình göûi chuoãi caùc leänh tôùi Scripting Engine, taïi ñaây ASP seõ thoâng dòch caùc leänh naøy vaø chuyeån tieáp cho maùy tính. Script ñöôïc vieát baèng moät ngoân ngöõ vôùi caùc luaät ñöôïc ñaët taû naøo ñoù, neáu ta muoán söû duïng moät Script Language naøo thì treân Server phaûi chaïy Script Engine cho ngoân ngöõ ñoù. Trong ASP cung caáp hai Script Engine laø VBScript vaø JScript (vôùi VBScript laø maëc nhieân). Tuy nhieân ASP khoâng phaûi laø ngoân ngöõ Script, maø noù chæ cung caáp moät moâi tröôøng ñeå xöû lyù caùc Script maø ta cheøn vaøo trong caùc file .asp, vieäc cheøn naøy phaûi tuaân theo moät cuù phaùp nhaát ñònh cuûa ASP. a .Daáu ngaên caùch (Delimiter): Trong vaên baûn ASP ta söû duïng caùc daáu ñeå ngaên caùch phaàn vaên baûn HTML vôùi phaàn Script, hay cuï theå laø baát cöù moät phaùt bieåu Script naøo cuõng ñeàu phaûi naèm giöõa hai ngaên caùch b. Caâu leänh (Statement): Moät caâu leänh trong VBScript hay trong ngoân ngöõ Script khaùc laø moät caáu truùc duøng ñeå thöïc hieän moät thao taùc, caâu leänh phaûi ñöôïc khai baùo hoaëc ñònh nghóa trong ngoân ngöõ Scripting. Caùc ngoân ngöõ Script trong ASP cung caáp cho ta haàu heát caùc caáu truùc ñieàu khieån : IF…ELSE, For, While, DO WHILE… cuøng vôùi nhöõng kieåu döõ lieäu cô baûn nhö Integer , char, string, Array … ñeå söû duïng. c. SCRIPT tag: Caùc phaùt bieåu, bieåu thöùc, leänh, hay thuû tuïc maø baïn söû duïng beân trong hai daáu ngaên caùch phaûi ñöôïc nhìn nhaän bôûi ngoân ngöõ Script maëc ñònh hoaëc ngoân ngöõ Script ñöôïc khai baùo ôû ñaàu trang ASP. Ngoân ngöõ Scripting maëc ñònh cuûa ASP laø VBScript, tuy nhieân vôùi ASP ta vaãn coù theå söû duïng caùc ngoân ngöõ laäp trình khaùc beân trong baèng caùch söû duïng theû vaø d. Include file: Khi taïo moät öùng duïng Web, bao goàm nhieàu trang ASP, neáu nhö toaøn boä caùc trang ñeàu caàn söû duïng nhöõng thoâng tin chung naøo ñoù chaúng haïn nhö caùc haèng, giaù trò … Ñeå traùnh laïi vieäc ñònh nghóa laïi caùc giaù trò naøy, ta coù theå söû duïng cô cheá include file cuûa ASP (gioáng nhö trong ngoân ngöõ laäp trình coå ñieån). Ñeå include moät file trong trang ASP ta söû duïng cuù phaùp sau: 3) Caùc ñoái töôïng cô baûn cuûa asp: ASP cung caáp cho ngöôøi laäp trình caùc ñoái töôïng coù saün, moãi ñoái töôïng naøy seõ thöïc hieän moät chöùc naêng rieâng naøo ñoù, caùc ñoái töôïng coù saün (built-in oject) bao goàm: Teân ñoái töôïng Chöùc naêng Request Laáy thoâng tin töø moät user. Respone Göûi thoâng tin tôùi moät user. Server Ñieàu khieån moâi tröôøng hoaït ñoäng cuûa ASP. Session Löu giöõ thoâng tin veà moät session cuûa user. Application Chia seû thoâng tin giöõa caùc user trong cuøng moät öùng duïng. a. Ñoái töôïng Request Vôùi ñoái töôïng Request, caùc öùng duïng ASP coù theå deã daøng laáy ñöôïc thoâng tin göûi tôùi töø user. Ñoái töôïng Request cho pheùp truy xuaát chi tôùi baát kyø thoâng tin naøo user göûi tôùi baèng giao thöùc HTTP nhö: 1. Caùc thoâng tin chuaån naèm trong caùc bieán Server (Variable Server). 2. Caùc tham soá ñöôïc göûi tôùi baèng phöông thöùc POST. 3. Caùc thoâng tin ñöôïc göûi tôùi baèng phöông thöùc GET. 4. Caùc Cookies (laø thoâng tin cuûa User ñöôïc göûi keøm theo) tôùi töø Browser. 5. Caùc Client Certificates. Ñoái töôïng Request tìm kieám caùc giaù trò maø Client Browser ñöa vaøo Server trong khi coù moät yeâu caàu HTTP. Cuù phaùp: Request.collection|property|method Collections: Cookies: Giaù trò cuûa caùc Cookie gôûi trong yeâu caàu HTTP. Form: Giaù trò caùc phaàn töû Form trong thaân cuûa yeâu caàu HTTP. QueryString: Giaù trò cuûa caùc bieán trong trong chuoãi truy vaán HTTP. ServerVariables: Giaù trò cuûa caùc bieán moâi tröôøng ñaõ ñöôïc xaùc ñònh tröôùc. Properties: TotalBytes: Toång soá byte Client ñang gôûi trong thaân cuûa yeâu caàu. Caùc tham soá bieán laø chuoãi kyù töï chæ roõ muïc (item) ñöôïc tìm kieám töø moät collection hoaëc ñöôïc söû duïng nhö laø muïc vaøo ñoái vôùi moät phöông thöùc (method) hoaëc moät property. Ngoaøi ra, taát caû caùc bieán coù theå ñöôïc truy caäp moät caùch tröïc tieáp baèng caùch goïi cuù phaùp Request(variable) maø khoâng caàn teân collection. Trong tröôøng hôïp naøy, Web Server tìm kieám caùc collection theo thöù töï sau: QueryString Form Cookies ClientCertificate ServerVariables b. Ñoái töôïng Response Baïn coù theå söû duïng ñoái töôïng Response ñeå gôûi keát xuaát tôùi Client. Cuù phaùp Response.collection |property| method Collections : Cookies : Chæ ñònh giaù trò cookie vaø thieát laäp caùc giaù trò cookie. Properties : Buffer : Chæ ra lieäu trang keát xuaát ñöôïc ñeäm hay khoâng. ContentType : Chæ ñònh kieåu noäi dung HTTP (vd:”Text/HTML”) khi ñaùp öùng. Expires : Chæ ñònh thôøi gian tröôùc khi moät trang löu tröõ treân Browser keát thuùc. CacheControl: Xaùc ñònh caùc Proxy Server coù theå keát quaû ñaàu ra phaùt sinh bôûi ASP. Charset: Theâm vaøo boä kyù töï Header Content-Type ExpiresAbsolute: Ngaøy giôø 1 trang ñöôïc daáu treân Browser heát haïn IsClientConnected: Kieåm tra keát noái Client coù bò giaùn ñoaïn töø Server PICS: Theâm giaù trò vaøo nhaõn PICS field pics-label cuûa Header Status: Giaù trò doøng traïng thaùi HTTP ñöôïc traû ra bôûi Server Methods : AddHeader : Thieát laäp teân (name) tieâu ñeà HTML baèng giaù trò (value). AddHeader: Theâm hoaëc thay ñoåi trò soá trong HTTP header AppendToLog: Theâm text vaøo coång vaøo nhaät kyù Web Server BinaryWrite: Göûi text leân Browser maø khoâng caàn chuyeån ñoåi boä Charset. Clear: Huûy boû vuøng ñeäm keát xuaát HTML. End: Ngöng xöû lyù trang vaø traû ra keát quaû hieän haønh. Flush: Göûi keát quaû ñaàu ra ñöôïc ñeäm ngay laäp töùc. Redirect: Höôùng daãn cho Browser keát noái vôùi 1 ñòa chæ URL khaùc. Write: Xuaát moät bieán tôùi trang hieän haønh nhö laø moät chuoãi. c. Ñoái töôïng Server Ñoái töôïng Server cung caáp truy caäp tôùi caùc phöông thöùc vaø ñaëc tính (property) treân Server. Haàu heát caùc phöông thöùc vaø ñaëc tính (property) Server nhö laø caùc chöùc naêng tieän ích. Cuù phaùp : Server.property|method Properties : ScriptTimeout : Khoaûng thôøi gian maø moät Script coù theå chaïy tröôùc khi heát thôøi gian (time out). Methods : CreateObject : Taïo moät thöïc theå (instance) cuûa moät ñoái töôïng hoaëc thaønh phaàn server. HTMLEncode : Maõ hoùa chuoãi thaønh daïng HTML. MapPath : Aùnh xaï ñöôøng daãn aûo, ñöôøng daãn tuyeät ñoái hay töông ñoái treân Server hieän haønh vaøo moät ñöôøng daãn vaät lyù. URLEncode : Maõ hoùa chuoãi kí töï thaønh daïng URL. d. Ñoái töôïng Session Ñoái töôïng Session ñöôïc söû duïng ñeå löu tröõ vaø tìm laïi thoâng tin veà moät User Session. Caùc giaù trò löu tröõ trong ñoái töôïng Session khoâng bò loaïi boû ñi khi user di chuyeån töø trang naøy sang trang khaùc trong öùng duïng, Web Server töï ñoäng taïo ra moät ñoái töôïng Session khi moät trang Web trong öùng duïng ñöôïc yeâu caàu bôûi moät User chöa coù Session. Server huûy boû ñoái töôïng Session khi noù heát thôøi gian hay ñöôïc huûy boû. Thöïc teá, moät Session chæ thuoäc veà moät User. Döõ lieäu Session thöôøng gaén lieàn vôùi moät User, noù quaûn lyù caùc thoâng tin veà User ñang söû duïng moät öùng duïng . Cuù phaùp : Session.collection |property| method Collections : Contents Chöùa caùc muïc (item) maø baïn theâm vaøo Session vôùi caùc leänh Script. Properties : SessionID : Traû veà ñònh danh Session ñoái vôùi User. Timeout : Khoaûng thôøi gian ñoái vôùi caùc Sessio. Methods : Abandon Huûy boû moät ñoái töôïng Session vaø giaûi phoùng taøi nguyeân cuûa noù. Events : Se_OnStart : Xaûy ra khi ngöôøi söû duïng ñaàu tieân yeâu caàu moät trang trong moät chöông trìng. Se_OnEnd : Xaûy ra khi Session keát thuùc. e. Ñoái töôïng Application Vôùi ñoái töôïng Session chuùng ta ñaõ coù theå thöïc hieän vieäc löu tröõ döõ lieäu chung giöõa caùc trang trong moät phieân laøm vieäc cuûa ngöôøi söû duïng. Ñoái töôïng Application cung caáp phöông tieän cho pheùp chia seû döõ lieäu giöõa caùc ngöôøi söû duïng khaùc nhau (moãi ngöôøi söû duïng naøy coù rieâng moät Session) cuûa cuøng moät öùng duïng. Nhö ta ñaõ bieát, öùng duïng ASP laø taäp hôïp caùc trang .asp (vaø caùc thö muïc con), ñöôïc caùi ñaët trong moät Virtual Directory. Moãi öùng duïng ASP ñöôïc cung caáp moät khoâng gian ñeå löu tröõ caùc döõ lieäu toaøn cuïc cuûa noù goïi laø taàm vöïc Application. Vieäc truy xuaát vaøo taàm vöïc naøy do ñoái töôïng Application quaûn lyù vaø thöïc hieän. Thôøi gian soáng cuûa taàm vöïc Application ñöôïc tính töø khi öùng duïng baét ñaàu chaïy (Web Server khôûi ñoäng) cho ñeán khi öùng duïng bò huyû boû (Web Server stop). Ñeå löu tröõ moät döõ lieäu trong taàm vöïc Application, söû duïng cuù phaùp: Application(“teânbieán”)=giaù trò; Vieäc löu tröõ vaø thao taùc vôùi caùc ñoái töôïng döõ lieäu (nhö maûng) trong Application ñöôïc thöïc hieän töông töï nhö ñoái vôùi caùc bieán Session. Vì caùc bieán trong taàm vöïc Application coù theå ñöôïc truy xuaát bôûi nhieàu User khaùc nhau, neân ñoái töôïng Application cung caáp hai phöông thöùc lock() vaø unlock() ñeå loaïi tröø töông hoã khi truy xuaát vaøo vuøng döõ lieäu duøng chung naøy. Phöông thöùc Application.Lock(): Thöïc hieän khoùa döõ lieäu. Trong khi moät User khoùa taàm vöïc Application, caùc User khaùc seõ khoâng coù khaû naêng caäp nhaät hay thay ñoåi trong vuøng naøy. Phöông thöùc Application.Unlock(): Ñöôïc goïi ñeå môû khoùa. Khi khoùa ñaõ môû, caùc User khaùc coù theåthöïc hieän thao taùc caäp nhaät döõ lieäu trong taàm vöïc Application. Nhìn chung, khi moät User caàn thöïc hieän thao taùc caäp nhaät cuøng Application, noù thöïc hieän caùc böôùc sau trong kòch baûn: Goïi Application.Lock(); Thöïc hieän caùc thao taùc vôùi caùc bieán Application. Goïi Application.Unlock(); Cuù phaùp: Application.collection | Method | Event Collection Contents: Chöùa taát caû caùc item ñöôïc theâm vaøo öùng duïng baèng caùc caâu leänh Script. Staticobjects: Chöùa taát caû caùc ñoái töôïng ñöôïc theâm vaøo öùng duïng baèng tag Method Lock: Ngaên caûn caùc Client khaùc söûa ñoåi thuoäc tính cuûa öùng duïng. Unclock: Cho phaùp caùc Client khaùc ñöôïc söûa ñoåi thuoäc tính cuûa öùng duïng. Events OnStart: Xaûy ra khi 1 trang trong öùng duïng ñöôïc xem ñaàu tieân. OnEnd: Xaûy ra khi thoaùt ra khoûi öùng duïng, sau bieán coá Session_onEnd. 4) Caùc thaønh phaàn (component) cuûa asp. Ngoaøi caùc ñoái töôïng cô baûn coù saün trong moâi tröôøng ASP, vieäc taïo caùc trang Web ñoäng baèng ASP coøn ñöôïc trôï giuùp nhôø moät soá thö vieän caùc ñoái töôïng (ActiveX Component) cuûa ActiveX Server. Caùc thaønh phaàn ñöôïc thieát keá ñeå chaïy treân Web Server nhö moät öùng duïng Web cô sôû hôïp thaønh caùc goùi nhoû ñaëc tröng chung laø ñoäng. Moãi thaønh phaàn ñöôïc söû duïng cho moät coâng vieäc chuyeân bieät nhieäm cho laø moät thö vieän caùc lôùp (hay ñoái töôïng), ñöôïc thieát keá ôû daïng Automation Server, thöïc hieän moät nhoùm coâng vieäc chung nhaát cho moät thao taùc naøo ñoù, chaúng haïn nhö truy xuaát database, truy xuaát file… vì theá ngöôøi phaùt trieån öùng duïng Web baèng ASP khoäng caàn phaûi taïo laïi caùc ñaëc tính naøy. Chuùng ta coù theå taïo ñoäng, töông taùc vôùi caùc trang Web baèng caùch söû duïng caùc thaønh phaàn Server ñaõ ñöôïc included vôùi Active Server Pages (ASP) trong caùc ñoaïn Script cuûa ta. 5) Truy xuaát cô sôû döõ lieäu trong ASP. ÔÛ phaàn treân chuùng ta ñaõ bieát veà caùc khaùi nieäm toång quaùt veà ASP vaø caùc thaønh phaàn caàn coù khi xaây döïng moät öùng duïng. Trong phaàn naøy seõ trình baøy kyõ hôn veà Active Data Object, ñaây chính laø öu ñieåm maïnh nhaát cho vieäc phaùt trieån öùng duïng cô sôû döõ lieäu treân web (Web database). DataBase Access Component : Moät öùng duïng Web database vieát baèng ASP coù theå truy xuaát döõ lieäu trong moâi tröôøng database baèng caùch söû duïng Component Database Access cuûa ActiveX hay coøn goïi laø thö vieän ADO (Active Data Object). Ñaây cuõng chính laø ñieåm maïnh nhaát cuûa ASP trong vieäc phaùt trieån öùng duïng Web database. Caùc Object cuûa ADO cung caáp coù theå taïo ra caùc keát noái (Connection) vôùi haàu heát caùc kieåu Database, cuõng nhö vieäc truy xuaát, caäp nhaát caùc database naøy. Hieän nay thö vieän ADO laø coâng cuï maïnh nhaát trong vieäc phaùt trieån caùc öùng duïng database treân Internet. Trong phaàn naøy ta seõ xem xeùt caùc thaønh phaàn trong thö vieän coâng cuï naøy. ADO interface : ADO ñöôïc thieát keá moät caùch ñôn giaûn nhaát, noù giao tieáp vôùi database thoâng qua phöông thöùc ODBC (Open DataBase Connectivity), chuùng ta coù theå söû duïng chuùng vôùi baát kyø loaïi database naøo neáu nhö ODBC coù driver hoã trôï. Hieän nay toàn taïi driver cho haàu heát caùc loaïi database nhö Foxpro, Access, Oracle, SQl Server, . . . Söï giao tieáp giöõa ADO vaø caùc thaønh phaàn khaùc trong heä thoáng coù theå ñöôïc moâ taû theo hình veõ sau: Quaù trình truy xuaát cô sôû döõ lieäu thoâng qua ODBC Caùc Object trong ADO : Caùc Object chính trong ñoù laø: Connection, RecordSet vaø Command. Ngoaøi ba Object chính naøy coøn coù caùc Object, tham soá, thuoäc tính, phöông thöùc. Söû duïng Connection ta coù theå thieát laäp söï lieân keát vôùi cô sôû döõ lieäu, thoâng qua ñoù ta coù theå thöïc hieän caùc Query ñeå laáy ra caùc record hoaëc caäp nhaät moät record baèng caùch söû duïng Command Object. Keát quaû thöïc hieän caùc Query treân Database seõ ñöôïc löu vaøo ñoái töôïng Recordset, treân ñoái töôïng naøy ta coù duyeät vaø laáy ra moät hay nhieàu Record. Sau ñaây ta xem xeùt cuï theå caáu taïo cuõng nhö caùch söû duïng cuûa töøng Object. Ñoái töôïng Connection : Ñeå söû duïng toát ñoái töôïng Connection, tröôùc tieân ta phaûi taïo ra moät Instance cho noù, ñaây thöïc söï laø moät theå hieän cuûa Object naøy trong ASP. Phaùt bieåu taïo Instance cho Connection coù cuù phaùp nhö sau: <% Connection_name=Server.CreateObject(“ADODB.Connection”) %> Thoâng thöôøng trong moät öùng duïng neáu ta caàn coù moät lieân keát vôùi Data source coá ñònh cho taát caû caùc trang thì khi ñoù ta seõ ñaët Instance cuûa Connection coù taàm vöïc ôû möùc Application baèng caùch ñöa phaùt bieåu taïo Instance ôû treân vaøo caùc thuû tuïc Application_onStar(): <% Sub Application_onStar() Set Connection_name = Server.CreateObject (“ADODB.Connection”) End Sub %> Hoaëc thieát laäp taàm vöïc cho Connection ôû möùc Session nhö sau: <% Sub Session_onStar() Set Connection_name=Server.CreateObject(“ADODB.Connection”) End Sub %> Tuy nhieân ta coù theå xem xeùt theâm vieäc toái öu cho caùc Connection trong moät öùng duïng coù nhieàu User truy xuaát tôùi database, ñoù laø khaû naêng Connection pooling. Connection pooling : Caùc öùng duïng cô sôû döõ lieäu truyeàn thoáng ñeàu taïo moät moái lieân keát tôùi database maø noù söû duïng, coøn caùc öùng duïng Database treân web laïi môû vaø ñoùng caùc lieân keát naøy ôû moãi trang web. Moät phöông phaùp cho caùc öùng duïng Database treân web laø taïo moät söï lieân keát lieân tuïc vôùi cô sôû döõ lieäu cuûa töøng User vaø löu tröõ trong ñoái töôïng Session. Tuy nhieân, phöông phaùp naøy laøm gia taêng soá löôïng caùc User keát noái tôùi cô sôû döõ lieäu maø khoâng laøm vieäc vaø noù chæ ñaït ñöôïc ñoä tin caäy ñoái vôùi caùc Website coù söï lieân thoâng döõ lieäu thaáp (low-traffic). Phöông phaùp tieän lôïi hôn trong vieäc quaûn lyù caùc keát noái vôùi cô sôû döõ lieäu cuûa öùng duïng web laø quaûn lyù baèng Connection Pool cuûa ODBC nhaèm giaûm bôùt soá löôïng lieân keát raûnh roãi. ODBC seõ môû caùc keát noái vaø quaûn lyù caùc keát noái naøy moãi khi coù moät yeâu caàu keát noái môùi thì thöïc hieän vieäc kieåm tra xem coù lieân keát naøo raûnh khoâng, neáu khoâng thì seõ taïo keát noái môùi, ngöôïc laïi seõ laáy lieân keát raûnh naøy maø khoâng taïo lieân keát môùi. Neáu coù moät lieân keát raûnh naøo trong Connection Pool toàn taïi quaù 60 giaây thì noù seõ töï ñoäng huûy boû. Connection Pooling ñöôïc kích hoaït maëc nhieân trong ASP, ta coù theå loaïi boû baèng caùch thieát laäp giaù trò Register Entry Star Connection Pool veà giaù trò 0. Caùc phöông thöùc cuûa ñoái töôïng connection : Open method : Söû duïng ñeå môû moät keát noái vôùi Database. Sau khi taïo moät instance cho Connection Object. Ta coù theå môû moät keát noái vôùi data source ñeå coù theå truy xuaát döõ lieäu, cuù phaùp nhö sau: Connection.open ConnectionString User password Trong ñoù ConnectionString laø chuoãi ñònh nghóa teân cuûa datasource (DNS), teân naøy ñöôïc khai baùo trong ODBC. User vaø password seõ thöïc hieän vieäc môû Database. Execute method : Phöông phaùp naøy cho pheùp thöïc thi moät caâu leänh, taùc ñoäng leân data source. Ta coù cuù phaùp nhö sau : Connection.Execute Commandtext.RecordAffected.options Trong ñoù thoâng soá option coù caùc giaù trò khaùc nhau töông öùng vôùi moãi loaïi CommanText. Caùc giaù trò cuûa Option theo baûng sau: Giaù trò Danh hieäu haèng töông öùng Moâ taû CommanText 0 AdCmdUnknown Giaù trò naøy maëc ñònh khi ñònh nghóa 1 AdCmdText CommandText laø moät caâu leänh (vd: SQL) 2 AdCmdTable Teân cuûa Table maø ta seõ taïo moät RecordSet töø ñoù 3 AdCmdStoreöû duïngPro Moät Seaticored procedure trong data source Close method : Trong caùc trang ASP, sau khi ñaõ xöû lyù xong döõ lieäu treân data source, tröôùc khi keát thuùc moät trang söû duïng phaûi ñoùng laïi caùc keát noái ñaõ môû. Vieäc ñoùng keát keát noái thöïc hieän nhôø phöông thöùc Close. Cuù phaùp nhö sau: Connection.Close Neáu chöông trình khoâng thöïc hieän vieäc naøy thì ASP seõ töï ñoäng ñoùng Connection môû trong trang. Moãi khi ngöôøi söû duïng tham khaûo sang trang khaùc (ñi khoûi taàm vöïc cuûa bieán Instance). Neáu ta taïo Instance vaø môû keát noái trong caùc thuû tuïc Application hoaëc Session_onStar vieäc ñoùng caùc Connection naøy seõ ñöôïc theå hieän trong thuû tuïc onEnd. Ñoái töôïng Command : Thay vì phaûi söû duïng phöông thöùc Execute cuûa ñoái töôïng Connection ñeå Query hay Update data resource, ta coù theå söû duïng ñoái töôïng Command deã thi haønh caùc thao taùc vôùi cô sôû döõ lieäu. Vieäc taïo moät Instance cho ñoái töôïng Command cuõng nhö ñoái töôïng Connection. Nghóa laø cuõng söû duïng phöông thöùc Server.CreateObject. Command-name=Server.CreateObhec (“ADODB.Command”) Tuy nhieân ñeå söû duïng ñoái töôïng naøy ta caàn xem xeùt caùc phöông thöùc vaø thuoäc tính keøm theo. Caùc phöông thöùc (Methods) : Create Paramater: Duøng ñeå taïo moät ñoái töôïng (thoâng soá) trong taäp thoâng soá Execute: Duøng ñeå thöïc thi caâu leänh ñöôïc ñaëc taû trong thuoäc tính CommandText. Caùc thuoäc tính (Properties): ActiveConnection :Chæ ñònh ñoái töôïng Connection naøo ñöôïc söû duïng trong ñoái töôïng Command. CommandText: Chæ ñònh caâu leänh caàn thöïc thi treân cô sôû döõ lieäu . CommandTimeOut: Xaùc ñònh thôøi gian thöïc thi leänh, giaù trò thôøi gian thöïc thi ñöôïc tính theo g

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

  • docwebsitegiaitri.doc
  • docBIA NGOAI.doc
  • docBIA TRONG.doc
  • docHuongdan.doc
  • docmucluc.doc