Tải bản đầy đủ (.pdf) (90 trang)

luận văn công nghệ thông tin xây dựng website giải trí

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 (1.94 MB, 90 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC DÂN LẬP KỸ THUẬT CÔNG NGHỆ
  




LUẬN VĂN TỐT NGHIỆP

ĐỀ TÀI:

XÂY DỰNG WEBSITE GIẢI TRÍ




GVHD: Th.S NINH XUÂN HƯƠNG
SVTH :
1. NGUYỄN QUANG TÂN MSSV: 98
TH
215
2. TRẦN

NGUYÊN

VŨ MSSV: 98
TH
320
KHÓA 98





TP. HỒ CHÍ MINH
Năm 2003
TRƯỜNG ĐẠI HỌC DÂN LẬP KỸ THUẬT CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
  


LUẬN VĂN TỐT NGHIỆP


ĐỀ TÀI:

XÂY DỰNG WEBSITE GIẢI TRÍ




GVHV: Th.S NINH XUÂN HƯƠNG
SVTH :
1. NGUYỄN QUANG TÂN MSSV: 98
TH
215
2. TRẦN NGUYÊN VŨ MSSV: 98
TH
320
KHÓA 98






TP. HỒ CHÍ MINH
Năm 2003

Luận Văn Tốt Nghiệp Xây Dựng Website Giải Trí
GVHD: Th.S Ninh Xuân Hương SVTH: Nguyễn Quang Tân
Trần Nguyên Vũ

Lời cám ơn
Trước tiên, chúng con xin chân thành cám ơn Ba Mẹ là
những người đã có công sinh thành, dưỡng dục chúng con và luôn
tạo mọi điều kiện thuận lợi để chúng con hoàn thành luận văn
này.
Chúng em cũng xin chân thành cám ơn tất cả các thầy cô
trong khoa công nghệ thông tin trường Đại học dân lập kỹ thuật
công nghệ. Những người đã giảng dạy chúng em trong những năm
qua.
Đặc biệt, chúng em xin chân thành cám ơn thầy Ninh Xuân
Hương, người đã tận tình hướng dẫn chúng em hoàn thành tốt bài
luận văn này.
Cuối cùng, chúng tôi xin cám ơn tất cả các ban là những
người đã đóng góp và giúp đỡ chúng tôi trong xuốt quá trình làm
luận văn.

Nguyễn Quang Tân & Trần Nguyên Vũ.
Luận Văn Tốt Nghiệp Xây Dựng Website Giải Trí
GVHD: Th.S Ninh Xuân Hương SVTH: Nguyễn Quang Tân
Trần Nguyên Vũ

Nhận xét của Giáo viên hướng dẫn
























Luận Văn Tốt Nghiệp Xây Dựng Website Giải Trí
GVHD: Th.S Ninh Xuân Hương SVTH: Nguyễn Quang Tân
Trần Nguyên Vũ
Nhận xét của Hội đồng phản biện

























Luận Văn Tốt Nghiệp Xây Dựng Website Giải Trí
GVHD: Th.S Ninh Xuân Hương SVTH: Nguyễn Quang Tân
Trần Nguyên Vũ
Lời nói đầu
Giải trí là một trong những nhu cầu cần thiết nhất của con người.
Nếu không có giải trí, con người đến một lúc nào đó sẽ bò căng thẳng,
lo âu khiến cho năng suất công việc của họ sẽ bò giảm xuống, có khi

không thể làm việc được nữa. Điều này ngày nay lại càng dễ xảy ra
hơn.
Với sự phát triển của xã hội và của khoa học kỹ thuật thì nhu cầu
giải trí của con người ngày càng được đáp ứng cao. Ngày nay, mọi
người có nhiều cách để giải trí như là đọc báo, nghe nhạc, xem truyền
hình, … hoặc nếu có nhiều thời gian thì mọi người có thể đi du lòch để
thư giãn.
Ngày nay, với sự phát triển mạnh mẽ của ngành Internet, hầu như
tất cả các nước đền đã nối kết vào mạng Internet và hầu như mọi
người đã biết về nó. Người ta sử dụng Internet để làm hầu như tất cả
mọi công việc trong cuộc sống hằng ngày như là kinh doanh, học tập, …
thậm chí cả những công việc nhỏ nhặt nhất như là đi chợ, mua sắm, hội
họp, nghiên cứu … và nhu cầu giải trí của mọi người qua mạng cũng
phát triển. Mọi người cũng cần thư giãn trên mạng như là hẹn hò, tán
gẫu, đọc truyện, nghe nhạc, … cho bớt căng thẳng và các Website giải
trí đã đáp ứng được điều này. Ở Website giải trí, có nhiều phần cho
mọi người thư giãn như là nghe nhạc, đọc truyện, có hình ảnh của
phong cảnh, hoa, có Chat để tán gẫu và có gởi mail. Khi người sử dụng
vào và truy cập thì có thể sử dụng các thành phần đó, giúp cho họ có
thể được thư giãn. Đó cũng chính là mục đích của Website giải trí.
Luận Văn Tốt Nghiệp Xây Dựng Website Giải Trí
GVHD: Th.S Ninh Xuân Hương SVTH: Nguyễn Quang Tân
Trần Nguyên Vũ
Mục lục
Phần I: Tìm hiểu về cộng nghệ xây dựng Website.
Chương I: Tìm hiểu về ASP (Active Server Pages) Trang 1
1) Tìm hiểu công nghệ asp Trang 1
2) Các thành phần & cú pháp ASP Trang 3
3) Các đối tượng cơ bản của asp Trang 4
4) Các thành phần (component) của asp Trang 9

