Tải bản đầy đủ (.doc) (57 trang)

BÀI BÁO CÁO THỰC TẬP-Xây dựng Website môn học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (620.68 KB, 57 trang )

LỜI MỞ ĐẦU
Ngày nay, công nghệ thông tin đã phát triển mạnh mẽ trên thế giới
cũng như ở nước ta. Có thể nói mọi hoạt động hằng ngày của chúng ta
không thể tách rời khỏi công nghệ thông tin.
Qua quá trình khảo sát cùng sự hướng dẫn của cô Nguyễn Thị Hiền,
em đã quyết định chọn đề tài “Xây dựng Website môn học” cho khoa Công
Nghệ Thông Tin. Mặc dù đây không phải là một nội dung mới mẻ nhưng nó
có thể đem đến nhiều lợi ích thiết thực: cung cấp cho sinh viên lượng thông
tin phong phú về các môn học, không chỉ là những thông tin cơ bản do khoa
cung cấp mà còn cả thông tin về quá trình giảng dạy, đề cương, tài liệu cho
môn học. Hỗ trợ các giảng viên quản lý, soạn bài giảng, đề cương trực tiếp
cho môn học sao cho phù hợp nhất.
Để thực hiện tốt đề tài này, em xin chân thành cảm ơn cô Nguyễn Thị
Hiền đã tận tình hướng dẫn giúp em có những bước chuẩn bị đúng đắn, cảm
ơn các thầy cô trong khoa CNTT, trong Học viện đã cung cấp những thông
tin cần thiết, tạo điều kiện thuận lợi cho em tham khảo hệ thống, cảm ơn các
bạn sinh viên đã tích cực đóng góp ý kiến giúp em hoàn thành đề tài này. Em
xin chân thành cảm ơn!.
Hà Nội, ngày 12 – 11 – 2012
Sinh viên thực hiện:
Nguyễn Công Tiến
- 1 -
MỤC LỤC
Chương 1 4
NGÔN NGỮ HTML 4
Chương 2 7
TỔNG QUAN VỀ ASP 7
Chương 4 33
SQL SERVER 33
- 2 -
Phần 1


GIỚI THIỆU ĐỀ TÀI
I. Tên đề tài
“Xây dựng website môn học”
II. Mục tiêu
Xây dựng website môn học cho khoa Công nghệ thông tin (CNTT)
trường Học viện Kỹ thuật quân sự (HVKTQS) hỗ trợ được người dùng các
công việc sau:
- Công tác nghiệp vụ : quản lý môn học, đề cương, tài liệu cho từng
môn học.
- Khả năng tìm kiếm thông tin nhanh.
- Kết xuất các báo cáo nghiệp vụ theo yêu cầu.
- Khả năng kết nối thông tin trên mạng diện rộng.
III.Công việc thực hiện
1. Về lý thuyết
- Củng cố và tìm hiểu thêm kiến thức lý thuyết về:
+ Ngôn ngữ HTML.
+ ASP với việc quản lý cơ sở dữ liệu.
+ Hệ quản trị CSDL SQL Server.
- Cài đặt và sử dụng:
+ Phần mềm Visual Studio 2008 (hoặc Visual Studio 2010).
+ Hệ quản trị CSDL SQL Server 2005.
2. Về bài toán thực tế
- Tìm hiểu hoạt động hệ thống quản lý học phần khoa CNTT trường
HVKTQS, từ đó mô tả hệ thống.
- Phân tích hệ thống và thiết kế hệ thống mới.
- 3 -
Phần 2
CƠ SỞ LÝ THUYẾT
Chương 1
NGÔN NGỮ HTML

I. Khái niệm
HTML ( HyperText Markup Language) là ngôn ngữ định dạng văn
bản siêu liên kết. Sự định dạng dựa trên các thẻ (TAG) hoặc các đoạn mã
đặc biệt để đánh dấu một văn bản, một file ảnh, hoặc một đoạn phim, giúp
cho trình duyệt Web thông dịch và hiển thị chúng lên màn hình. HTML có
những phần mở rộng rất quan trọng cho phép những liên kết hypertext từ
một tài liệu này tới một tài liệu khác (có thể là một đoạn văn bản, cũng có
thể là một file ảnh, ).
II. Cấu trúc cơ bản của một file HTML
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<H1>Đây là một đầu đề</H1>
</BODY>
</HTML>
- 4 -
Theo cấu trúc đã trình bày như trên ta thấy một file HTML chia thành
hai phần cơ bản:
- Phần đầu: được bao bởi hai tag <HEAD> và </HEAD>. Tại đây định
nghĩa tên (hay được gọi là tiêu đề) của trang Web. Phần này được hiển thị
trên thanh tiêu đề của trang Web được khai báo giữa hai tag <TITLE> và
</TITLE>.
- Phần thân: được bao bởi hai tag <BODY> và </BODY>, trình bày
nội dung thể hiện trên trang Web. Các nội dung cần hiển thị hoặc xử lý trên
trang Web sẽ được định nghĩa trong phần BODY của file HTML. Để cho
các trang Web được sinh động hơn, ngôn ngữ HTML còn bao gồm rất nhiều
tag dùng cho việc định trang, liên kết các trang với nhau, thêm hình ảnh vào
trang, ….

