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

pdf12 trang | Chuyên mục: Tin Học Đại Cương | Chia sẻ: dkS00TYs | Lượt xem: 1763 | Lượt tải: 0download
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:

  • pdfWebCourse - Bài 6 ASP nâng cao.pdf
Tài liệu liên quan