5) Truy xuất cơ sở dữ liệu trong ASP Trang 9
Phần II: Tìm hiểu về Chat và Mail.
Chương I: Tìm hiểu về Chat theo chuẩn IRC Trang 15
I) Một số khái niệm cơ bản Trang 15
1. Servers Trang 15
2. Clients Trang 15
3. Channels Trang 16
II) Những quy đònh trong IRC Trang 17
1. Dạng chung của thông điệp. Trang 17
2. Message Trang 17
3. Giá trò số trả về (numeric replies) Trang 19
III. Chi tiết cho từng message (Message detail) Trang 20
1. Nhóm message đăng ký kết nối Trang 20
2. Nhóm message dùng cho việc điều khiển Channel Trang 23
3. Nhóm message truy vấn đến server Trang 26
4. Nhóm message gởi text Trang 28
5. Nhóm message do client truy vấn đến server Trang 28
6. Nhóm message khác (miscellaneous message) Trang 29
7. Nhóm message tùy chọn(option message) Trang 30
Chương II: Tìm hiểu về Mail Trang 32
I/ Tìm hiểu chung về Mail Trang 32
1) Các thành phần của một hệ thống Email: Trang 32
2) Các thành phần của một hệ thống Internet Mail Trang 32
Luận Văn Tốt Nghiệp Xây Dựng Website Giải Trí
GVHD: Th.S Ninh Xuân Hương SVTH: Nguyễn Quang Tân
Trần Nguyên Vũ
3) Cấu trúc của một bức mail Trang 33
II/ Các chuẩn được sử dụng trong hệ thống Mail Trang 34
1) Giao thức SMTP Trang 34
2) Giao thức pop3 Trang 40

Phần III: Phần phân tích, thiết kế và Xây dựng ứng dụng minh hoa.
Chương I: Phân tích yêu cầu Trang 45
1) Yêu cầu đối với người quản trò. Trang 45
2) Yêu cầu đối với người sử dụng Trang 45
Chương II: Thiết kế và Xây dựng chưng trình ứng dụng minh họa.
I. Trang Chủ Trang 45
II. Trang Quản Trò Trang 47
III. Trang Nhạc Trang 48
IV. Trang Hình Ảnh Trang 58
V. Trang Truyện và thơ Trang 61
VI. Trang Chat Trang 66
VII. Trang Mail Trang 70
Phần IV: Tổng kết
I/ Nhận xét chung Trang 80
1) Những mặt đạt được Trang 80
2) Những vấn đề tồn tại Trang 81
II/ Hướng phát triển Trang 81
III/ kết luận Trang 81
Phần V: Phụ lục
Tài liệu tham khảo Trang 82

Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
1
Phần I: Tìm hiểu về Công nghệ xây dựng Website

Hiện nay có rất nhiều công nghệ để xây dựng nên những Website như là
JSP (Java Server Page), ASP (Active Server Page) … Ở đây, chúng ta chỉ tìm

hiểu về ASP là công cụ được sử dụng để xây dựng Website này.
Chương I: Giới thiệu về ASP (ACTIVE SERVER PAGES)
1) Tìm hiểu công nghệ ASP
a. ASP là gì :
- Microsoft Active Server Pages là một môi trường hỗ trợ cho các Script
chạy trên Server (Server-Side Scripting) cho phép tạo hoặc xây dựng các
ứng dụng Web mạnh chứa các thẻ HTML, text và các lệnh Script hay các
ứng dụng Web động, giao tiếp giữa Client và Server một cách hiệu qủa.
- ASP hoạt động dựa vào các Script do người lập trình tạo ra. Các trang
ASP có thể gọi các thành phần ActiveX để thực hiện các công việc như kết
nối với với một Database hoặc thực hiện một tính toán kinh doanh. Với
ASP, bạn có thể đưa nội dung tương tác với các trang Web của bạn hoặc
xây dựng toàn bộ các ứng dụng Web sử dụng các trang HTML như giao tiếp
với khách hàng của bạn.
b. Trang ASP:
Mỗi trang .asp có thể bao gồm một trong các thành phần sau: HTML,
Script của ngôn ngữ VBScript hoặc JScript, Text trong đó các tag HTML và
Text sẽ được xử lý bình thường như đối với các văn bản HTML (.html)
thông thường, các Script sẽ được một bộ phận (engine) của ASP thông dòch
và thi hành trên Server. Có thể xem trang ASP như một trang HTML có bổ
sung các ASP Script Command.
c. Quá trình biên dòch một trang asp :
Các Script của ASP được chứa trong các text file có phần mở rộng là
.asp. Script thường được viết bằng một ngôn ngữ VBScript hay JavaScript.
Khi một Web browser gửi yêu tới một trang .asp. Khi đó Web server
sẽ đọc và tiến hành biên dòch các lệnh script trong đó và trả kết quả về cho
Web browser dưới dạng của một trang HTML.
d. Tính chất của asp :
- ASP có tính chất động: ta có thể chèn một đoạn Script vào bất kỳ nơi
nào trong trang HTML, đây là đăc tính quan trọng nhất và là cốt lõi của

Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
2
công nghệ ASP, chính điều này đã mang lại rất nhiều điều thú vò mà trong
HTML không có.
- ASP có tính hướng đối tượng: với các build-in Object rất tiện dụng :
Request, Response, Server, Apllication, Session, …
- Có khả năng mở rộng các thành phần ActiveX Server (ActiveX
Server Components).
- Các ứng dụng ASP dễ tạo vì dùng các ASP Script để viết các ứng
dụng. Khi tạo các Script của ASP ta có thể dùng bất kỳ một ngôn ngữ Script
nào, chỉ cần có scripting engine tương ứng của ngôn ngữ đó.
- Việc chèn các Script vào file HTML làm cho quá trình xử lý tạo ra văn
bản HTML (Dynamic Pages) đồng thời với việc xử lý các Script, điều bày
sẽ làm cho hoạt động của trang Web sẽ trở nên linh động hơn, uyển chuyển
hơn.
- Các file .asp cũng tương thích với file HTML, và việc viết các Script
đơn giản, không phải biên dòch hay liên kết như việc lập trình thông thường,
ASP cung cấp các đối tượng tiện lợi cho nhiều thao tác như: Request,
Response, Server, Apllication, Session. Các đối tượng có sẵn này của môi
trường ASP sẽ giúp cho việc giao tiếp dữ liệu giữa Client và Server thực sự
tiện lợi, cũng như việc quản lý ứng dụng một cách linh hoạt nhờ vào các
biến Session, Application.
e. Ưu điểm và khuyết điểm của ASP
 Ưu điểm :