III.Các thẻ (tag) của HTML
- Có hai loại tag cơ bản là: tag mang thông tin (container tag) và tag
rỗng (empty tag).
+ Một số tag mang thông tin:
<HEAD> … </HEAD>: hiển thị thông tin trên thanh tiêu đề của cửa sổ trình
duyệt.
<BODY> … </BODY>: hiển thị nội dung, đề mục, hình ảnh …
<TITLE> … </TITLE>: hiển thị tựa đề trang Web.
<TABLE> … </TABLE>: thiết kế để chứa tất cả các thành phần cần thiết để
tạo một bảng.
<CAPTION> … </CAPTION>: tạo tựa đề cho bảng.
<TR> … </TR>: tạo hàng.
<TD> … </TD>: tạo cột.
<FONT> … </FONT>: cho phép điều khiển kích thước font và màu của chữ.
- 5 -
+ Tag rỗng (empty tag):
<BR>: buộc trình duyệt ngắt dòng tại một vị trí nào đó.
<HR>: đặt một đuờng mờ ngang qua bề rộng của cửa sổ trình duyệt Web.
<IMG>: chèn một tập tin hình ảnh lên trang Web.
- 6 -
Chương 2
TỔNG QUAN VỀ ASP
I. Tìm hiểu công nghệ ASP
a. Giới thiệu
- ASP (Microsoft Active Server Pages) là một môi trường kịch bản
trên máy chủ dùng để tạo ra và chạy các ứng dụng Web động, tương tác và
có hiệu quả cao. ASP hoạt động dựa vào các script do người lập trình tạo ra.
- ASP xây dựng sẵn một thư viện cho phép giao tiếp với cơ sở dữ liệu
thông qua ODBC (Open Database Conectivity) gọi là ADO (ActiveX Data
Object). Hiện nay thư viện ADO là một trong những công cụ mạnh nhất

trong việc phát triển các ứng dụng Web.
b. Hoạt động của trang ASP
- Trang ASP là trang Web trong đó có kết hợp các thành phần HTML,
ActiveX Component và Script ASP. Có thể xem trang ASP như một trang
HTML có bổ sung các lệnh kịch bản ASP.
- Khi một trang ASP được trình duyệt Web yêu cầu, đầu tiên Web
server sẽ duyệt tuần tự trang ASP này và chỉ thực hiện dịch những câu lệnh
kịch bản ASP, kết quả trả về cho trình duyệt dưới dạng một trang HTML.
- 7 -
II. Mô hình ứng dụng cơ sở dữ liệu trên Web qua công nghệ ASP
- Thao tác giữa client và server trong một ứng dụng Web có thể được
thể hiện khái quát như sau:
a. Web server
Là nơi tiếp nhận và trả lời các yêu cầu của người dùng Web (client),
đồng thời cũng thực hiện việc kết nối đến hệ quản trị cơ sở dữ liệu (DBMS)
trên Database server theo yêu cầu truy cập dữ liệ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
cơ sở dữ liệu. Các lệnh này được chuyển đến cho hệ DBMS để thi hành
thông qua các thành phần OLEDB (và ODBC). Kết quả truy vấn dữ liệu sẽ
được Web server đưa ra hiển thị trên trình duyệt.
b. Database server
Là nơi diễn ra việc thực thi các thao tác trên cơ sở dữ liệu như truy
vấn, cập nhật, cũng như đảm bảo tính toàn vẹn dữ liệu của hệ DBMS.
c. Browser
Giao diện với người dùng là nơi tiếp nhận yêu cầu của người dùng,
cũng như hiển thị kết quả yêu cầu. Ngoài, ra trình duyệt còn là nơi kiểm tra
sơ bộ tính hợp lệ của dữ liệu trước khi chuyển đến cho Web server.
- 8 -

Web server

DB server

