Sach CNTT
Tìm hiể u về ASP Lưu hành nội bộ 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. Trang Asp khi ở trê n Web Server và khi được đưa ra Browser Web Server Browser XXXXX XXXXX ZZZZZZ ZZZZZZ XXXXX XXXXX YYYYY YYYYY X:HTML Y:ASP script Z:ASP Script result(HTML) Tìm hiể u về ASP Lưu hành nội bộ 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. 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ẽ Web Browser Web Server ASP ADO OLEDB ODBC Database Server DMS (SQL server) Tìm hiể u về ASP Lưu hành nội bộ 3 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 Tìm hiể u về ASP Lưu hành nội bộ 4 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 Tìm hiể u về ASP Lưu hành nội bộ 5 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"> <!-- hide Script from old browsers for(i=0;i<10;i++ ) Tìm hiể u về ASP Lưu hành nội bộ 6 docoment.write("for loop"+ i+"<br>") docoment.write("second line of for loop"+ i+"<br>") //end script hiding--> </SRIPT> </BODY> </HTML> trong file ASP sau xử lý JScript trong hà m MyFunction <HTML > <BODY> <%Call MyFunction %> </BODY> </HTML> <SCRIPT RUNAT=SERVER LANGUAGE=JSCRIPT> function MyFunction () { Response.Write("MyFunction Called") } </SCRIPT> Chú y ù: 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 Tìm hiể u về ASP Lưu hành nội bộ 7 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 la ø .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ể Tìm hiể u về ASP Lưu hành nội bộ 8 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") %> <!--#include file="<%= name %>"--> Lệ nh script và thủ tục phải hoàn toàn bao hà m dấ u ngă n cá ch<% và %> trong script,tag HTML <SCRIPT> và </SCRIPT> hoặ c tag HTML <OBJECT>và</OBJECT>. ¾ sử dụng server script: Để bổ sung 1 client Script,mặ c dù ASP sử dụng Script server site để xử lý văn bản,bạn có thể mở rộng bằng cách sử dụng nó để phá t sinh ra client side script sau được xử lý bở i client browser.ASP làm điều này bằng cá ch kế t hợp client_side script bao gồ m nhữ ng chú thích HTML củ a server _side script và bao gồm cả dấu ngă n cách: <SCRIPT LANGUAGE="VBScript"> <!-- client script <% server script %> client script <% server script %> client script . --> </SCRIPT> Tìm hiể u về ASP Lưu hành nội bộ 9 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,server- side 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")%> <!--#include file ="<%=namé >"-- > • Ta cũ ng khô ng thể mở dấ u <% trong mộ t file include và đó ng %> trong mộ t file include khác.ví dụ sau là sai: <!-- This script will fail --> <%For i = 1 To n statements in main file <!--#include file="header1.inc" --> Tìm hiể u về ASP Lưu hành nội bộ 10 Next %> Script sau sẽ hoạt độ ng được: <!-- This script would work--> <% For i = 1 to n statements in main file %> <!--#include file="header1.inc" --> <% Next %> III.CÁC ĐỐI TƯNG CƠ BẢN CỦA ASP: ASP cung cấ p cho ngườ i lậ p trình các đối tượng có sẵn, mỗi đối tượng này sẽ thực hiện một chức năng riêng nào đó, các đối tượng có sẵ n(built-in oject) bao gồ m: Tê n đối tượng Chức năng Request Lấ y thô ng tin từ mộ t user Respone Gử i thô ng tin tớ i mộ t user Server Điề u khiể n mô i trườ ng hoạt độ ng của ASP Session Lưu giữ thô ng tin về mộ t session của user Application Chia sẻ thô ng tin giữ a cá c user trong cù ng mộ t ứ ng dụng. III.1.Đố i tượ ng Request Vớ i đố i tượng Request ,cá c ứ ng dụng ASP có thể dễ dà ng lấ y được thô ng tin gử i tớ i từ user 123doc.vn