ASP bổ sung cho các công nghệ đã có từ trước như CGI (Common
Gateway Interface), Giúp người dùng xây dựng các ứng dụng web với những
tính năng sinh động. Tuy nhiên, khác với CGI, các trang ASP không cần phải

hợp dòch.
Dễ dàng tương thích với các công nghệ của Microsoft. ASP sử dụng
ActiveX Data Object (ADO) để thao tác với cơ sở dữ liệu hết sức tiện lợi.
Với những gì ASP cung cấp, các nhà phát triển ứng dụng Web dễ dàng
tiếp cận công nghệ này và nhanh chóng tạo ra các sản phẩm có giá trò. Điều
này hết sức có ý nghóa trong điều kiện phát triển như vũ bão của tin học ngày
nay. Nó góp phần tạo nên một đội ngũ lập trình Web lớn mạnh.
ASP có tính năng mở. Nó cho phép các nhà lập trình xây dựng các
Component và đăng ký sử dụng dễ dàng. Hay nói cách khác ASP có tính
năng COM (Component Object Model).

Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
3
 Khuyết điểm :
ASP chỉ chạy và tương thích trên môi trường Windows, điều này làm
ASP bò hạn chế rất nhiều.
Dùng ASP chúng ta sẽ gặp không ít khó khăn trong việc can thiệp sâu
vào hệ thống như các ứng dụng CGI.
ASP không được sự hổ trợ nhiều từ các hãng thứ ba.
Các ứng dụng ASP chạy chậm hơn công nghệ Java Servlet.
Tính bảo mật thấp. Không giống như CGI hay Java servlet, 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. Có lẽ
đây là lý do quan trọng nhất để người dùng không chọn công nghệ ASP.
2) Các thành phần và cú pháp ASP :
ASP bao gồm các thành phần sau :
1. Các bộ dòch ngôn ngữ VBScript và JScript.
2. Thư viện các đối tượng, chuyên dùng để truy xuất Database thông qua

ODBC Driver (Active Server Data Object – ADO). Thư viện các đối
tượng hỗ trợ cho việc viết các trang ASP.
Một file ASP thực chất là một văn bản, nó có thể bao gồm các thành
phần sau:
+Văn Bản (Text)
+ Các HTML tag.
+ Các Script. Mỗi Script này sẽ thực hiện một công việc nào đó, giống như
các phát biểu của một ngôn ngữ lập trình. Một Script là một chuỗi các
lệnh script, nó có thể là:
1. Một phép gán giá trò cho một biến.
2. Một yêu cầu Web Server gửi thông tin đến Brower.
3. Tổ hợp các lệnh riêng rẽ thành một thủ tục hay một hàm giống
như trong các ngôn ngữ lập trình.
Việc thi hành một Script là quá trình gửi chuỗi các lệnh tới Scripting
Engine, tại đây ASP sẽ thông dòch các lệnh này và chuyển tiếp cho máy tính.
Script được viết bằng một ngôn ngữ với các luật được đặt tả nào đó, nếu ta
muốn sử dụng một Script Language nào thì trên Server phải chạy Script Engine
cho ngôn ngữ đó. Trong ASP cung cấp hai Script Engine là VBScript và JScript
(với VBScript là mặc nhiên). Tuy nhiên ASP không phải là ngôn ngữ Script,
mà nó chỉ cung cấp một môi trường để xử lý các Script mà ta chèn vào trong
các file .asp, việc chèn này phải tuân theo một cú pháp nhất đònh của ASP.
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
4
a .Dấu ngăn cách (Delimiter):
Trong văn bản ASP ta sử dụng các dấu <% và%> để ngăn cách phần
văn bản HTML với phần Script, hay cụ thể là bất cứ một phát biểu Script nào
cũng đều phải nằm giữa hai ngăn cách <% và %>