Client
Trình duyệt
Web
ASP
A
D
O
O
L
E
D
P
O
D
B
C
DBMS
SQL
server
III.Cấu trúc và cách tạo trang ASP
- Trang ASP đơn giản là trang văn bản với phần mở rộng .asp, gồm có
ba phần:
+ Văn bản (Text)
+ Thẻ HTML
+ Các đoạn kịch bản ASP
- Sử dụng trang HTML có sẵn để tạo trang ASP bằng cách thêm vào
các lệnh kịch bản ASP cần thiết và đổi phần mở rộng của tên tập tin thành
.asp.

- Khi thêm một đoạn kịch bản vào trang HTML để đánh dấu nơi kịch
bản ASP bắt đầu và kết thúc, dùng cặp lệnh <% … %>.
- Những lệnh nằm giữa <% … %> phải sử dụng ngôn ngữ viết kịch
bản chính thức quy định cho trang đó. VBScript là ngôn ngữ mặc định của
ASP. Nếu muốn sử dụng một ngôn ngữ khác (như JavaScript chẳng hạn) thì
cần phải định nghĩa ngôn ngữ tại đầu mỗi trang ASP như sau:
%@LANGUAGE = tên ngôn ngữ %.
- Các biến không cần khai báo mà tự xác định khi gán giá trị cho nó.
- Muốn in ra các biến trong Web, sử dụng mã sau: <%=s %>
- Để làm việc với hệ thống tập tin, thao tác với cơ sở dữ liệu, cần phải
sử dụng các đối tượng ActiveX của ASP.
IV. Các đối tượng và thành phần xây dựng sẵn của ASP:
1. Các đối tượng (object) của ASP:
Đối tượng là những đoạn chương trình có khả năng thực hiện một số
công việc cơ bản nào dó. Mỗi đối tượng là một kết hợp giữa lập trình và dữ
liệu. Các đối tượng ASP cho phép giao tiếp, tương tác với cả máy chủ (Web
server) lẫn trình duyệt (Browser).
- 9 -
Có 6 đối tượng cơ bản trong ASP:
♦ Request: cho phép lấy thông tin thông qua một yêu cầu HTTP.
Những thông tin này gồm có các tham số của Form khi được Submit bằng
phương thức POST hay GET, hoặc các tham số được chia cùng với trang
ASP trong lời gọi đến trang đó. Dùng đối tượng Request để chia sẻ thông tin
qua lại giữa các trang ASP trong một ứng dụng với nhau.
♦ Response: gửi thông tin tới người dùng, là đại diện cho phần thông
tin do server trả về cho trình duyệt Web.
♦ Application: giúp điều khiển các đặc tính liên quan đến việc khởi
động và khai thác ứng dụng cũng như việc lưu trữ thông tin có thể được truy
nhập bởi các ứng dụng nói chung. Nói cách khác đối tượng Application dùng
để chia sẻ thông tin giữa các người dùng trong cùng một ứng dụng, chẳng

hạn đếm số lần truy cập đến ứng dụng của các người dùng.
♦ Server: cung cấp phương tiện truy cập đến những phương thức và
thuộc tính trên server. Thường sử dụng phương thức Server.CreateObject để
khởi tạo phiên bản của một đối tượng ActiveX trên trang ASP.
♦ Session: dùng lưu trữ thông tin cần thiết trong phiên làm việc của
người dùng đã truy nhập vào trang Web. Những thông tin lưu trữ trong
phiên làm việc không bị mất đi khi người dùng di chuyển qua các trang của
ứng dụng.
♦ ObjectContext: dùng để chấp thuận hay huỷ bỏ một giao dịch do
một kịch bản ASP khởi tạo.
- 10 -
SƠ ĐỒ MỐI QUAN HỆ GIỮA CÁC ĐỐI TƯỢNG ASP TRONG ỨNG DỤNG ASP
Cú pháp của các đối tượng:
Cú pháp của các đối tượng không phụ thuộc vào ngôn ngữ kịch bản
mà người lập trình sử dụng.
Để truy xuất thông tin của một đối tượng ta dùng các phương thức
(method) và các thuộc tính (property).
Sử dụng các phương thức:
Một phương thức (method) là một procedure hoạt động trên một đối
tượng nào đó. Cú pháp tổng quát của method là:
Object.Method [parameters]
parameter : là các thông số của method.
- 11 -
Ứng dụng ASP
Đối tượng Application
Đối tượng Application
Đối tượng Session (1 user )
Internet Information Server I/O: Đối tượng Request và Response
Đối tượng Session (1 user )
Đọc thông tin từ Application Cập nhật thông tin cho Application

