WebCourse - Bài 6: ASP nâng cao
1.Đ ối tượng Response
2. Đối tượng Request
3. Đối tượng Session vàApplication
4. File GLOBAL.ASA
5. COOKIES
6. Đối tượng SERVER
7. ASPError
8. ADO Nâng cao
Tóm tắt nội dung WebCourse - Bài 6: ASP nâng cao, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
: không đặt buffer n TRUE : đặt buffer lưu tạm dữ liệu xuất q : đặt ở đầu trang ASP q Response.Flush : xuất dữ liệu buffer về cho client q Response.Clear : xóa dữ liệu vùng đệm q Response.End : kết thúc xử lý q Response.Expires : đặt thời gian (min) cache (-1:no cache) q Response.ExpiresAbsolute = #date# Bài 6 6Khoa CNTT - ĐHKHTN 1. Đối tượng Response (4) n Kiểm tra client có còn nối với máy chủ q Response.IsClientConnected (TRUE/FALSE) <% '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 Shutdown(Shutdownid) 'Perform shutdown processing. End If %> n Response.CharSet = “UTF-8” : đặt bảng mã dữ liệu trả về 3Bài 6 7Khoa CNTT - ĐHKHTN 2. Đối tượng Request (1) n Request.Form, Request.QueryString q Trường hợp control có nhiều giá trị q Request.Form(“FieldName”).Count : số giá trị q Request.Form(“FieldName”)(i) i=1..count : lấy từng giá trị q Tương tự QueryString hoặc chỉ có Request Bài 6 8Khoa CNTT - ĐHKHTN 2. Đối tượng Request (1) <% For i = 1 to Request.Form("FavoriteFlavor").count %> Request.Form(FavoriteFlavor) = Bài 6 9Khoa CNTT - ĐHKHTN 2. Đối tượng Request (2) n Cách tạo HTTP QueryString q Dùng Form với method=GET q Gõ trực tiếp vào chuỗi URL string sample n Request.ServerVariables(“Variable”) : Lấy các thông tin môi trường tại server 4Bài 6 10Khoa CNTT - ĐHKHTN 2. Đối tượng Request (3) n AUTH_PASSWORD : Lấy thông tin password nhập từ CLIENT (qua đặt quyền Authentication IIS) n LOCAL_ADDR : Trả về địa chỉ Server chứa trang đang được request (trường hợp hosting nhiều địa chỉ) n REMOTE_ADDR : Địa chỉ IP của máy client gọi trang web n REQUEST_METHOD: phương thức truyền Request (GET,POST) n …. Bài 6 11Khoa CNTT - ĐHKHTN 3. Đối tượng Application, Session n Mục đích: lưu biến dữ liệu dùng chung cho nhiều trang q Application : chia sẻ thông tin (biến dữ liệu) cho nhiều người dùng cùng 1 ứng dụng q Session: chia sẻ thông tin (biến dữ liệu) cho nhiều trang cùng 1 phiên làm việc của người dùng Bài 6 12Khoa CNTT - ĐHKHTN 3. Sử dụng Application (1) n Sử dụng biến Application <% Application("greeting") = "Welcome to My Web World!" Application("num") = 25 Set Application("Obj1") = Server.CreateObject("MyComponent") %> ... <% Set MyLocalObj1 = Application("Obj1") MyLocalObj1.MyObjMethod %> 5Bài 6 13Khoa CNTT - ĐHKHTN 3. Sử dụng Application (2) n Sử dụng biến Application <% Application.Lock Application("NumVisits") = Application("NumVisits") + 1 Application.Unlock %> This application page has been visited times! Bài 6 14Khoa CNTT - ĐHKHTN 3. Sử dụng Session (1) n Mỗi phiên làm việc có thời gian xác định q Session.Timeout = minutes q Session.SessionID : ID của phiên làm việc q Session.Contents : chứa danh sách các biến collection trong Session q Session.CodePage: quy định bảng mã xử lý của cả session (=65001 : Unicode UTF-8) n Session.Abandon : Hủy phiên làm việc (hủy cả biến dữ liệu) Bài 6 15Khoa CNTT - ĐHKHTN 3. Sử dụng Session (2) <% Session("username") = "Janine" Session("age") = 24 Set Session("Obj1") = Server.CreateObject("MyComponent.class1") %> ... <% UserName = Session(“username”) Set MyLocalObj1 = Session("Obj1") MyLocalObj1.MyObjMethod %> 6Bài 6 16Khoa CNTT - ĐHKHTN 3. Sử dụng Session (3) n Xử lý mảng trong biến Session <% MyAr(0)=1 MyAr(1) = 10 Session("MyArray") = MyAr %> Không dùng được : Session("MyArray")(0) hay Session("MyArray")(1) Lấy giá trị từ mảng <% MyArTemp = Session("MyArray") v0 = MyArTemp(0) %> Cập nhật giá trị cho mảng <% MyArTemp = Session("MyArray") MyArTemp(0) = 4 Session("MyArray") = MyArTemp %> Bài 6 17Khoa CNTT - ĐHKHTN 4. File Global.asa (1) n Chứa các lệnh thao tác ngay khi các đối tượng Application, Session được tạo q Application_OnStart q Session_OnStart n Chứa các lệnh thao tác khi các đối tượng Application, Session chuẩn bị hủy q Application_OnEnd q Session_OnEnd Bài 6 18Khoa CNTT - ĐHKHTN 4. File Global.asa (2) n File Global.asa đặt tại thư mục gốc của ứng dụng n Cấu trúc tập tin global.asa Sub Application_OnStart . . . End Sub Sub Application_OnEnd . . . End Sub Sub Session_OnStart . . . End Sub Sub Session_OnEnd . . . End Sub 7Bài 6 19Khoa CNTT - ĐHKHTN 5. COOKIES (1) n Là thông tin của 1 ứng dụng được lưu trữ tại máy client n Các điều khiển xử lý thông tin (lưu, lấy) do server thực hiện n Các thuộc tính q Domain : xác định tên miền mà cookies được gởi đi q Expires : ngày hết hạn (Nếu không đặt thì cookies sẽ hết hạn khi hết session) q Path : đường dẫn mà cookies được gởi đi Bài 6 20Khoa CNTT - ĐHKHTN 5. COOKIES (2) n Lệnh ghi cookies q Response.Cookies(cookie)[(key)|.attribute] = value q cookie: tên biến q key : tham số tùy chọn, có thể đặt nhiều giá trị cho 1 cookie q attribute: thuộc tính (domain, path,….) n Lấy giá trị cookies q value = Request.Cookies(cookie)[(key)|.attribute] Bài 6 21Khoa CNTT - ĐHKHTN 5. COOKIES (3) ---cookiesform.asp--- <% Response.Buffer=true %> cookiesform.asp <% ln=Request.Cookies("thatperson")("last name") fn=Request.Cookies("thatperson")("first name") st=Request.Cookies("thatperson")("stat e") %> <FORM ACTION = "cookiesformrespond.asp"> Form with Cookies Please enter your First Name <INPUT NAME="NameFirst" size ="40" value=> Please enter your Last Name <INPUT NAME="NameLast" size ="40" value=> Please enter your State abbreviation <INPUT NAME="State" MaxLength="2" value=> </ 8Bài 6 22Khoa CNTT - ĐHKHTN Ví dụ Cookies n Tạo welcome cookie Bài 6 23Khoa CNTT - ĐHKHTN 6. Đối tượng SERVER n Cung cấp các thuộc tính và phương thức hỗ trợ cho các chức năng ở mức server. q : Đặt thời gian thi hành trang web (phút) q : gọi thi hành trang khác (xem như là 1 phần của trang hiện hành) q Server.HTMLEncode q Server.URLEncode q Server.MapPath q Server.Transfer (“URL”) : Bài 6 24Khoa CNTT - ĐHKHTN Phương thức diễn giải n CreateObjecttạo một thực thể của một đối tượng n ExecuteThực thi một trang ASP từ trong một trang khác n GetLastError()Trả về đối tượng ASPError mô tả tình trạng lỗi. Phương thức này chỉ có thể dùng được trước khi file gởi nội dung đến browser. n HTMLEncodeáp dụng mã hoá HTML thành một chuỗi xác định n MapPathTạo đường dẫn vật lý n TransferChuyển tất cả thông tin (biến application/session, item trong tập hợp request ) đã được tạo trong file ASP đến file ASP khác n URLEncodeáp dụng mã hoá HTML thành một chuỗi xác định 9Bài 6 25Khoa CNTT - ĐHKHTN Ví dụ đối tượng Server n Lấy thời điểm cuối cùng chỉnh sửa file n Mở file text để đọc n Homemade hit counter Bài 6 26Khoa CNTT - ĐHKHTN Đối tượng FileSystemObject (1) n Cung cấp các thuộc tính và phương thức để xử lí tập tin, thư mục, ổ đĩa, ... n Tạo đối tượng set fso = Server.CreateObject(“Scripting.FileSystemObject”) n Các thuộc tính q DriveLetter, DriveName, TotalSize, FreeSpace, Path, ShareName, VolumeName, GetDriver,… Bài 6 27Khoa CNTT - ĐHKHTN Đối tượng FileSystemObject (1) n Các phương thức thao tác thư mục q CreateFolder, DeleteFolder, CopyFolder, MoveFolder, GetFolder,… n Các phương thức thao tác tập tin q CreateTextFile, OpenTextFile, Write, WriteLine, WriteBlankLines, q Read, ReadLine, ReadAll, MoveFile, CopyFile, DeleteFile, ... 10 Bài 6 28Khoa CNTT - ĐHKHTN Ví dụ đối tượng FileSystemObject n Does a specified file exist? Kiểm tra file đã tồn tại chưa?.Sử dụng fs.FileExists("tên file") n Does a specified folder exist? Kiểm tra sự tông tại một file, sử dụng phương thức FolderExists n Does a specified drive exist? Sử dụng fs.DriveExists (với "Set fs=Server.CreateObject") n Get the name of a specified drive Sử dụng fs.GetDriveName n Get the name of the parent folder of a specified path Sử dụng fs.GetParentFolderName để tên lấy thư mục cha n Get the file extension sử dụng fs.GetExtensionName n Get the base name of a file or folder sử dụng fs.GetBaseName Bài 6 29Khoa CNTT - ĐHKHTN 7. Đối tượng ASPError n Lưu các thông tin lỗi trong quá trình thực thi n Tạo đối tượng ASPError q Set objAspErr = Server.GetLastError() n Các thuộc tính mô tả thông tin lỗi q ASPCode q Source q Category q File q Line q Column q Description q ASPDescription Bài 6 30Khoa CNTT - ĐHKHTN 1. Đối tượng ASPError (1) n Lưu các thông tin lỗi trong quá trình thực thi n Tạo đối tượng ASPError q Set objAspErr = Server.GetLastError() n Các thuộc tính mô tả thông tin lỗi q ASPCode q Source q Category q File q Line q Column q Description q ASPDescription 11 Bài 6 31Khoa CNTT - ĐHKHTN 1. Đối tượng ASPError (2) <% Sub DisplayError() Set objASPError = Server.GetLastError() blnErrorWritten = False If (objASPError.Line > 0) AND (objASPError.Column > 0) Then blnErrorWritten = True Response.Write ", line " & objASPError.Line Response.Write ", column " & objASPError.Column Response.Write Server.HTMLEncode(objASPError.Source) Response.Write "" & objASPError.File End If End Sub %> Bài 6 32Khoa CNTT - ĐHKHTN 2. ADO Nâng cao (1) n Xử lý lỗi liên quan đến CSDL q Sử dụng đối tượng Connection.Errors <% ‘ Cnn đối tượng Connection kết nối CSDL IF Cnn.errors.count> 0 then response.write "Database Errors Occured" & "" for each error in Cnn.errors response.write "Error #" & error.number & "" response.write "Error desc. -> " & error.description & "" next else response.write "No Database Errors Occured!" & "" exit sub end if %> => Thực hiện kiểm tra sau mỗi lần thao tác đến CSDL Bài 6 33Khoa CNTT - ĐHKHTN Xem thêm các đối tượng n ASP TextStream n ASP Drive n ASP File n ASP Folder n ASP Dictionary 12 Bài 6 34Khoa CNTT - ĐHKHTN Xem thêm các thành phần n ASP AdRotator n ASP BrowserCap n ASP Content Linking n ASP Content Rotator
File đính kèm:
- WebCourse - Bài 6 ASP nâng cao.pdf