b. Câu lệnh (Statement):
Một câu lệnh trong VBScript hay trong ngôn ngữ Script khác là một cấu
trúc dùng để thực hiện một thao tác, câu lệnh phải được khai báo hoặc đònh
nghóa trong ngôn ngữ Scripting. Các ngôn ngữ Script trong ASP cung cấp cho ta
hầu hết các cấu trúc điều khiển : IF…ELSE, For, While, DO WHILE… cùng với
những kiểu dữ liệu cơ bản như Integer , char, string, Array … để sử dụng.
c. SCRIPT tag:
Các phát biểu, biểu thức, lệnh, hay thủ tục mà bạn sử dụng bên trong hai
dấu ngăn cách <% và %> phải được nhìn nhận bởi ngôn ngữ Script mặc đònh
hoặc ngôn ngữ Script được khai báo ở đầu trang ASP. Ngôn ngữ Scripting mặc
đònh của ASP là VBScript, tuy nhiên với ASP ta vẫn có thể sử dụng các ngôn
ngữ lập trình khác bên trong bằng cách sử dụng thẻ <SCRIPT> và </SCRIPT>
d. Include file:
Khi tạo một ứng dụng Web, bao gồm nhiều trang ASP, nếu như toàn bộ
các trang đều cần sử dụng những thông tin chung nào đó chẳng hạn như các
hằng, giá trò … Để tránh lại việc đònh nghóa lại các giá trò này, ta có thể sử dụng
cơ chế include file của ASP (giống như trong ngôn ngữ lập trình cổ điển). Để
include một file trong trang ASP ta sử dụng cú pháp sau:
<! #include Virtual/File="filename" >
3) Các đối tượng cơ bản của asp:
ASP cung cấp cho người lập trình các đối tượng có sẵn, mỗi đối tượng này
sẽ thực hiện một chức năng riêng nào đó, các đối tượng có sẵn (built-in oject)
bao gồm:
Tên đối tượng Chức năng
Request Lấy thông tin từ một user.
Respone Gửi thông tin tới một user.
Server Điều khiển môi trường hoạt động của ASP.
Session Lưu giữ thông tin về một session của user.
Application Chia sẻ thông tin giữa các user trong cùng một ứng dụng.
Luận Văn Tốt Nghiệp

Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
5
a. Đối tượng Request
Với đối tượng Request, các ứng dụng ASP có thể dễ dàng lấy được thông
tin gửi tới từ user.
Đối tượng Request cho phép truy xuất chi tới bất kỳ thông tin nào user gửi
tới bằng giao thức HTTP như:
1. Các thông tin chuẩn nằm trong các biến Server (Variable Server).
2. Các tham số được gửi tới bằng phương thức POST.
3. Các thông tin được gửi tới bằng phương thức GET.
4. Các Cookies (là thông tin của User được gửi kèm theo) tới từ Browser.
5. Các Client Certificates.
Đối tượng Request tìm kiếm các giá trò mà Client Browser đưa vào Server
trong khi có một yêu cầu HTTP.
Cú pháp:
Request.collection|property|method
Collections:
 Cookies: Giá trò của các Cookie gởi trong yêu cầu HTTP.
 Form: Giá trò các phần tử Form trong thân của yêu cầu HTTP.
 QueryString: Giá trò của các biến trong trong chuỗi truy vấn HTTP.
 ServerVariables: Giá trò của các biến môi trường đã được xác đònh
trước.
Properties:
 TotalBytes: Tổng số byte Client đang gởi trong thân của yêu cầu.
Các tham số biến là chuỗi ký tự chỉ rõ mục (item) được tìm kiếm từ một
collection hoặc được sử dụng như là mục vào đối với một phương thức
(method) hoặc một property.
Ngoài ra, tất cả các biến có thể được truy cập một cách trực tiếp bằng

cách gọi cú pháp Request(variable) mà không cần tên collection. Trong trường
hợp này, Web Server tìm kiếm các collection theo thứ tự sau:
1. QueryString
2. Form
3. Cookies
4. ClientCertificate
5. ServerVariables
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
6
b. Đối tượng Response
Bạn có thể sử dụng đối tượng Response để gởi kết xuất tới Client.
Cú pháp
Response.collection |property| method
Collections : Cookies : Chỉ đònh giá trò cookie và thiết lập các giá trò cookie.
Properties :
 Buffer : Chỉ ra liệu trang kết xuất được đệm hay không.
 ContentType : Chỉ đònh kiểu nội dung HTTP (vd:”Text/HTML”) khi
đáp ứng.
 Expires : Chỉ đònh thời gian trước khi một trang lưu trữ trên Browser kết
thúc.
 CacheControl: Xác đònh các Proxy Server có thể kết quả đầu ra phát
sinh bởi ASP.
 Charset: Thêm vào bộ ký tự Header Content-Type
 ExpiresAbsolute: Ngày giờ 1 trang được dấu trên Browser hết hạn
 IsClientConnected: Kiểm tra kết nối Client có bò gián đoạn từ Server
 PICS: Thêm giá trò vào nhãn PICS field pics-label của Header
 Status: Giá trò dòng trạng thái HTTP được trả ra bởi Server

Methods :
 AddHeader : Thiết lập tên (name) tiêu đề HTML bằng giá trò (value).
 AddHeader: Thêm hoặc thay đổi trò số trong HTTP header
 AppendToLog: Thêm text vào cổng vào nhật ký Web Server
 BinaryWrite: Gửi text lên Browser mà không cần chuyển đổi bộ
Charset.
 Clear: Hủy bỏ vùng đệm kết xuất HTML.
 End: Ngưng xử lý trang và trả ra kết quả hiện hành.
 Flush: Gửi kết quả đầu ra được đệm ngay lập tức.
 Redirect: Hướng dẫn cho Browser kết nối với 1 đòa chỉ URL khác.
 Write: Xuất một biến tới trang hiện hành như là một chuỗi.
c. Đối tượng Server
Đối tượng Server cung cấp truy cập tới các phương thức và đặc tính
(property) trên Server. Hầu hết các phương thức và đặc tính (property) Server
như là các chức năng tiện ích.
Cú pháp : Server.property|method
Properties : ScriptTimeout : Khoảng thời gian mà một Script có thể chạy trước
khi hết thời gian (time out).
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
7
Methods :
 CreateObject : Tạo một thực thể (instance) của một đối tượng hoặc
thành phần server.
 HTMLEncode : Mã hóa chuỗi thành dạng HTML.
 MapPath : nh xạ đường dẫn ảo, đường dẫn tuyệt đối hay tương đối
trên Server hiện hành vào một đường dẫn vật lý.
 URLEncode : Mã hóa chuỗi kí tự thành dạng URL.