Liên lạc qua IIS, chia sẻ thông tin giữa các người sử dụng
Quản lý quá trình và tài nguyên của ứng dụng
Liên lạc với Browser qua Internet
Sử dụng các thuộc tính:
Một thuộc tính là một tính chất được đặt tên của một đối tượng.
Chúng định nghĩa các tính chất của đối tượng như kích thước, màu, vị trí
trên màn hình hay thể hiện các trạng thái của đối tượng như được phép
(enable) hay không được phép (disable). Cú pháp tổng quát của property là:
Object.Property [parameters]
Parameter: là các thông số của Property.
Parameter thường là các biến, dữ liệu, chuỗi ký tự, hoặc là một URL.
a. Đối tượng Request:
- Các tập hợp (Collection) của đối tượng Request: Đối tượng Request
cung cấp 5 collection cho phép truy xuất tất cả các loại thông tin về yêu cầu
của Browser đối với Server.
۰ QueryString: Tập hợp này nhận tất cả giá trị trong chuỗi truy vấn,
đó là giá trị được gởi lên theo sau dấu chấm hỏi (?) trong câu lệnh request.
Cú pháp: Request.QueryString (Tên biến)[(chỉ mục)].Count
۰ Form: Nhận các giá trị của các thành phần trong Form được gởi
bằng phương thức POST thông qua một HTTP request.
Cú pháp: Request.Form (element)[(index) | .Count]
Trong đó:
Element: Tên của một thành phần trong Form.
Index: Tham số tuỳ chọn cho phép chúng ta truy cập một trong những
giá trị của một tham số (parameter).
۰ Cookie: Là một tập tin lưu trên máy của client dưới dạng một tập
tin nhỏ. Cookie được trình duyệt của client gởi kèm trong HTTP request.
Cú pháp: Request.Cookies (cookie)[(key)|.attribute]
- 12 -
Trong đó:

Cookie: Chỉ định cookie để nhận giá trị.
Key: Tham số tuỳ chọn dùng để nhận các khoản mục có trong cookie.
Attribute: Chỉ định thông tin về bản thân cookie. Tham số thuộc tính
này có thể là Name hay HasKeys.
۰ ServerVariable: Nhận các giá trị của các biến môi trường.
۰ ClientCertificate: Nhận certificate fields từ yêu cầu của Trình duyệt
Web.
Cú pháp: Request.ClientCertificate (Key [SubField])
- Thuộc tính (property) của đối tượng Request: Đối tượng Request chỉ
có 1 thuộc tính cung cấp thông tin về số byte dữ liệu mà người dùng chuyển
lên trình chủ.
۰ TotalByte: Trả lại tổng số byte trong đối tượng Request được gửi
lên từ trình khách.
- Phương thức (method) của đối tượng Request: Đối tượng Request
chỉ có một phương thức cho phép truy xuất toàn bộ nội dung của yêu cầu
của người dùng được POST lên server qua phân đoạn <FORM> của một
trang Web.
۰ BinaryRead (count): nhận count byte dữ liệu từ yêu cầu client khi
dữ liệu được gởi đến server là một phần của request POST. Nó trả về một
mảng Variant.
Cú pháp tổng quát khi sử dụng đối tượng Request:
Request.CollectionName(variable)
Variable: là tên biến trong Collection muốn truy xuất thông tin. Cũng
có thể sử dụng cú pháp:
Request (variable)
- 13 -
Khi đó thứ tự tìm kiếm sẽ tuân theo danh sách các Collection trên và
khi gặp biến đầu tiên trùng tên thì trả về giá trị của biến đó. Vì thế nếu có
nhiều hơn một biến với cùng một tên trong các Collection khác nhau thì nên
sử dụng dạng cú pháp tổng quát.

