Đối tượng Session Đối tượng Session dùng lưu trữ các thông tin chỉ có tác dụng đối với kết nối của một người dùng trong khoảng thời gian nào đó.. Đối tượng Session được web Server tự tạo
Trang 16 Đối tượng Session
Đối tượng Session dùng lưu trữ các thông tin chỉ có tác dụng đối với kết nối của một người dùng trong khoảng thời gian nào đó Đối tượng Session được web Server
tự tạo khi người dùng gọi trang web đầu tiên trong ứng dụng Session rất tiện lợi cho người phát triển web trong việc lưu lại thông tin của các người dùng Các giá trị lưu trữ trong session sẽ không bị loại bỏ đi khi người dùng chuyển từ trang này sang trang khác trong một ứng dụng, đối tượng Session sẽ tồn tại cho đến khi phiên làm việc (Session) bị huỷ bỏ hoặc hết hiệu lực (time out) Thông tin lưu trữ trong phiên làm việc với từng người dùng xác định là duy nhất và không thể chia sẻ hay truy xuất với những người dùng khác nhau
Cú pháp:
Session.Collection | Properties | Method
a Tập hợp(Collection)
ð Contents: chứa tất cả những khoản mục do chúng ta thiết lập cho đối tượng
Session mà không dùng thẻ <Object>
Cú pháp: Session.Contents(Key)
Key: tên thuộc tính cần nhận về
Ví dụ: Biến mức độ của phiên làm việc được tạo lập
<%
dim strvar1
strvar1= “Session Variable 1”
session.Content(“sessionVar1”)= strvar1
%>
b Thuộc tính(Property)
ð SessionID: trả về số định danh session cho user Mỗi session sẽ được server
cho một số định danh duy nhất khi nó được tạo ra Khi web Server ngừng hoạt động rồi khởi động lại thì những SessionID lần sau phát sinh có thể sẽ trùng với lần phát sinh trước đó Vì vậy không thể dùng SessionID làm khoá chính cho một ứng dụng cơ sở dữ liệu (CSDL)
Cú pháp: Session.SessionID
Ví dụ:
<%
dim usersesionID
usersesionID = session.SessionID
%>
ð Timeout: Thời gian đối tượng Session còn tồn tại Giá trị này tính bằng
phút Nếu người dùng không cập nhật hoặc yêu cầu lại một trang web của ứng dụng trong khoảng thời gian lớn hơn thời gian timeout thì phiên làm việc sẽ kết thúc Giá trị mặc định là 20 phút
Cú pháp: Session.Timeout[=số phút]
Ví dụ: <% session.Timeout=10 %>
Chú ý: thuộc tính Timeout ảnh hưởng tới toàn bộ phiên làm việc người sử dụng chứ
Trang 2c Phương thức(Method )
ð Abandon: hủy bỏ một session và giải phóng tài nguyên Web Server sẽ tự
động thực hiện phương thức này khi phiên làm việc hết hiệu lực
Cú pháp: Session.Abandon
d Sự kiện(event)
ð Session_OnStart: biến cố xảy ra khi Server tạo một phiên làm việc Server
xử lý kịch bản này lúc thực thi yêu cầu một trang
ð Session_OnEnd: Biến cố xảy ta khi phiên làm việc bị huỷ bỏ bởi lệnh
Abandon hoặc timeout
Cú pháp:
<SCRITP LANGUAGE=Scriptlaguage RUNAT=Server >
Sub Session_OnEnd
Sub Session_OnStart
</SCRITP>
Cả phương thức Session_OnStart và Session_OnEnd phải được đặt trong tập tin
global.asa
7 Đối tượng Application
Trong ASP, ứng dụng (application) được định nghĩa là một tập hợp các file và tài nguyên (như asp, html, gif ) kết hợp với nhau để xử lý hoặc phục vụ cho một mục đích nào đó ASP sử dụng đối tượng Application để biểu diễn cho ứng dụng, chia sẻ thông tin cho mọi người dùng Do thông tin trong đối tượng Application được mọi người dùng chung nên có cần một phương thức để đảm bảo tính thống nhất của dữ liệu Các thành phần trong đối tượng Application là những biến toàn cục cần cho tất cả người dùng trong ứng dụng
Cú pháp:
Application.Method
a Collection
ð Contents: Chứa tất cả các khoản mục do chúng ta thiết lập trong đối tượng
Application mà không dùng thẻ <Object>
Cú pháp: Application.contents(tên thuộc tính)
ð Lock: Phương thức này 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 hiện hiện lệnh này khi xử lý script hoặc timeout
Cú pháp: Application.Lock
ð Unlock: Phương thức này cho phép client thay đổi giá trị của những biến lưu
trong đối tương Application đã bị khoá trước kia
Cú pháp: Application.UnLock
Trang 3b Sự kiện (event)
ð Application_Onstart: Biến cố này xảy ra trước khi phiên làm việc đầu tiên
được tạo, nghĩa là nó xảy ra trước biến cố Session_OnStart Trong biến cố này chỉ tồn tại đối tượng Application và Session
ð Application_OnEnd: Biến cố này xảy ra khi thoát ứng dụng Nó xảy ra sau
biến cố Session_onEnd
Cả phương thức Session_OnStart và Session_OnEnd phải được đặt trong tập tin
global.asa
8 Chèn tập tin (Include)
Khi tạo một ứng dụng Web bao gồm nhiều trang ASP, nếu như các trang đều sử dụng thông tin chung nào đó, chẳng hạn là các hằng giá trị, để tránh việc định nghĩa lại thông tin, ta có thể sử dụng cơ chế Include của ASP
Server-side includes là một cơ chế giúp ta có thể chèn thông tin vào một file trước khi xử lí ASP chỉ thực hiện chỉ dẫn tiền xử lí #INCLUDE của cơ chế này Ta
có thể sử dụng chỉ dẫn này để chèn nội dung của một file khác vào một file đuôi
.asp trước khi ASP xử lí file đuôi asp Để đưa nội dung của một file khác vào một file đuôi asp trước khi xử lý file asp ta sử dụng cú pháp sau:
<! #include virtual | file=”tênfile” >
Ví dụ: <! include file =”khaibao.asp” >
Phải khai báo Virtual hoặc File, là những từ khóa chỉ đến kiểu đường dẫn mà ta
sử dụng để kết hợp file, trong đó quy định các file kết nối phải có đuôi là inc hoặc asp, phần tên file bao gồm cả đường dẫn và tên file
• Sử dụng từ khóa Vitual: Sử dụng từ khóa này để chỉ đến đường dẫn bắt đầu
với thư mục ảo(virtual directory)
Ví dụ: Nếu một file tên là ketnoi.inc nằm trong thư mục Myapp, thì được kết hợp
bởi dòng sau:
<! #INCLUDE VIRTUAL="/myapp/ketnoi.inc" >
Sẽ kết nối bất kỳ tập tin trong thư mục web của bạn, nhưng phải cung cấp tên tập tin với một đường dẫn đầy đủ
• Sử dụng từ khóa file:Sử dụng từ khóa này để chỉ đến một đường dẫn quan hệ
Một đường dẫn quan hệ bắt đầu với thư mục chứa file kết hợp
Ví dụ: Có một file trong thư mục Myapp, và một file Header1.inc trong Myapp\Headers, dòng sau sẽ chèn Header1.inc vào file của bạn:
<! #INCLUDE FILE="headers/header1.inc" >
9 Tập tin Global.asa
- Ứng dụng Web là một tập các trang Web, asp và htm trong một thư mục Web và các thư mục con
- Tập tin Global.asa xác định khởi đầu và kết thúc của một ứng dụng web cũng như các phiên làm việc thuộc từng người dùng đối với ứng dụng
- ASP cung cấp cho bạn file cấu hình Global.asa, nơi bạn có thể đặt các đoạn mã kịch bản để xử lý sự kiện hay triệu gọi các hàm, thủ tục, biến mang tính
Trang 4của ứng dụng được yêu cầu, trình chủ IIS sẽ đọc và nạp thông tin trong file Global.asa Tập tin này cho phép đặt 4 thủ tục vào: Session_OnStart, Session_OnEnd, Application_OnStart, Application_OnEnd
§ Application_OnStart: Sự kiện này phát sinh khi người dùng lần đầu tiên
triệu gọi bất kỳ trang nào trong ứng dụng Web Sau khi sự kiện này kết
thúc quá trình xử lý, trình chủ IIS sẽ thực thi đến sự kiện Session_OnStart
§ Session_OnStart: sự kiện này phát sinh mỗi khi có một người dùng mới yêu cầu trang ASP của ứng dụng Web lần đầu tiên
§ Session_OnEnd: sự kiện này được gọi khi phiên làm việc Session của
người dùng chấm dứt, nghĩa là người dùng thoát khỏi ứng dụng hoặc
timeout
§ Application_OnEnd: sự kiện này phát sinh khi không còn người dùng nào
tương tác với ứng dụng web của bạn nữa Thông thường sự hiện này được gọi khi trình chủ IIS ngừng hoạt động hoặc khi tất các các phiên làm việc
đã đóng
Thủ tục xử lý các sự kiện này trong file Global.asa theo mẫu sau:
<SCRIPT LANGUAGE=”vbscript” RUNAT=”Server ”>
sub Application_OnStart
sub Session_OnStart
sub Session_OnEnd
sub Application_OnEnd
</script>
Trang 5CHƯƠNG 4
THAM CHIẾU THÀNH PHẦN
Ngoài các đối tượng có sẵn trong môi trường ASP, việc tạo các Web động bằng ASP còn được trợ giúp nhờ một số thư viện các đối tượng (ActiveX Component) của ActiveX Server Các thành phần được thiết kế để chạy trên Web Server như một ứng dụng Web cơ sở hợp thành các gói nhỏ đặc trưng là động Mỗi thành phần được sử dụng cho một công việc chuyên biệt, được thiết kế ở dạng tự động, thực hiện một nhóm công việc chung nhất cho một thao tác nào đó, chẳng hạn như truy xuất cơ sở dữ liệu, truy xuất file , vì thế người phát triển ứng dụng Web bằng ASP không cần phải tạo lại các đặc tính này
1 Thành phần Ad Rotator
Đối tượng AdRotator cho phép hiển thị các ảnh quảng cáo trên Web site một cách ngẫu nhiên Mỗi khi một user mở hoặc nạp lại một trang Web, thành phần AdRotator hiển thị một thông báo mới dựa trên thông tin bạn chỉ định trong Rotator Schdule File
Cú pháp
Set AdRotator =Server.CreateObject(“MSWC.AdRotator”)
AdRotator: là tên của đối tượng AdRotator
a Thuộc tính:
ð Border: Chỉ định kích thước đường viền của quảng cáo Banner
Ví dụ:
<%
dim Adrot Adrot=Server.CreateObject("MSWC.AdRotator") Adrot.Border="2"
%>
ð Clickable: Cho biết quảng cáo banner có chức năng là một siêu liên kết Nó
có hai giá trị True hoặc False
Ví dụ:
<%
dim Adrot Set Adrot=Server.CreateObject("MSWC.AdRotator") Adrot.ClickAble=faulse
%>
ð TargetFrame: Chỉ định tên frame hiển thị thông báo đó Có thể thiết lập
tham số này là: _blank, _child, _new, _parent, _self hoặc _top
Ví dụ:
<%
dim Adrot Adrot=Server.CreateObject("MSWC.AdRotator") Adrot.TargetFrame=_top
Trang 6b Phương thức
ð GetAdvertisement: Lấy chi tiết thông tin về quảng cáo banner
Ví dụ:
<% dim Adrot %>
<%=Adrot.GetAdvertisement(“/giaotrinh/adrot.txt”)%>
Ví dụ: Ví dụ đầy đủ về Ad Rotator
• Trang được yêu cầu đầu tiên chứa thành phần quảng cáo (Giả sử:
default.asp)
<html>
<head>
<title>Home Page</title>
</head>
<body>
<%
set adrotator=Server.CreateObject("MSWC.AdRotator") response.write(adrotator.GetAdvertisement("qcao.txt"))
%>
</body>
</html>
• qcao.txt là file chứa cấu hình thông tin và danh sách ảnh quảng cáo Nội
dung như sau:
REDIRECT chuyen.asp width 440
height 80 border 1
* /giaotrinh/image1.gif http://www.google.com Quang cao 1
60 /giaotrinh/image2.gif http://mail.yahoo.com Quang cao 2
20
Nội dung file txt được chia làm 2 phần: Phần mô tả thông tin vùng quảng cáo
và phần chứa danh sách các ảnh cũng như địa chỉ trang Web sẽ liên kết đến khi người dùng kích chuột vào quảng cáo
+ Chỉ định Redirect cho biết trang asp sẽ được gọi khi người dùng kích chọn
vào hình ảnh quảng cáo Trong ví dụ trên, trang chuyen.asp là trang sẽ được gọi
+ Chỉ định width, height, boder cho biết chiều rộng, chiều cao và viền khung cho vùng không gian chứa quảng cáo
Mỗi mục thông tin gồm 4 dòng:
- Tên hình ảnh cần hiển thị
- Địa chỉ của trang quảng cáo
- Thông tin mô tả vắn tắt cho mẫu quảng cáo
- Độ ưu tiên tương đối giữa các ảnh quảng cáo sẽ được lựa chọn