d. Đối tượng Session
Đối tượng Session được sử dụng để lưu trữ và tìm lại thông tin về một
User Session. Các giá trò lưu trữ trong đối tượng Session không bò loại bỏ đi khi
user di chuyển từ trang này sang trang khác trong ứng dụng, Web Server tự
động tạo ra một đối tượng Session khi một trang Web trong ứng dụng được yêu
cầu bởi một User chưa có Session. Server hủy bỏ đối tượng Session khi nó hết
thời gian hay được hủy bỏ. Thực tế, một Session chỉ thuộc về một User.
Dữ liệu Session thường gắn liền với một User, nó quản lý các thông tin về
User đang sử dụng một ứng dụng .
Cú pháp : Session.collection |property| method
Collections :
Contents Chứa các mục (item) mà bạn thêm vào Session với các lệnh Script.
Properties :
 SessionID : Trả về đònh danh Session đối với User.
 Timeout : Khoảng thời gian đối với các Sessio.
Methods :
 Abandon Hủy bỏ một đối tượng Session và giải phóng tài nguyên
của nó.
Events :
 Se_OnStart : Xảy ra khi người sử dụng đầu tiên yêu cầu một trang
trong một chương trìng.
 Se_OnEnd : Xảy ra khi Session kết thúc.
e. Đối tượng Application
Với đối tượng Session chúng ta đã có thể thực hiện việc lưu trữ dữ liệu
chung giữa các trang trong một phiên làm việc của người sử dụng. Đối tượng
Application cung cấp phương tiện cho phép chia sẻ dữ liệu giữa các người sử
dụng khác nhau (mỗi người sử dụng này có riêng một Session) của cùng một
ứng dụng.
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí

GVHD: Th.S Ninh Xuân Hương
Trang
8
Như ta đã biết, ứng dụng ASP là tập hợp các trang .asp (và các thư mục con),
được cái đặt trong một Virtual Directory. Mỗi ứng dụng ASP được cung cấp
một không gian để lưu trữ các dữ liệu toàn cục của nó gọi là tầm vực
Application. Việc truy xuất vào tầm vực này do đối tượng Application quản lý
và thực hiện. Thời gian sống của tầm vực Application được tính từ khi ứng dụng
bắt đầu chạy (Web Server khởi động) cho đến khi ứng dụng bò huỷ bỏ (Web
Server stop).
Để lưu trữ một dữ liệu trong tầm vực Application, sử dụng cú pháp:
Application(“tênbiến”)=giá trò;
Việc lưu trữ và thao tác với các đối tượng dữ liệu (như mảng) trong
Application được thực hiện tương tự như đối với các biến Session.
Vì các biến trong tầm vực Application có thể được truy xuất bởi nhiều
User khác nhau, nên đối tượng Application cung cấp hai phương thức lock() và
unlock() để loại trừ tương hỗ khi truy xuất vào vùng dữ liệu dùng chung này.
 Phương thức Application.Lock(): Thực hiện khóa dữ liệu. Trong
khi một User khóa tầm vực Application, các User khác sẽ không
có khả năng cập nhật hay thay đổi trong vùng này.
 Phương thức Application.Unlock(): Được gọi để mở khóa. Khi
khóa đã mở, các User khác có thểthực hiện thao tác cập nhật dữ
liệu trong tầm vực Application.
Nhìn chung, khi một User cần thực hiện thao tác cập nhật cùng
Application, nó thực hiện các bước sau trong kòch bản:
1. Gọi Application.Lock();
2. Thực hiện các thao tác với các biến Application.
3. Gọi Application.Unlock();
Cú pháp: Application.collection | Method | Event
Collection

 Contents: Chứa tất cả các item được thêm vào ứng dụng bằng các câu
lệnh Script.
 Staticobjects: Chứa tất cả các đối tượng được thêm vào ứng dụng bằng
tag <OBJECT>
Method
 Lock: Ngăn cản các Client khác sửa đổi thuộc tính của ứng dụng.
 Unclock: Cho pháp các Client khác được sửa đổi thuộc tính của ứng
dụng.
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
9
Events
 OnStart: Xảy ra khi 1 trang trong ứng dụng được xem đầu tiên.
 OnEnd: Xảy ra khi thoát ra khỏi ứng dụng, sau biến cố Session_onEnd.
4) Các thành phần (component) của asp.
Ngoài các đối tượng cơ bản có sẵn trong môi trường ASP, việc tạo các
trang 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 chung là động. Mỗi thành phần được sử dụng cho một công việc chuyên
biệt nhiệm cho là một thư viện các lớp (hay đối tượng), được thiết kế ở dạng
Automation Server, 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 database, 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.
Chúng ta có thể tạo động, tương tác với các trang Web bằng cách sử dụng
các thành phần Server đã được included với Active Server Pages (ASP) trong
các đoạn Script của ta.
5) Truy xuất cơ sở dữ liệu trong ASP.

Ở phần trên chúng ta đã biết về các khái niệm tổng quát về ASP và các
thành phần cần có khi xây dựng một ứng dụng. Trong phần này sẽ trình bày kỹ
hơn về Active Data Object, đây chính là ưu điểm mạnh nhất cho việc phát triển
ứng dụng cơ sở dữ liệu trên web (Web database).
 DataBase Access Component :
Một ứng dụng Web database viết bằng ASP có thể truy xuất dữ liệu
trong môi trường database bằng cách sử dụng Component Database Access của
ActiveX hay còn gọi là thư viện ADO (Active Data Object). Đây cũng chính là
điểm mạnh nhất của ASP trong việc phát triển ứng dụng Web database.
Các Object của ADO cung cấp có thể tạo ra các kết nối (Connection) với
hầu hết các kiểu Database, cũng như việc truy xuất, cập nhất các database này.
Hiện nay thư viện ADO là công cụ mạnh nhất trong việc phát triển các ứng
dụng database trên Internet.
Trong phần này ta sẽ xem xét các thành phần trong thư viện công cụ này.
 ADO interface :