Sau đây là một số ứng dụng của đối tượng Request:
Lấy thông tin từ FORM
HTML Form là cách thức thông thường để trao đổi thông tin giữa
Webserver và user. HTML Form cung cấp nhiều cách nhập thông tin của
user như: text box, radio button, check box, submit, reset, password, … và
hai phương thức gửi thông tin là POST hoặc GET.
Sử dụng QueryString
QueryString Collection chứa toàn bộ thông tin được gửi tới từ Form
bằng phương thức GET. Các giá trị gởi từ Form chứa trong một chuỗi truy
vấn (query string) và được add vào URL (bắt đầu từ dấu chấm hỏi (?) trở về
sau là phần query string được thêm vào).
Ví dụ:
<FORM NAME=”frmDetails” ACTION=”getDetails.asp”
METHOD=”GET”>
Name: <INPUT TYPE=TEXT NAME=“txtName”>
Age: <INPUT TYPE=TEXT NAME=“txtAddress”>
<INPUT TYPE=SUBMIT>
</FORM>
Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì
hộp Address của trình duyệt sẽ có dạng như sau:
http://company/asptest/GetDetails.asp?
txtName=Minh&txTAGe=30
Hạn chế của phương thức GET: Chiều dài tối đa của URL là 1000 ký
tự, như vậy nếu gởi một loạt thông tin từ Form, thông tin sẽ bị cắt bớt.
- 14 -
Sử dụng Form collection
Thay vì add thông tin gửi đi từ Form vào URL như một querystring,
một phương thức khác là POST, đặt thông tin gửi đi vào bên trong HTTP
HEADER.
Ví dụ:

<FORM NAME=”frmDetails” ACTION=”getDetails.asp”
METHOD=”POST”>
Name: <INPUT TYPE=TEXT NAME=“txtName”>
Age: <INPUT TYPE=TEXT NAME=“txtAddress”>
<INPUT TYPE=SUBMIT>
</FORM>
Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì
hộp Address của trình duyệt sẽ có dạng như sau:
http://company/asptest/GetDetails.asp
Tại thời điểm này, các giá trị gửi từ Form không thể truy xuất bằng
QueryString Collection. Thay vào đó, Active Server Pages hiện thực một
Form Collection chứa toàn bộ thông tin gửi từ Form sử dụng phương thức
POST.
b. Đối tượng Response:
- Các tập hợp của đối tượng Response: Đối tượng Response cung cấp
loại đối tượng tập hợp dùng để xác lập giá trị của bất kỳ cookie nào ta muốn
đặt trên hệ thống của trình khách client. Nó tương đương với tập
Request.Cookies.
۰ Cookies: Một tập chứa giá trị của tất cả các cookie sẽ được gửi
ngược lại client trong đáp ứng hiện hành. Các thành phần của tập đều là giá
trị chỉ ghi.
Cú pháp: Response.Cookies(cookie)[(key)|.attribute] = value
- 15 -
Cookie: Tên của cookie muốn tạo.
Key: Là tham số tuỳ chọn. Nếu giá trị này được thiết lập thì cookie
này được xem là cookie từ điển.
Attribute: Bao gồm những thông tin liên quan đến cookie.
- Các thuộc tính của đối tượng Response: Đối tượng Response cung
cấp một số thuộc tính mà chúng ta có thể đọc và xác lập theo yêu cầu:
۰ Buffer: Là một biến kiểu boolean. 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 kịch bản được xử lý hoặc
phương thức Response.Flush hay Response.End được gọi. Giá trị mặc định
là False.
Cú pháp: Response.Buffer = [True, False]
۰ ContentType: Quy định dạng dữ liệu cho Web server trả về cho
client. Giá trị mặc định là Text/ HTML.
Cú pháp: Response.ContentType [ = ContentType ]
۰ ExpiresAbsolute #date[time]# : Chỉ định ngày và giờ tuyệt đối một
trang sẽ hết hạn và không còn hợp lệ nữa.
۰

Expires minutes: Chỉ định chiều dài thời gian tính bằng phút một
trang còn hợp lệ.
۰ IsClientConnected: Trả lại một chỉ định client có còn kết nối và tải
trang từ server xuống hay không? Có thể sử dụng để kết thúc quá trình (với
phương thức Response.End) nếu client di chuyển đến trang khác trước khi
trang hiện hành được xử lý xong.
۰ Status = “code message”: Chỉ định giá trị trạng thái và thông điệp
sẽ được gởi đến client trong các header HTTP của đáp ứng để một lỗi hay
xử lý trang thành công.
- 16 -
- Các phương thức của đối tượng Response:
۰ AddHeader (tên, nội dung): Thêm một HTML header với một giá
trị được chỉ định. Phương thức này luôn luôn thêm mới một header vào
Response. Nó sẽ không thay thế những header có sẵn cùng tên với header
mới.
۰ AppendToLog (“string”): Thêm một chuỗi vào cuối file Log của
Web server cho Request này.
۰ BinaryWrite (Array): Xuất thông tin ra output HTML dạng binary.
۰ Clear (): Huỷ bất cứ nội dung trang nào trong bộ đệm khi

