Xem mẫu

  1. Chương 7  CĂN BẢN VỀ ASP  I. GIỚI THIỆU VỀ ASP I.1. Trang web động Ngôn ngữ HTML là ngôn ngữ chủ yếu để xây dựng các trang web, ngoài ra ta còn sử dụng các ngôn ngữ kịch bản để tạo nên các trang web tương tác, có thể trao đổi dữ liệu giữa client và server; nhưng những trang web này là tĩnh (static), đã được xây dựng và lưu trữ trên web server. Trong nhu cầu thường ngày, ta cần phải tra cứu một số thông tin theo nhu cầu riêng của mình như điểm thi tuyển sinh, danh bạ điện thoại trực tuyến v.v..., để giải quyết vấn đề này cần phải xây dựng các trang web có thông tin chọn lọc theo yêu cầu của client, những trang web này được gọi là các trang web động (active web page), cách khác: các trang web động không tồn taị sẵn mà chỉ được tạo ra theo yêu cầu của client. Hiện nay có nhiều môi trường để tạo ra các trang web động: CGI, ASP, JSP, PHP, ColdFusion, Perl v.v... I.2. Giới thiệu về ASP I.2.1. ASP (Active Server Page) ASP do Microsoft xây dựng, là môi trường lập trình ứng dụng phía server, hỗ trợ cho việc xây dựng các ứng dụng web. ASP không phải phải là một công nghệ độc lập, nó cho phép liên kết nhiều ứng dụng web gồm các thành phần HTML, VBScript, SQL, ADO (ActiveX Data Objects) và COM (Component Object Model) ASP được hỗ trợ mặc định khi cài đặt IIS(Internet Information Server), trong môi trường hệ điều hành khác cần thiết phải cài đặt thư viện hỗ trợ ASP như Sun Chili!Soft. Những ưu điểm và nhược điểm của ASP:  Ưu điểm : Sử dụng ADO để thao tác trên cơ sở dữ liệu thuận lợi, có nhiều đối tượng dựng sẵn hỗ trợ việc lập trình dễ dàng, nhanh chóng. Đặt biệt, ASP có tính mở, nó cho phép người lập trình dùng một ngôn ngữ lập trình khác để xây dựng các component để xử dụng trong môi trường ASP.  Nhược điểm : Tốc độ thực hiện chậm hơn công nghệ Java Servlet của Sun, tính bảo mật thấp vì các mã ASP đều có thể đọc được nếu người dùng có quyền truy cập vào web server I.2.2. Trang ASP Trang ASP là một text file có phần mở rộng là .asp, có cấu trúc như một tệp tư liệu HTML, trong trang ASP còn các thẻ khác để nhúng các mã kịch bản để làm việc với dữ liệu như một ngôn ngữ lập trình thật sự. Khi webserver nhận được 118
  2. yêu cầu từ client về một trang asp, nó sẽ yêu cầu trình xử lý trang asp (ASP engine) để tạo ra một tư liệu HTML gởi về cho client. Ngôn ngữ kịch bản mặc nhiên trong môi trường ASP là VBScript, ngoài ra có thể sử dụng các ngôn ngữ khác như Perl, Python, Jscript ... nếu webserver có cài đặt bộ xử lý ngôn ngữ này. Một trang ASP thông thường gồm có các thành phần : Khai báo ngôn ngữ kịch bản được sử dụng : Các thẻ HTML Các script cho phía client được đặt trong cặp thẻ và Mã chương trình được đặt trong cặp thẻ Với cấu trúc như vậy, ta có thể xem trang asp là một tư liệu HTML được nhúng phần xử lý viết bằng mã ASP. Ví dụ : Trang ASP Trang Web đầu tiên I.2.3. IIS (Internet Information Server) IIS là thành phần hạt nhân của web server, nó có nhiệm vụ nhận yêu cầu của client, xử lý và chuyển các trả lời đến client thông qua giao thức HTTP. Ngoài ra nó cũng cung cấp các giao diện lập trình Internet, dịch vụ như FTP. Mô hình ứng dụng web thể hiện qua công nghệ ASP được minh họa như sau: Client Server Request: Page ASP Browser Response : page HTML Web Server ASP IAPI Data Store Để thử nghiệm các trang ASP, cần thiết phải cài đặt trình chủ IIS. 119
  3.  Cài đặt trình chủ IIS: Control Panel – Add/Remove Program – Add/Remove Windows Component – Chọn Iternet Information Services  Thiết lập thư mục ảo cho ứng dụng : thiết lập một ánh xạ từ thư mục ảo đến một thư mục vật lý trên đĩa cứng. Mở IIS – Default Web Site – New... – Virtual Directory  Thiết lập DSN trong ODBC (Open DataBase Connectivity): để tạo kết nối cơ sở dữ liệu cho trang ASP thông qua Database System Name với driver phù hợp với Database. II. TỔNG QUAN VỀ VBSCRIPT VBScript là ngôn ngữ kịch bản chính để lập trình ứng dụng web phía server khi sử dụng công nghệ ASP. Các định danh trong VBScript không phân biệt chữ hoa hay chữ thường. II.1. Chú thích Sử dụng dấu nháy đơn để bắt đầu một dòng ghi chú. Ví dụ : II.2. Khai báo hằng, biến, mảng • Biến trong VBScript không cần xác định kiểu, các biến không cấu trúc được xem là biến vô hướng, có thể chứa và tự chuyển đổi hầu hết các kiểu dữ liệu. Khai báo biến bằng từ khóa Dim. Ví dụ: • Hằng được khai báo bằng từ khóa Const. Ví dụ: • Mãng được định nghĩa và truy xuất thông qua chỉ số. Ví dụ : 120
  4. • Để khai báo mãng động (có thể thay đổi kích thước) : Dim A(). Sau đó ta có thể thay đổi kích thức qua lệnh REDIM. Ví dụ : ReDim A(6). • Nếu muốn áp đặt phải khai báo biến trước khi sử dụng (và đây là điều cần thiết) ta khai báo trước thẻ dòng lệnh • Để hiển thị giá trị một biểu thức trên trang web ta dùng một trong hai phương pháp : Sử dụng phương thức Write của Object Response: Response. Write(bthức) Sử dụng cách viết tắt của Response. Write(bthức) : II.3. Các toán tử • Các toán tử số học : +, -, *, / , mod, \ (chia lấy phần nguyên), ^ (lũy thừa) • Các toán tử so sánh : =, >,
  5. II.4.2. Các lệnh lặp VBScript cung cấp 4 dạng câu lệnh lặp mà chúng ta đã nghiên cứu trong VB: • For ... Next : lặp với số lần xác định • For Each... Next : lặp với các phần tử trong một tập hợp • Do ... Loop : lặp trong khi điều kiện kiểm tra của Loop còn đúng. Câu lệnh này có 2 biến thể: Do ... While và Do ... Until. II.5. Hàm và Thủ tục II.4.1. Hàm Khai báo một hàm : Function ... End Function Hàm trả về một giá trị thông qua tên gọi hàm nên có thể tham gia trong một biểu thức như một toán hạng. VBScript có một số hàm dựng sẵn (cách sử dụng tương tự như trong VB): • Các hàm toán học : ATN, COS, SIN, TAN, EXP, LOG, SQR, RND, INT • Các hàm thao tác trên chuổi : INSTR : trả về vị trí bắt đầu của một chuổi con subStr trong một chuổi khác Str. Cú pháp InStr(subStr, Str). LEN : trả về số ký tự của một chuổi. LCASE : chuyển một chuổi viết thường sang viết hoa, tương tự cho UCASE LTRIM : trả về một chuổi đã loại bỏ các ký tự trống phía bên trái. Tương tự, ta có các hàm RTRIM, TRIM STRING : trả về một chuổi gồm một số ký tự giống nhau. Ví dụ : String(5,”b”) cho lại chuổi “bbbbb” LEFT : trả về một chuổi con trong một chuổi Str bắt đầu từ vị trí đầu tiên bên trái cho đến ký tự thứ num. Cú pháp: LEFT(Str, num). Tương tự ta có hàm RIGHT. MID : trả về một chuổi con gồm num ký tự trong một chuổi Str bắt đầu từ vị trí pos Cú pháp: MID(Str, pos, num) • Các hàm về ngày giờ: DATE, TIME, NOW, WEEKDAY, WEEKDAYNAME, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND. DATEDIFF : trả về số ngày tồn tại giữa hai ngày DATEADD : cộng thêm số ngày trả về số ngày mới •Các hàm chuyển đổi kiểu dữ liệu ABS : trả về giá trị tuyệt đối của một số ASC : trả về mã ASCII của một ký tự ASCW : trả về mã Unicode của một ký tự CHR : trả về ký tự có mã theo AINSI CDATE : trả về giá trị của đối số theo variant có kiểu là Date ROUND : làm tròn số 122
  6. • Các hàm kiểm tra ISARRAY : kiểm tra một biểu thức có phải là một mảng hay không. ISDATE : kiểm tra một biểu thức có phải kiểu Date hay không. ISEMPTY : kiểm tra một biến đã được khởi tạo chưa. ISNULL : kiểm tra một biểu thức có phải là NULL không ISNUMERIC : kiểm tra một biểu thức có phải là số không II.4.2. Thủ tục Khai báo một thủ tục : Sub ... End Sub Gọi một thủ tục : call tên_thủ_tục Ví dụ : xây dựng hàm chuyển đổi độ C sang độ F II.6. Các đối tượng của VBScript Đối tượng (Object) là tập hợp các thuộc tính, phương thức. Trong VBScript có những đối tượng được xây dựng sẵn để mở rộng khả năng của ngôn ngữ, hỗ trợ việc xây dựng các kịch bản mạnh hơn. II.6.1. Đối tượng ERR Đối tượng ERR chứa các thuộc tính mang thông tin về lỗi của VBScript và các phương thức xử lý lỗi. Khi chương trình phát sinh lỗi, cần nắm bắt và xử lý các lỗi phát sinh bằng cách khai báo dòng lệnh vào đầu trang ASP hay đầu của hàm, thủ tục của người viết script tạo ra. - Thuộc tính • Number, Description : cung cấp mã lỗi và mô tả lỗi • HelpFile : tên đường dẫn tệp tin trợ giúp • Source : nơi xuất hiện lỗi - Phương thức: • Clear : xoá các thông tin trong đối tượng ERR • Raise : tự tạo mã lỗi, khi sử dụng phương thức này người viết script phải cung cấp đầy đủ các thông tin cho các thuộc tính của đối tượng ERR. 123
  7. II.6.2. Đối tượng kịch bản DICTIONARY Đối tượng Dictionary cung cấp phương thức lưu trữ và truy xuất thông tin thuận lợi, tương tự như mãng. Muốn sử dụng đối tượng Dictionary cần phải tạo một thể hiện (instance) của đối tượng này qua lệnh : CreateObject(“Scripting.Dictionary”) Để thiết lập chỉ mục và giá trị cho một mục thông tin ta sử dụng phương thức Add với hai tham số : chỉ mục, nội dung hoặc gán nội dung trực tiếp cho từng phần tử của thể hiện. - Thuộc tính : • Count : lưu trữ số phần tử trong thể hiện - Phương thức : • Add : thêm một chỉ mục và nội dung của một phần tử trong thể hiện • Remove : loại bỏ một phần tử trong thể hiện. • RemoveAll : loại bỏ tất cả các phần tử trong thể hiện. • Items : trả về mảng lưu trữ các Item của thể hiện • Keys : trả về mảng lưu trữ các chỉ mục của thể hiện Ví dụ : tạo một thể hiện của đối tượng Dictionary để lưu trữ số điện thoại và tên chủ thuê bao. II.6.2. Đối tượng FileSystemObject Đối tượng FileSystemObject cho phép làm việc với tệp tin và thư mục trên webserver. Muốn sử dụng đối tượng FileSystemObject phải tạo một thể hiện của đối tượng này với cú pháp : CreateObject(“Scripting.FileSystemObject”) - Một số phương thức : CopyFile : sao chép tệp tin. Sử dụng như hệ điều hành DOS Ví dụ ta có FS là một thể hiện của FileSystemObject: FS.CopyFile “C:\*.*” C:\backup” MoveFile, CopyFolder, CreateFolder, DeleteFile, DeleteFolder DriverExists, FolderExists, FileExists : kiểm tra sự tồn tại của một ổ đĩa ,... 124
  8. GetDrive, GetFolder, GetFile : lấy tên ổ đĩa, thư mục, tệp tin chỉ định. - Các đối tượng và tập hợp của thể hiện đối tượng FileSystemObject • Đối tượng File : Các thuộc tính : Name. DateCreated, DateLastAccessed, DateLastModified, Size, Drive (ổ đĩa chứa tệp tin), ParentFolder Các phương thức : Copy, Delete và Move • Đối tượng Folder : có các thuộc tính và phương thức như đối tượng File, ngoài ra còn có các thuộc tính SubFolder (tập các thư mục con) và IsRoot (có phải là thư mục gốc hay không) • Đối tượng Drive và tập hợp Drives (tập hợp các ổ đĩa của webserver) Thông qua tập hợp Drives ta có thể truy xuất đến các đối tượng Drive. Đối tượng Drive có các thuộc tính : - DriveLetter : Tên ổ đĩa - VolumeName : Label của ổ đĩa - FreeSpace : Dung lượng còn trống của ổ đĩa (tính theo byte) - TotalSize : Dung lượng của ổ đĩa (tính theo byte) - IsReady : đĩa đã sẵn sàng truy cập chưa - DriveType : kiểu ổ đĩa (1: Removable, 2: HardDisk, 3: Network Drive, 4: CD, 5: Ram Drive) - FileSystem: loại bảng FAT đang sử dụng - RootFolder : trả về thư mục gốc. Ví dụ : Viết script để hiển thị thông tin về các ổ dĩa của webserver và các tệp tin, thư mục con của thư mục C:
  9. Response.Write(Fo.Name&””) Next Set Fs = Nothing ‘ Giải phóng biến Fs khỏi bộ nhớ %> Ngoài đối tượng FileSystemObject, VBScript còn có đối tượng TextStream cho phép ta tạo ra một tệp tin hay thêm dữ liệu vào một tệp tin đã tồn tại. III. CÁC ĐỐI TƯỢNG CỦA ASP Một đối tượng của ASP là một tập gồm : thuộc tính, phương thức, tập hợp (collection) và sự kiện có thể tác động lên đối tượng. ASP cung cấp 7 đối tượng dựng sẵn cho lập trình ứng dụng web phía server: Application, ASPError, ObjectContext, Request, Response, Server và Session. Ngoài ra, ASP còn cung cấp các component dựng sẵn cho các ứng dụng. (Component là các thành phần các đoạn mã có thể sử dụng lại, các component thường được viết bằng một ngôn ngữ lập trình nào đó như VB, C, Java, v.v..) III.1. Đối tượng Application Đối tượng Application lưu trữ toàn bộ các biến, các đối tượng của toàn bộ ứng dụng, mỗi ứng dung chạy trên server chỉ có duy nhất một thể hiện của đối tượng Application, mọi trang ASP của ứng dụng có thể truy xuất các biến, đối tượng được lưu trữ trên đối tượng này. Nói cách khác, đối tượng Application dùng để chia sẻ dữ liệu cho mọi client. - Để khởi tạo một biến và thêm vào đối tượng Application ta có cú pháp : Application(“tên_biến”) = giá_trị - Để khởi tạo một đối tượng và thêm vào đối tượng Application ta có cú pháp Application(“tên_đối_tượng”) =Server.CreateObject(“ADOBB.Connection”) - Các tập hợp của đối tượng Application : • Tập hợp Contents : là tập hợp các đề mục được tạo ra và thêm vào đối tượng Application trong phiên làm việc của client thông qua các câu lệnh script như Server.CreateObject mà không sử dụng thẻ của HTML . Cú pháp : Application.Contents(key) Với Key là tên của thuộc tính (biến, đối tượng) cần nhận về. Ví dụ :
  10. Application(“publishdate”) = “01/01/2005” Application(“author”) = “Ngô Đình Thưởng” Application(“Obj1”) = Server.CreateObject(“ADODB.Connection”) ‘ Truy xuất các biến, đối tượng Dim Item For Each Item in Application.Contents If IsObject(Application.Contents(Item)) then Response.Write(Item & “ is a Object ”) Else Response.Write(Item & “=” & Application.Contents(item) & “” End If Next %> • Đối tượng StaticObjects : là tập hợp các đề mục được tạo ra và thêm vào đối tượng Application trong phiên làm việc của client thông qua sử dụng thẻ của HTML . Ví dụ : Giả sử ta có tệp tin Global.asa (sẽ nghiên cứu sau) và truy xuất các thông tin đã cài đặt thông qua tệp tin này. --- Global.asa---
  11. •Lock : Khoá toàn bộ ứng dụng, ngăn chặn các client khác thay đổi giá trị của biến dùng chung trong đối tượng Application. Nếu phương thức UnLock không được gọi thì server tự động thực hiện lệnh này sau khi sử lý xong các script hay time out. • UnLock : Cho phép client thay đổi giá trị của các biến trong đối tượng Application đã bị Lock trước kia. Ví dụ : Application.Lock Application(“publishdate”) = “15/08/2005” Application.UnLock - Các sự kiện • Applìcation_OnStart : xảy ra khi bắt đầu ứng dụng web. • Applìcation_OnEnd : xảy ra khi kết thúc ứng dụng web. Ví dụ : ta có tệp tin Global.asa như sau: Sub Application_OnStar() Application(“NumSession”)=0 Application(“NumVisited”)=0 End Sub Sub Application_OnEnd() Calculate_Stats() End Sub Sub Session_OnStar() Application(“NumSession”) = Application(“NumSession”) + 1 Application(“NumVisited”) = Application(“NumVisited”) + 1 ' Set objCon=Server.CreateObject("ADODB.Connection") ' Câu lệnh trên có thể đưa vào Application_OnStart() End Sub Sub Session_OnEnd() Application(“NumSession”) = Application(“NumSession”) - 1 End Sub --- File.asp --- III.2. Đối tượng AspError 128
  12. Đối tượng AspError chỉ chứa các thuộc tính chỉ đọc, mô tả chi tiết các lỗi trong quá trình sử dụng các đối tượng của ASP. - ASPCode : trả về mã lỗi được phát sinh do IIS - ASPDescription : trả về một chuổi mô tả chi tiết về lỗi - Category : trả về một chuổi mô tả chi tiết về lỗi được phát sinh từ IIS do quá trình sử dụng một đối tượng hay script không đúng. - Column : Trả về một số nguyên chỉ vị trí xảy ra lỗi trong tệp tin ASP - File : Trả về tên tệp ASP bị xuất hiện lỗi. III.3. Đối tượng ObjectContext Đối tượng ObjectContext chỉ chứa các phương thức dùng để điều khiển các giao tác (transaction) của ASP mà các giao tác này được quản lý bởi trình MTS (Microsoft Transaction Server ). Muốn sử dụng đối tượng này phải khai báo dòng lệnh ở dòng đầu tiên của trang ASP như sau . Các phương thức : - SetAbort : xác định giao tác không hoàn thành và nguồn tài nguyên có thể không được cập nhật. - SetComplete : ngược lại với phương thức SetAbort. Khi phương thức SetComplete được gọi thì webserver sẽ bỏ qua bất kỳ lệnh SetAbort được gọi trước đó. Các sự kiện : - OnTransactionAbort : xảy ra khi giao tác bị huỷ bỏ - OnTransactionCommit : xảy ra khi giao tác được hoàn thành. Đối tượng này chủ yếu sử dụng khi có sự tương tranh cơ sở dữ liệu bởi nhiều client. Chúng ta sẽ minh hoạ về đối tượng này trong chương 9,Kết nối cơ sở dữ liệu. III.4. Đối tượng Response Đối tượng Response dùng để gởi tất cả các thông tin vừa được server xử lý trả về cho client. Chúng ta có thể xử dụng đối tượng này để giao tiếp với người sử dụng. - Các thuộc tính :  Buffer : giá trị mặc định là false, nếu thuộc tính này là true thì web server chỉ trả kết quả cho client khi tất cả các script được xử lý hoặc phương thức Flush hay End được gọi. Cú pháp: Response.Buffer = False | True Ví dụ :
  13. Loop while x  CacheControl : quy định proxy server có được lưu kết quả do trang ASP này phát sinh hay không. Giá trị mặc định là không (private) Cú pháp: Response.CacheControl = Private | Public  ContentType : quy định dạng dữ liệu do web server trả về cho client. Giá trị mặc định là Text/HTML. Ví dụ sau đây quy định dữ liệu trả về dưới dạng một WorkSheet của Exel: 24 56  Expires : Chỉ định thời gian Cookies lưu trên trình duyệt của client. Cú pháp : Response.Expires = minutes. Thuộc tính ExpiresAbsolute chỉ định thời gian (dạng M/D/Y h:m:s) Cookies lưu trên trình duyệt của client, ví dụ : Response.ExpiresAbsolute = #May 15, 2005 18:00:00#  IsClientConnected : kiểm tra client có còn kết nối với web server không. Ví dụ sau đây sẽ kiểm tra client nếu còn kết nối với server thì tiếp tục xử lý cơ sở dữ liệu : - Các phương thức : 130
  14.  BinariWrite : dùng để truyền dữ liệu dạng nhị phân cho client ---File1.asp--- Name: Age: Sex: ---File2.asp---- Giả sử dữ liệu nhập lần lượt là An, 25, Female. Kết quả hiển thị : name=An&age=25&Sex=Female&submit=submit  Clear : xoá tất cả dữ liệu trong vùng đệm. Muốn sử dụng phương thức này phải thiết lập Response.Buffer = True.  End : Khi thực hiện phương thức này, server dừng xử lý các script và trả về cho client tất cả dữ liệu đã xử lý được.  Flush : Gởi tất cả dữ liệu trong vùng đệm cho client. Muốn sử dụng phương thức này phải thiết lập Response.Buffer = True.  Redirect : Chuyển hướng trình duyệt của client đến một URL khác. Ví dụ : ---File1.asp--- ---File2.asp---  Write : Ghi thông tin cho client. 131
  15. - Các tập hợp :  Cookies : tập hợp Cookies dùng để thiết lập giá trị cho biến cookies, nếu cookies không tồn tại thì webserver tạo ra một cookie trên máy client Cú pháp : Response.Cookies(name) [key | .Attribute] = value Trong đó : - name : tên cookies muốn tạo ở máy client - key : là tham số tuỳ chọn, nếu giá trị này được thiết lập thì cookies được xem như một cookies từ điển - Attribute : bao gồm những thông tin liên quan đến cookie như : Domain, đây là thuộc tính chỉ ghi cho biết domain tạo cookie này. Expires : quy định ngày hết hạn cookie. Haskeys: cho biết cookie có chứa item hay không. Ví dụ : III.5. Đối tượng Request Đối tượng Request nhận tất cả các thông tin mà trình duyệt của client gởi đến web server thông qua một yêu cầu HTTP ( HTTP request), các thông tin này được lưu trữ trong 5 kiểu tập hợp của đối tượng Request. Các biến có thể được truy cập trực tiếp bằng cách gọi Request(Var), không thông qua tên tập hợp; trong trường hợp này Web server tìm thông tin trong các tập hợp theo thứ tự: QueryString, Form, Cookies, ClientCertificate và ServerVariable. - Các thuộc tính: TotalBytes : trả lại tổng số byte trong phần thân của HTTP request đã được gởi đến server Ví dụ : --- file1.html ---- Name: Age: Sex: -------------------File2.asp------------------ Kết quả in ra trang web phụ thuộc vào dữ liệu cụ thể trong Form. Ví dụ nhập: Name = Quan, Age = 56, và Sex = male. 132
  16. Ta có : ByteCount = 39 bytes - Các phương thức: BinaryRead(Count) : trả về số byte đã được gởi đến web server từ browser như là một phần của POST request. Khi phương thức này được thực hiện xong, biến Count trả về số byte đã được đọc. Giá trị của count tương đương với Request.TotalBytes. Ví dụ : - Các tập hợp:  QueryString : Tập hợp QueryString cho phép lấy thông tin gởi đến web server bằng phương thức GET với biểu mẫu HTML hay dữ liệu gắn với URL khi trang web được yêu cầu. Cú pháp : Request.QueryString.Form(“element”) hoặc : Request.QueryString(“element”) Ví dụ : --- File1.asp ---- Query sample ---- File2.asp ---- Kết quả in ra trang web language = ASP type = general  Form : tập hợp Form chứa các phần tử của gởi đến web server thông qua phương thức POST. Cú pháp : Request.Form(“element”) [“index”] Trong đó element là tên của một phần tử của 133
  17. Ví dụ : ---- File1.asp ---- Name: Company: Position: Address: Phone: ----- File2.asp---- works for at address as a . Giả sử ta nhập dữ liệu lần lượt là : Lê Văn Duẫn, Softech, 15A Quang Trung, Đà Nẵng, Web Designer Kết quả hiển thị trên trang web: Lê Văn Duẫn works for Softech at address 15A Quang Trung, Đà Nẵng as a Web Designer  ClientCertificate : tập hợp này được lưu trong trường client certificate và gởi kèm trong một HTTP request. Nếu browser dùng giao thức SSL3.0 để kết nối với server và server yêu cầu certificate thì browser mới gởi trường này, ngược lại ClientCertificate có giá trị EMPTY  ServerVariables : chứa tất cả thông tin về biến môi trường và ta sử dụng những biến này để truy cập vào HTTP header. Cú pháp : Request. ServerVariables (EnvironmentVariable) Ví dụ : Kết quả hiển thị trên trang web: Your IP Address is 127.0.0.1 and your server is running Microsoft-IIS/5.1 under HTTP/1.1 protocol. 134
  18. Để liệt kê các biến môi trường được lưu trữ trong tập hợp ServerVariables, ta có đoạn script : III.6. Đối tượng Server Đối tượng Server cung cấp các thuộc tính và các phương thức dùng để truy cập web server. - Các thuộc tính :  ScriptTimeOut : quy định thời gian lớn nhất mà các lệnh script còn được thực hiện, giá trị mặc nhiên là 90 giây. - Các phương thức :  CreateObject : tạo một thể hiện (instance) của một đối tượng dùng trong trang ASP hay tạo một đối tượng thuộc dạng COM của Windows thực thi phía web server, đây là phương thức quan trọng nhất của đối tượng Server. Cú pháp : Server.CreateObject(ObjectID) Ví dụ : Server.CreateObject(“ADODB.Connection”)  Execute : cho phép ta gọi một trang ASP khác từ một trang ASP. Ví dụ: ---CallingAsp.asp--- How now cow? ---CalledAsp.asp--- Kết quả sẽ hiển thị : How now pink cow?  GetLastError : phương thức này trả lại đối tượng ASPError mô tả các lỗi xảy ra về các loại Script, runtime. Ví dụ :
  19. Response.Write("Source = " & objErrorInfo.Source) %>  HTMLEncode : dùng để mã hoá một chuổi HTML để khi nó hiển thị trong trình duyệt, trình duyệt sẽ không dịch HTML như là các lệnh trình bày văn bản. Cú pháp : Server.HTMLEncode(string) Ví dụ : Kết quả mã hoá : The tag for a table is: <Table> Kết quả hiển thị trên trang web: The tag for a table is:  URLEncode : mã hoá chuổi string theo quy tắc chuyển đổi của URL hiểu được bởi các trình duyệt phía máy client. Ví dụ : Kết quả hiển thị trên trang web: http%3A%2F%2Fwww%2Eud%2Eedu%2Evn  MapPath : chuyển đường dẫn URL ảo thành đường dẫn vật lý của ổ đĩa trên web server. Ví dụ : Giả sử ta có test.asp đặt trong virtual folder là ASP và thư mục vật lý là E:\Documents and Settings\Administrator\My Documents\My Webs\ASP The path of this file is : Kết quả hiển thị trên trang web: The path of this file is : E:\Documents and Settings\Administrator\My Documents\My Webs\ASP\test.asp  Transfer : phương thức này cho phép truyền toàn bộ thông tin từ trang ASP này sang trang ASP khác. Ví dụ : trang ASP Calling.asp sẽ truyền toàn bộ thông tin chứa trong các đối tượng sang trang Called.asp. ----Calling.asp---- 136
  20. ----Called.asp---- Kết quả hiển thị do trang Called.asp phát sinh Output from Called.asp : name = Giáo trình thiết kế & Lập trình Web publishdate = 01/01/2005 author = Ngô Đình Thưởng OBJ1 is an object. III.7. Đối tượng Session Đối tượng Session là đối tượng được web server tự động khởi tạo khi trang web đầu tiên của ứng dụng được người sử dụng gọi, đối tượng Session được dùng để lưu lại các thông tin của các người dùng tại một phiên làm việc như tên, id v.v., đối tượng này sẽ tồn tại cho đến khi bị huỷ hay hết hiệu lực (time out) Cú pháp : Session.Collecton | Property | Method - Các thuộc tính :  CodePage : để yêu cầu webserver mã hoá dữ liệu trong các hằng, biến chuổi theo bảng mã sẽ được dùng để hiển thị tại client. Ví dụ sau đây yêu cầu webserver mã hoá các chuổi dữ liệu theo bảng mã UTF-8: ‘ dùng cho toàn bộ các trang trong session hiện hành, nếu muốn chỉ xác định ‘ codepage cho một trang hiện hành : Để có thông tin về codepage của các ngôn ngữ khác, có thể xem thông tin tại website http://msdn.microsoft.com/ library/ default.asp? url= /workshop/ author/ dhtml/ reference/ charsets/charset4.asp  LCID : xác định Id của địa chỉ (LoCation IDentifier) sẽ sử dụng nội dung động. LCID là một con số duy nhất một vị trí địa lý hay vùng miền, đây là thuộc tính để quy định cách hiển thị khuôn dạng ngày giờ, tiền tệ, dấu thập phân, dấu phân cách lớp nghìn trên trang web. Ví dụ :
nguon tai.lieu . vn