ADO được thiết kế một cách đơn giản nhất, nó giao tiếp với database thông
qua phương thức ODBC (Open DataBase Connectivity), chúng ta có thể sử
dụng chúng với bất kỳ loại database nào nếu như ODBC có driver hỗ trợ. Hiện
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
10
nay tồn tại driver cho hầu hết các loại database như Foxpro, Access, Oracle,
SQl Server, . . .
Sự giao tiếp giữa ADO và các thành phần khác trong hệ thống có thể được
mô tả theo hình vẽ sau:

Quá trình truy xuất cơ sở dữ liệu thông qua ODBC
 Các Object trong ADO :

Các Object chính trong đó là: Connection, RecordSet và Command. Ngoài
ba Object chính này còn có các Object, tham số, thuộc tính, phương thức. Sử
dụng Connection ta có thể thiết lập sự liên kết với cơ sở dữ liệu, thông qua đó
ta có thể thực hiện các Query để lấy ra các record hoặc cập nhật một record
bằng cách sử dụng Command Object. Kết quả thực hiện các Query trên
Database sẽ được lưu vào đối tượng Recordset, trên đối tượng này ta có duyệt
và lấy ra một hay nhiều Record. Sau đây ta xem xét cụ thể cấu tạo cũng như
cách sử dụng của từng Object.
 Đối tượng Connection :
Để sử dụng tốt đối tượng Connection, trước tiên ta phải tạo ra một Instance
cho nó, đây thực sự là một thể hiện của Object này trong ASP. Phát biểu tạo
Instance cho Connection có cú pháp như sau:
<%
Connection_name=Server.CreateObject(“ADODB.Connection”)
%>
Thông thường trong một ứng dụng nếu ta cần có một liên kết với Data
source cố đònh cho tất cả các trang thì khi đó ta sẽ đặt Instance của Connection
có tầm vực ở mức Application bằng cách đưa phát biểu tạo Instance ở trên vào
các thủ tục Application_onStar():

Active Server Pages
Active Database
Component
Active Data Object ODBC Driver Data Provider Interface
Data


Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương

Trang
11
<%
Sub Application_onStar()
Set Connection_name = Server.CreateObject (“ADODB.Connection”)
End Sub
%>
Hoặc thiết lập tầm vực cho Connection ở mức Session như sau:
<%
Sub Session_onStar()
Set Connection_name=Server.CreateObject(“ADODB.Connection”)
End Sub
%>
Tuy nhiên ta có thể xem xét thêm việc tối ưu cho các Connection trong một
ứng dụng có nhiều User truy xuất tới database, đó là khả năng Connection
pooling.
Connection pooling :
Các ứng dụng cơ sở dữ liệu truyền thống đều tạo một mối liên kết tới
database mà nó sử dụng, còn các ứng dụng Database trên web lại mở và đóng
các liên kết này ở mỗi trang web. Một phương pháp cho các ứng dụng
Database trên web là tạo một sự liên kết liên tục với cơ sở dữ liệu của từng
User và lưu trữ trong đối tượng Session. Tuy nhiên, phương pháp này làm gia
tăng số lượng các User kết nối tới cơ sở dữ liệu mà không làm việc và nó chỉ
đạt được độ tin cậy đối với các Website có sự liên thông dữ liệu thấp (low-
traffic).
Phương pháp tiện lợi hơn trong việc quản lý các kết nối với cơ sở dữ liệu
của ứng dụng web là quản lý bằng Connection Pool của ODBC nhằm giảm bớt
số lượng liên kết rảnh rỗi. ODBC sẽ mở các kết nối và quản lý các kết nối này
mỗi khi có một yêu cầu kết nối mới thì thực hiện việc kiểm tra xem có liên kết
nào rảnh không, nếu không thì sẽ tạo kết nối mới, ngược lại sẽ lấy liên kết

rảnh này mà không tạo liên kết mới. Nếu có một liên kết rảnh nào trong
Connection Pool tồn tại quá 60 giây thì nó sẽ tự động hủy bỏ.
Connection Pooling được kích hoạt mặc nhiên trong ASP, ta có thể loại
bỏ bằng cách thiết lập giá trò Register Entry Star Connection Pool về giá trò 0.
 Các phương thức của đối tượng connection :
 Open method : Sử dụng để mở một kết nối với Database. Sau khi tạo
một instance cho Connection Object. Ta có thể mở một kết nối với
data source để có thể truy xuất dữ liệu, cú pháp như sau:
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
12
Connection.open ConnectionString User password
Trong đó ConnectionString là chuỗi đònh nghóa tên của datasource
(DNS), tên này được khai báo trong ODBC. User và password sẽ thực
hiện việc mở Database.
 Execute method : Phương pháp này cho phép thực thi một câu lệnh,
tác động lên data source. Ta có cú pháp như sau :
Connection.Execute Commandtext.RecordAffected.options
Trong đó thông số option có các giá trò khác nhau tương ứng với mỗi
loại CommanText. Các giá trò của Option theo bảng sau:

Giá trò Danh hiệu hằng tương ứng Mô tả CommanText
0 AdCmdUnknown Giá trò này mặc đònh khi đònh nghóa
1 AdCmdText CommandText là một câu lệnh (vd: SQL)
2 AdCmdTable Tên của Table mà ta sẽ tạo một RecordSet từ đó
3 AdCmdStorû dụngPro Một Seaticored procedure trong data source

 Close method : Trong các trang ASP, sau khi đã xử lý xong dữ liệu

trên data source, trước khi kết thúc một trang sử dụng phải đóng lại
các kết nối đã mở. Việc đóng kết kết nối thực hiện nhờ phương thức
Close.
Cú pháp như sau: Connection.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 sang
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_onStar việc đóng
các Connection này sẽ được thể hiện trong thủ tục onEnd.
 Đối tượng Command :