Response.Buffer bằng True. Không huỷ các header HTTP. Có thể sử dụng
để bỏ một trang chưa hoàn thành.
۰ End (): Dừng xử lý file .asp và trả về kết quả hiện tại.
۰ Flush (): Gởi thông tin trong bộ đệm IIS đến client nếu
Response.Buffer = True. Có thể sử dụng để gởi từng phần riêng của một
trang dài đến client.
۰ Redirect (“URL”): Gởi một thông báo cho browser định hướng lại
đến một URL khác.
۰ WriteString (“string”): Ghi một biến ra HTML output như là một
chuỗi.
c. Đối tượng Session:
- Các thuộc tính của đối tượng Session:
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.
Timeout: chỉ thời gian sống của đối tượng session, giá trị này tính
bằng phút. Nếu người dùng không cập nhật hay yêu cầu một trang Web của
- 17 -
ứ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ác phương thức của đối tượng Session:
Abandon: Dùng để huỷ đối tượng session và giải phóng tài nguyên.
Web server sẽ tự thực hiện phương thức này khi phiên làm việc hết hiệu lực
(timeout).
Ví dụ: Ta có thể tạo các biến trong đối tượng Session để lưu thông tin
cho mỗi kết nối đến Server.
+ Session("Login"): Cho biết người yêu cầu truy xuất đến trang có
login chưa.
+ Session("Username"): Tên của Account tạo ra sesion hiện tại.
+ Session("SelectedTopic"): Tên chủ đề đang được chọn để thực
hiện một thao tác nào đó.

Session_OnStart: Biến cố này 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. Những đối
tượng xây dựng sẵn tồn tại trong biến cố này là: Application, ObjectContext,
Request, Response, Server và Session.
Session_OnEnd: Biến cố này xảy ra khi phiên làm việc bị huỷ bởi
lệnh Abadon hoặc timeout. Trong biến cố này chỉ có các đối tượng xây dựng
sẵn: Application, Server, Session của ASP là tồn tại.
Các thông tin lưu giữ trong Session được giữ nguyên trong suốt thời
gian session tồn tại và có giá trị trong cả tầm vực của session.
d. Đối tượng Application:
- Các phương thức của đối tượng Application:
۰

Contents: Chứa tất cả các item do chúng ta thiết lập trong đối
tượng Application mà không dùng tag <OBJECT>
- 18 -
Cú pháp: Application.Contents (Key)
Key: Tên thuộc tính (property) cần nhận về.
۰ Lock: Phương thức Lock 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, đảm bảo tại một thời điểm
chỉ có một client được phép thay đổi và truy xuất các biến của đối tượng
này. Nếu phương thức UnLock không được gọi thì server tự động thực hiện
lệnh này khi xử lý xong các script hoặc time out.
Cú pháp: Application.Lock
۰ UnLock: Phương thức UnLock cho phép client thay đổi giá trị của
các biến lưu trong đối tượng Application đã bị khóa trước kia.
Cú pháp: Application.UnLock
۰ Application_OnStart: Biến cố này xảy ra trước khi phiên làm việc
(session) đầ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 xuất hiện khi thoát ứng dụng. Nó
xảy ra sau biến cố Session_OnEnd. Trong biến cố này chỉ tồn tại đối tượng
Application và Session.
e. Đối tượng Server:
- Thuộc tính của đối tượng Server:
۰ ScriptTimeOut: Thuộc tính quy định khoảng thời gian lớn nhất mà
các script còn được thực hiện. Giá trị mặc định là 90 giây. Giá trị TimeOut
sẽ không hiệu lực khi server thực hiện kịch bản.
Cú pháp: Server. ScriptTimeOut = NumSeconds
NumSecond: Thời gian tối đa kịch bản hết hiệu lực.
- 19 -
- Các phương thức của đối tượng Server:
۰ CreateObject: Phương thức này tạo một phiên bản của thành phần
ActiveX. Những đối tượng được tạo bởi phương thức này sẽ giải phóng khi
server thực hiện xong các kịch bản. Phương thức này không dùng để tạo các
đối tượng xây dựng sẵn của ASP.
Cú pháp: Server.CreateObject (ProgID)
ProgID (program identifier): Kiểu đối tượng cần tạo.
۰ HTMLEncode : Phương thức này dùng để mã hóa một chuỗi.
Cú pháp: Server.HTMLEncode (string)
۰ MapPath: Phương thức này cho biết thông tin về đường dẫn vật lý
của một thư mục ảo trên Web server.
۰ URLEncode (string): Mã hóa một string thành dạng URL
۰ Execute (path): Thực thi trang .asp trong đường dẫn path.
f. Đối tượng ObjectContext:
- Các phương thức:
۰ SetComplete: Nếu tất cả thành phần có trong giao dịch gọi phương
thức này thì giao dịch sẽ kết thúc. Phương thức SetComplete bỏ qua bất kỳ
lệnh SetAbort đã được gọi trước đó.