Thay vì phải sử dụng phương thức Execute của đối tượng Connection để
Query hay Update data resource, ta có thể sử dụng đối tượng Command dễ thi
hành các thao tác với cơ sở dữ liệu.
Việc tạo một Instance cho đối tượng Command cũng như đối tượng
Connection. Nghóa là cũng sử dụng phương thức Server.CreateObject.
Command-name=Server.CreateObhec (“ADODB.Command”)
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
13
Tuy nhiên để sử dụng đối tượng này ta cần xem xét các phương thức và
thuộc tính kèm theo.
 Các phương thức (Methods) :
 Create Paramater: Dùng để tạo một đối tượng (thông số) trong tập
thông số
 Execute: Dùng để thực thi câu lệnh được đặc tả trong thuộc tính
CommandText.
 Các thuộc tính (Properties):
 ActiveConnection :Chỉ đònh đối tượng Connection nào được sử dụng

trong đối tượng Command.
 CommandText: Chỉ đònh câu lệnh cần thực thi trên cơ sở dữ liệu .
 CommandTimeOut: Xác đònh thời gian thực thi lệnh, giá trò thời gian
thực thi được tính theo giây.
 CommandType: Cho biết kiểu của Query đặc tả trong CommandText
 Prepared : Tạo ra lệnh chuẩn bò trước khi thực thi.
 Tạo ActiveConnection :
Sau khi đã có các Instance của các Connection Object đã được kết nối với
cơ sở dữ liệu và Command Object. Lúc này nếu muốn sử dụng Command
Object ta phải gán tên của Connection thích hợp (Connection nào kết nối tới cơ
sở dữ liệu cần làm việc) vào cho thuộc tính ActiveConnection của Command
Object
Command-name.ActiveConnection = Command-name;
 Thực thi Query :
Ta có thể sử dụng phương thức Execute của Command gần giống như
Connection. Tuy nhiên điểm khác với Connection là đối tượng Command nếu
ta có dự đònh thi hành một lệnh nào thì ta phải gán động cho các giá trò thuộc
tính CommandText, Parameter, …
 Các Methods :
o Append : Thêm một thông số vào Collections.
o Delete : Xóa một thông số trong Collections.
o Refresh : Làm tươi lại sự thay đổi thông số đó.
 Các Properties :
o Count : trả về các thông số có trong Collections.
o Item : được sử dụng để lấy giá trò của một thông số trong Collections.
o Atribute: Thể hiện kiểu dữ liệu mà thông số đó chấp nhận.
o Direction : Thể hiện hướng của thông số là Input, Output hay cả hai,
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương

Trang
14
o Name : Tên thông số.
o NumberScale : Số chữ số thập phân trong thông số kiểu số.
o Size : Kích thước lớn nhất tính theo byte.
o . . . .
 Đối tượng RecordSet :
Bằng cách sử dụng các đối tượng Connection và Command ta có thể
thực thi các query để Add, Update, or Delete, . . .một Record trong Datasource.
 Các Method:
 AddNew : Là phương thức để tạo ra một Reccord.
 Close : Đóng lại đối tượng.
 Delete : Xóa đi Record hiện hành trong RecordSet.
 Move : Dòch chuyển vò trí Record hiện tại.
 Các phương thức dòch chuyển con trỏ :
MoveFirst, MoveNext, MovePrevious, MoveLast.
 Các Properties :
 AbsolutePosition: Số thứ tự hay Record hiện tại.
 BOF : Có giá trò True nếu con trỏ nằm ở Record đầu tiên.
 CursorType: Kiểu con trỏ được sử dụng trong RecordSet.
 RecordCount : Trả vể số Record trong RecordSet.

Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
15
Phần II: Tìm hiểu về Chat và Mail
Chương I: Tìm hiểu về Chat theo chuẩn IRC
Hiện nay trên Internet có nhiều loại dòch vụ, mỗi dòch vụ cung cấp cho

chúng ta một tiện ích khác nhau, trong đó có dòch vụ Chat. Đây là loại dòch vụ
cho phép mọi người trên khắp hành tinh có thể gặp gỡ, trao đổi thông tin với
nhau mà không cần phải gặp nhau trực tiếp. Dòch vụ này rất phát triển, có đến
hàng triệu người trên thế giới đang sử dụng dòch vụ này. Vì vậy vấn đề đặt ra
là phải có một quy đònh chung cho hệ thống mạng IRC (Internet Relay Chat).
Ủy Ban IAB về các giao thức chuẩn (IAB Official Protocol Standards) đã đưa
ra một giao thức chuẩn (Standard protocol) dùng cho tất cả các chương trình
chat đang tồn tại. Đó là IRC (Internet Relay Chat) protocol được đònh nghóa
trong RFC (Request For Comment) 1459, 2810, 1324, 2811, 2813.
IRC Protocol được đưa ra vào năm 1980, tiền thân của nó, dùng cho các
thành viên trong mạng BBS trao đổi thông tin với nhau, dần dần được cải tiến
và trở thành giao thức chuẩn cho các chương trình IRC. Quy mô của IRC
protocol là trên toàn cầu, gồm có 2 thành phần Client và Server.
Hiện nay IRC Protocol được xây dựng trên họ giao thức mạng phổ biến
nhất là TCP/IP (TCP/IP Net Work Protocol) lý do việc sử dụng họ giao thức
này là tính chính xác, tin cậy, phổ biến, rất thích hợp cho các cuộc thảo luận từ
xa.
IRC Protocol dùng mô hình Client–Server, vì thế chúng ta có thể chạy
nhiều máy trên môi trường phân tán (distributed enviroment). Trong đó máy
đóng vai trò là Server cung cấp một điểm tập trung (central point) cho các
Client kết nối đến, và đồng thời thực hiện quá trình truyền nhận message từ
các Client này đến các Client khác.
I) Một số khái niệm cơ bản.
1. Servers:
Server được xem là xương sống của mạng IRC, mỗi Server là một tâm
điểm trong hệ thống các Server, chúng cho phép Client và Server khác kết nối
vào. Những Server này được kết nối theo biểu đồ hình cây (Spanning Tree).
2. Clients
Client là một máy tính mà nó được kết nối đến Server và máy tính đó
không phải là Server.

Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
16
Client là thiết bò đầu cuối nó không chuyển tiếp message cho bất cứ máy
tính nào khác
Mỗi Client được phân biệt với nhau thông qua Nickname (Nickname là
chuỗi có giá trò tối đa 9 ký tự ). Server dùng Nickname để quản lý các Client.
Khi có sự tham gia của một Client vào hệ thống, tất cả các Server phải
có thông tin về Client đó như là tên Client (Hostname), tên Server mà nó kết
nối đến v.v
Operators:
Để có thể quản lý số lượng User tham gia trên mạng (IRC network)
người ta xây dựng một nhóm User gọi là “Client Operator” nhóm này có đầy
đủ mọi quyền hạn trên mạng (IRC network). Mặc dù quyền hạn (cấp cho
Client Operation) có thể được xem là “nguy hiểm”, nhóm “Client Operator” có
thể thực hiện các tác vụ như hủy bỏ kết nối (disconnecting) của một Client nào
đó hoặc tái kết nối (reconnecting) đến Server nào đó. Những tác vụ này có thể
thực hiện khi có một Server bò hỏng hay khi có sự cố về đường truyền và nhiều
nguyên nhân khác. Chính vì khả năng đó nên người ta cho rằng nhóm “Client
Operator” có thể nguy hiểm. vì có thể nhóm Client này hủy bỏ kết nối của một
Client khác mà không có lý do hợp lý, hay mục đích chính đáng.
3. Channels

Channel là tên nhóm một hay nhiều client, mà những client này sẽ cùng
được nhận các message gởi đến channel đó, nói cách khác là các client thuộc
về một channel sẽ nhận được message gởi đến channel đó. Những client trong
cùng một channel mới có thể nhận thấy nhau.
Một channel được ngầm tạo ra khi có client đầu tiên tham gia và kết

thúc khi client cuối cùng ngưng kết nối. Trong khi channel đang tồn tại thì
client có thể tham gia vào channel đó bằng cách dùng tên channel.
Tên của channel có thể lên đến 200 ký tự và bắt đầu bằng ký tự ‘&’
hoặc ký tự ‘#’, Tên channel không có ký tự khoảng trắng (‘ ‘), Ctr+G(^G or
ASCII 7), dấu phẩy (‘,’ ).
Để có thể tạo ra một channel hay là tham gia vào một channel có sẵn
client phải gởi JOIN message để tham gia vào channel đó.
Channels operation :
Channel oprerator còn được gọi là “chop” hoặc “chanop”. Khi có một
user tạo ra channel thì mặc nhiên user đó trở thành channel operator, là người
sở hữu channel user (channel operator) có đầy đủ mọi quyền hạn trên channel
Luận Văn Tốt Nghiệp
Xây dựng Website giải trí
GVHD: Th.S Ninh Xuân Hương
Trang
17
đó. Để quản lý các client channel operator có thể thực hiện quyền của mình
như :
 KICH - đẩy một client ra khỏi channel
 MODE - thay đổi mode của channel
 INVITE - gọi một client tham gia vào channel mà nó đang ở
trạng thái invite-only (mode i+).
 TOPIC - thay đổi topic channel, channel này đang ở trạng
thái +t(mode +t).
Ngoài ra channel operator có thể cấp quyền cho client khác hay nhường
quyền channel operator lại. Tuy nhiên quyền hạn này không được chính xác vì
những nguyên nhân đã được trình bài phần trên.
Một channel operation thì được nhận dạng bởi ký tự bắt đầu “@” tiếp
theo là nickname (nick name của user tạo ra channel đó). Ví dụ @HappyMan
II) Những quy đònh trong IRC.

Dạng chung của thông điệp.
Thông điệp thường có 2 dạng:
Các thông điệp xuất phát từ lệnh (thông điệp được phát sinh từ một
lệnh): là thông điệp được client gửi lên server để yêu cầu một mục đích nào đó
(ví dụ như hỏi thông tin một nick nào đó, hay hỏi thông tin các channel, hoặc
chỉ đơn giản là muốn gửi thông điệp cần nói trên channel…). Các thông điệp
này có thể không còn nguyên thủy như khi user gõ vào, mà chúng được gắn
thêm prefix (đòa chỉ host, nickname của user gửi).
Thông điệp trả về: là thông điệp được server gửi về client để trả lời lại
các yêu cầu của client.
Các thông điệp có hai dạng: thông điệp bằng chữ và thông điệp bằng số.
2. Message
Message là thông điệp từ client gởi cho server hoặc ngược lại, nếu trong
message chứa lệnh (lệnh này sẽ được mô tả phần sau), thì những lệnh này sẽ
được đáp lại bằng thông điệp phản hồi (reply message).
Mỗi message gồm có 3 phần chính: phần đầu còn gọi là tiếp đầu ngữ
(prefix), tiếp theo đó là phần lệnh (command) và cuối cùng là danh sách đối
số(parameters list), mỗi phần cách nhau bởi ký tự khoảng trắng (ASCII 0x20).
Bắt đầu prefix là ký tự “:” (ASCII 0x3b) chính nhờ vào ký tự này mà server

×