Cú pháp: ObjectContext.SetComplete
۰ SetAbort: Phương thức này khai báo tất cả thao tác thực hiện trong
giao dịch sẽ không hoàn thành và tài nguyên có thể không được cập nhật.
Cú pháp: ObjectContext.SetAbort
۰ OnTransactionCommit: Biến cố này xảy ra sau khi tất cả kịch bản
giao tác kết thúc. Web server sẽ xử lý hàm này nếu nó tồn tại.
- 20 -
۰ OnTransactionAbort: Tương tự như biến cố
OnTransactionCommit.
2. Các thành phần của ASP
Thành phần ASP là điều khiển ActiveX ghép nối với ASP để đơn giản
hóa các thủ tục thông thường.
- Các thành phần ActiveX thông dụng:
۰ BrowserType (Browser capabilities object): Thành phần này cho
phép xác định trình duyệt của người dùng là gì và những tính năng nào được
hỗ trợ bởi trình duyệt đó như tên, phiên bản, khả năng hỗ trợ Frame, Table,

۰ CDO (Collaboration Data Object): Liên kết chặt chẽ với IIS SMTP
server. CDO hỗ trợ chúng ta gửi và nhận mail.
۰ Database Access: Một trong những khả năng mạnh mà ASP có
được là khả năng thâm nhập vào các cơ sở dữ liệu. ASP thường làm việc với
Access và hệ quản trị cơ sở dữ liệu SQL. Thành phần này rất hữu ích, giúp
chúng ta có thể kết nối vào một cơ sở dữ liệu bằng cách sử dụng ActiveX
Data Object để viết nội dung lên màn hình trình duyệt và tạo lập hoặc cập
nhật các tập tin cơ sở dữ liệu.
۰ File Access: Thành phần này chứa đựng các phương thức và thuộc
tính có thể sử dụng để truy cập tập tin trên máy tính. Thông qua thành phần
này, chúng ta có thể tạo ra một đối tượng là FileSystemObject, giúp thực
hiện một số công việc như tạo, đọc tập tin…
Ngoài ra còn có những thành phần cung cấp miễn phí hoặc mua từ các

nhà phân phối khác.
- 21 -
۰ ADO (ActiveX Data Object): Đối tượng truy cập dữ liệu. ADO
cung cấp giao diện lập trình quen thuộc với những thuộc tính và phương
thức theo mô hình đối tượng.
۰ AdRotator (AD Rotator Object): Luân phiên hiển thị dãy các hình
ảnh cũng như liên kết từ hình ảnh được hiển thị đến một URL. Thông tin về
hình ảnh và liên kết tương ứng được lưu trữ trong tập tin văn bản (text).
۰ Page Counter: Đếm và hiển thị số lần trang Web được yêu cầu.
۰

MyInfo, Status, System, Tools Object: các thông tin về Web site
V. File cấu hình khởi động global.asa
- Ứng dụng Web là một tập các trang Web, asp và html 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ủa các phiên làm việc (session) thuộc từng người dùng đối
với ứng dụng.
- ASP cung cấp file cấu hình global.asa, nơi có thể đặt các đoạn mã
script xử lý sự kiện hay triệu gọi các hàm, thủ tục, biến mang tính toàn cục.
File global.asa được đặt trong thư mục gốc của ứng dụng. Mỗi ứng dụng
Web chỉ được phép có duy nhất một file global.asa. Khi lần đầu tiên trang
ASP củ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, phát sinh và xử lý các sự kiện được cài đặt trong file
global.asa sau đó chuyển giao quyền xử lý lại cho trang ASP.
File global.asa cho phép cài đặt và xử lý các sự kiện sau:
۰ Application_OnStart: Sự kiện này phát sinh khi người dùng đầu
tiên triệu gọi bất kì trang nào trong ứng dụng Web. Khi trình chủ IIS khởi
động lại hoặc khi nội dung file global.asa bị hiệu chỉnh thì sự kiện này sẽ
- 22 -

được phát sinh trở lại. Sau khi sự kiện này kết thúc quá trình xử lý, trình chủ
IIS sẽ bắt đầu thực thi đến sự kiện Session_OnStart chuẩn bị cho phiên kết
nối. Các biến Application thường được khởi tạo bên trong sự kiện này.
۰ 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. Phiên làm việc đuợc xem là chấm dứt khi nó hết
hạn mặc định cho thời gian hết hạn của Session là 20 phút.
۰ 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 chúng ta nữa. Thông thường sự
kiện này được gọi khi trình chủ IIS ngừng hoạt động. Sự kiện này giúp ứng
dụng Web lưu các thông tin trạng thái cần thiết xuống đĩa cứng phục vụ cho
quá trình hoạt động trở lại của trình chủ sau đó.
Thủ tục xử lý các sự kiện này trong file global.asa được cài đặt theo
mẫu sau:
<script language = “vbscript” runat = “server”>
sub Application_OnStart
Code
end sub
sub Application_OnEnd
Code
end sub
</script>
- Khai báo biến trong global.asa: các biến cũng phải ở dạng biến
Application hoặc biến Session. Có thể đặt vào một đoạn bất kỳ hoặc trong
các thủ tục Application_OnStart, Session_OnStart, giải phóng biến ở
Application_OnEnd hoặc Session_OnEnd.
- 23 -
Chương 3
QUẢN LÝ CƠ SỞ DỮ LIỆU VỚI ASP

I. Khái niệm về ADO
- ADO (ActiveX Data Object) là một tập hợp các đối tượng cho phép
nhà lập trình ASP kết nối với cơ sở dữ liệu.
- ADO là sự kết hợp cơ sở dữ liệu dựa trên DAO (Data Access
Object) và RDO (Remote Data Object) được sử dụng trong những công cụ
xây dựng ứng dụng như Visual Basic.
- ADO là một phần của OLEDB (Object Linking and Embedding for
Databases), là một cách mới để truy xuất và tổ hợp dữ liệu. ADO cho phép
tạo nhanh một tập mẩu tin để lấy dữ liệu.
II. Các đối tượng trong ADO
a. Đối tượng Connection:
- Cho phép thực hiện việc mở kết nối đến nguồn dữ liệu cần truy xuất.
Các thông tin kết nối bổ sung khác như tên đăng nhập cơ sở dữ liệu
(username), mật khẩu (password), tên máy chủ (server) … thường được lưu
vào một chuỗi gọi là chuỗi kết nối (connection string).
- Để có thể kết nối và truy xuất vào nguồn dữ liệu, không bắt buộc
phải tạo ra đối tượng Connection. Các đối tượng như Recordset, Record…
cũng cho phép mở trực tiếp kết nối, tuy nhiên sử dụng đối tượng Connection
sẽ cho phép tách biệt thao tác kết nối và thao tác truy cập dữ liệu. Đối tượng
này còn cung cấp thêm một số chức năng như cho phép thực thi câu lệnh
SQL tác động dữ liệu (INSERT, UPDATE, DELETE… ).
- 24 -
- Các phương thức của đối tượng Connection:
۰ Open: Sử dụng để mở một kết nối với cơ sở dữ liệu. Sau khi tạo một
instance cho đối tượng Connection, ta có thể mở một kết nối với nguồn dữ
liệu để có thể truy xuất dữ liệu.
Cú pháp: dataConn.Open ConnectionString, UserID, Password
Trong đó ConnectionString là chuỗi định nghĩa tên của Data Source
(DNS), tên này được khai báo trong ODBC. UserID và Password sẽ thực
hiện việc mở Data Source.

۰

Execute: Phương thức này cho phép thi hành một câu lệnh SQL, tác
động lên Data Source.
Theo trình tự sau khi đã có một kết nối tới nguồn dữ liệu, ta có thể sử
dụng nó với phương thức Execute với cú pháp trong VBScript như sau:
Set rs = dataConn.Execute (CommandText, RecordAffected,
Options)
Thông thường các giá trị trên sẽ được gán cho tên (danh hiệu), hằng
và được đặt trong các file include.
۰ Close: trong các trang ASP, sau khi đã xử lý xong dữ liệu trên Data
Source, trước khi kết thúc trang sử dụng phải đóng lại các kết nối đã mở.
Việc đóng kết nối thực hiện nhờ phương thức Close.
Cú pháp: dataConn.Close
Nếu chương trình không thực hiện việc này thì ASP sẽ tự động đóng
Connection đã mở trong trang, mỗi khi người sử dụng tham khảo qua trang
khác (đi khỏi tầm vực của biến instance). Nếu ta tạo instance và mở kết nối
trong các thủ tục Application hoặc Session_OnStart thì việc đóng các
Connection này sẽ được thể hiện trong thủ tục OnEnd.
۰ BeginTrans: Bắt đầu một giao dịch mới.
Cú pháp: intTransactionLevel = dataConn.BeginTrans
- 25 -

×