Những kiến thức có giá trị: Đó có thể là kiến thức của một bài giảng trực tuyến trên mạng, những kiến thức liên quan đến đến Sinh viên - Học sinh như: cách làm người, cách tự học, cách
Trang 2Con người làm nên thế giới loài người Website làm nên thế giới Internet
Con người tồn tại với mục đích cung cấp giá trị mà mình có phục vụ cuộc
sống Đó có thể là tài năng, là sức khỏe, là trí tuệ, là tình yêu công việc…có trong
mỗi con người
Website tồn tại với mục đích cung cấp thông tin, kiến thức, cung cấp dịch
vụ…phục vụ con người, làm tăng giá trị, thoả mãn nhu cầu hiểu biết của con
người Thông tin - đó có thể là tình hình kinh tế của một quốc gia nào đó hoặc một
khám phá mới nhất của những nhà nghiên cứu về bộ gen người Kiến thức - đó có
thể là kiến thức về marketing trên Internet, về chăm sóc cây cảnh… hoặc đơn giản
chỉ là những dịch vụ phục vụ nhu cầu giải trí, trao đổi, liên lạc của con người
Và vì con người là chủ của thế giới này nên con người là chủ của Website,
của Internet Cũng như con người tạo ra xe gắn máy để phục vụ nhu cầu đi lại
nhanh chóng và tiện lợi của họ thì họ cũng tạo ra Website, tạo ra Internet như một
phương tiện truyền thông với nhiều ưu điểm hơn so với những phương tiện truyền
thông khác cũng để phục vụ chính mình Vì với Website, thông tin mang tính toàn
cầu không biết phân biệt thời gian và không gian
Cũng giống như con người: đông đúc, đa dạng và phức tạp Website cũng
rất phong phú, đa dạng, phức tạp và nhiều nữa Trên thế giới hiện nay có khoảng
73 triệu Website và mỗi ngày con số Website tăng thêm là 4000
Là một cá thể tồn tại trong cuộc sống bạn phải biết cách tự thể hiện mình
sao cho người khác biết đến những giá trị của bạn Không phải để khoe khoang mà
để những giá trị như tuổi trẻ, tình yêu, lòng nhiệt thành, tri thức … được có cơ hội
sử dụng, nếu không chúng sẽ qua đi một cách vô ích mà không có điều kiện cống
hiến cho xã hội Và như vậy, tự thể hiện cũng là một trong những điều đáng được
quan tâm
Nhìn từ một góc độ khác, Website cũng vậy Trong cái thế giới Internet với
hàng triệu Website, người xem không thể biết đến Website của bạn nếu Website đó
Trang 3Nói như vậy là để lưu ý một điều khi có ý định tạo ra một Website ta nên
nghĩ đến phải làm gì để thu hút nhiều người viếng thăm nó, cũng như phải có
chiến lược quản lý và phát triển như thế nào để mọi người luôn muốn trở lại trang
Web của bạn vào những lần sau
Trang 4Tuỳ theo quy mô, mục đích và đối tượng mà mỗi Website của trường đại
học đều có sự khác nhau Nhưng xét một cách tổng quát, Website của một trường
đại học nói chung có thể mang lại:
1 Những thông tin có hệ thống, chi tiết và khá đầy đủ về trường
- Thông tin chi tiết về : quy mô, địa điểm, lịch sử, truyền thống, cơ sở vật
chất, hoạt động, cơ cấu tổ chức của trường, cách liên hệ, tiếp xúc, các tài nguyên
khác như thư viện, phòng nghiên cứu, viện bảo tàng, rạp hát của trường…
- Thông tin chi tiết về : các khoá học, các bậc đào tạo, giảng viên, thời khóa
biểu, những ấn phẩm mà trường xuất bản, những công trình nghiên cứu của trường,
những tư liệu về những bài luận tốt nghiệp của sinh viên…
-Thông tin chi tiết về : sinh viên của trường, về học bổng, các nguồn bảo trợ
và các quỹ hỗ trợ tài chính cho sinh viên, những cơ hội làm việc, huấn luyện, đào
tạo tại trường
-Thông tin chi tiết về : điểm thi, lịch học, những tin tức, thông báo mới cùng
lịch của những sự kiện và hoạt động sắp tới sẽ diễn ra tại trường
Tại các trường Đại học nổi tiếng ở Mỹ như: New York University,
Berkeley, Cambridge, Harvard…thì hầu như với bất cứ một nhu cầu tìm kiếm
thông tin nào liên quan đến trường ta có thể nghĩ ngay đến việc ghé thăm Website
của trường này
2 Những kiến thức có giá trị:
Đó có thể là kiến thức của một bài giảng trực tuyến trên mạng, những kiến
thức liên quan đến đến Sinh viên - Học sinh như: cách làm người, cách tự học,
cách kinh doanh, cách thành công… đáp ứng nhu cầu hiểu biết các kiến thức khác
ngoài những kiến thức bó hẹp trong giảng đường
Trang 5- Thông qua Website để đến với những Website có giá trị khác
- Gửi yêu cầu đến trường đó từ xa
- Tìm kiếm điện thoại và địa chỉ email của nhân viên hay sinh viên trong
trường cho những mục đích khác nhau
- Thảo luận, trao đổi, tạo hộp thư điện tử riêng, giải trí, thăm viếng…
Tóm lại, Website có thể mang lại tất cả những gì giúp thỏa mãn nhu cầu
lành mạnh của đối tượng SV-HS
Trang 6ĐẠI HỌC HÙNG VƯƠNG
1/ Với nguyên tắc :“xem sinh viên là đối tượng chính của quá trình đào tạo
và sinh viên tự học, tự nghiên cứu là chính”, xây dựng Website với đối tượng
phục vụ chính là SV - HS (cung cấp thông tin, kiến thức…) sẽ là một hành động
thiết thực nhằm thể hiện nguyên tắc này
2/ Tiếp tục giữ vững mục tiêu được xác định ngay từ khi thành lập
trường là : “Góp phần xây dựng một nền giáo dục Đại học vừa mang tính hiện
đại, vừa mang tính Việt Nam…”
Có thể thấy trong những năm qua trường luôn là nơi đi đầu trong việc bảo tồn
và phát huy văn hoá dân tộc Cụ thể: trường đã phối hợp tổ chức 2 hội thảo có tính
quy mô lớn đó là:
“Bản sắc Việt Nam trong ăn uống “ được tổ chức tại Khách sạn Mejestic
với hơn 20 nhà nghiên cứu, nhà khoa học trên lĩnh vực văn hoá, lịch sử đóng góp
tham luận và báo cáo
“Bản sắc Việt Nam trong âm nhạc” với sự có mặt của 200 quan khách là
những nhà nghiên cứu, Giáo sư, Tiến sĩ, Nhạc sĩ…cũng được tổ chức tại Khách
sạn Majestic, và lần đầu tiên đem môn “Âm nhạc dân tộc” do Giáo sư- Tiến sĩ
Trần Văn Khê phụ trách vào giảng dạy chính khoá cho sinh viên khoa Du lịch…
Như vậy, xây dựng Website cũng là một trong những hành động cụ thể thực
hiện mục tiêu “góp phần xây dựng một nền giáo dục hiện đại”
3/ Cung cấp thông tin về trường một cách có hệ thống: Giáo sư hiệu
trưởng Ngô Gia Hy trong bài phát biểu tại lễ Tổng kết 5 năm hoạt động của trường
có đề cập đến vấn đề huy động sự giúp đỡ trong tương lai của xã hội để phát
triển trường ngày một vững mạnh Thiết nghĩ việc xây dựng Website với nhiều
thông tin chi tiết, cụ thể, chính xác, sẽ giúp xã hội hiểu rõ hơn về con đường mà
trường Hùng Vương đã chọn, hiểu được cái tâm của những người sáng lập, những
người đi đầu, mở đường và dẫn dắt trường trong nhiều năm qua Những con người
mà không những xứng đáng được kính phục về tài năng mà còn cả về đức độ
Trang 8Quá trình xây dựng, quản lý và phát triển Website là một qúa trình lâu dài,
phải đi từng bước một, và không thể chỉ làm một lần là xong Website phải được
phát triển theo quá trình để hoàn thiện dần dần, đáp ứng nhu cầu của người truy
cập
Chính vì thế trong giai đoạn đầu này chúng tôi đặt mục tiêu cho đề tài như
sau:
1/ Cung cấp thông tin một cách cụ thể và có hệ thống về trường
Từ một thực tế không thể phủ nhận là một số lượng không ít sinh viên nói
chung và sinh viên của các trường ĐH dân lập nói riêng rất thờ ơ với những thông
tin về trường mình đang học Dù đó là những thông tin căn bản nhất như: tôn chỉ,
đường lối, mục tiêu của trường, các phòng ban liên quan đến những vấn đề thiết
thực của sinh viên như: Phòng Công tác sinh viên, Ban Bảo trợ sinh viên, Bộ phận
tư vấn Nghề nghiệp và Việc làm của trường, các khoa mà trường mình đào
tạo…Rồi khi có vấn đề rắc rối họ không biết phải đi đâu, tìm ai để giúp đỡ giải
quyết Một câu chuyện có thật: có một sinh viên học đến năm 3 cũng không biết
hiệu trưởng của trường tên gì, có bạn đến lúc sắp thi gặp khó khăn trong việc đóng
học phí phải hỏi tới hỏi lui rất chật vật mới biết được Ban bảo trợ sinh viên của
trường có thể giúp đỡ
Có thể hiểu được điều đó là do điều kiện cơ sở vật chất của trường còn thiếu
thốn không thể học tập trung mà phân tán các khoa tại các địa điểm khác nhau nên
sinh viên học ở những địa điểm mà xa cơ sở chính rất ngại lên trường nếu không
có những gì bắt buộc như đóng học phí, đăng ký thi…, họ hầu như không bao giờ
tham dự những ngày lễ, những hoạt động của trường nên thông tin họ biết về
trường rất ít
Chính vì lẽ đó mục đích quan trọng đầu tiên đặt ra cho việc xây dựng
Website là để cung cấp thông tin cho nhiều đối tượng khác nhau
2/ Cung cấp kiến thức:
Trang 9Giúp sinh viên nói chung và sinh viên Hùng Vương nói riêng có thể hiểu
được mục tiêu “Góp phần xây dựng một nền giáo dục Đại học vừa mang tính hiện
đại vừa mang tính Việt Nam” mà trường Hùng Vương đã đề ra
Một sinh viên từ khi bắt đầu bước chân vào giảng đường Đại học cái quan
trọng đầu tiên là phải hiểu rõ mục tiêu đào tạo mà trường Đại học mình đang học
chọn lựa và lý do của sự chọn lựa đó? Từ đó sẽ tạo những thái độ đúng đắn trong
học tập và sinh hoạt ngoại khoá
Chính việc cung cấp những kiến thức “mang tính Việt Nam” và những kiến
thức “mang tính hiện đại” một mặt giúp sinh viên biết giữ gìn và phát huy bản sắc
văn hoá đáng tự hào của dân tộc một mặt giúp họ trưởng thành hơn, tự tin hơn khi
tiếp cận với thực tế ngoài xã hội Nhà nghiên cứu kinh tế Giáo sư Đặng Hữu đã
nói: “Nền tảng của kinh tế tri thức là văn hoá” Từ đó càng khẳng định con đường
mà Đại học Hùng Vương đã chọn là đúng
Đại học Hùng Vương thật sự là một ngôi nhà chung của sinh viên Hùng
Vương khi chỉ khi sinh viên Hùng Vương hiểu trường, hiểu con đường mà trường
đã chọn
3/ Cập nhật những thông tin đang diễn ra ngoài xã hội cho sinh viên
Không chỉ là con mọt sách, con mọt kiến thức, sinh viên ngày nay còn phải
biết đến những gì đang diễn ra xung quanh mình, liên quan đến mình như: các hội
thảo, các báo cáo chuyên đề, các cuộc thi tài của sinh viên, các hoạt động vui chơi,
giải trí v…v Vì một lẽ đơn giản, những gì của sinh viên, liên quan đến sinh viên
thì sinh viên nên biết và phải biết Có thông tin và biết xử lý thông tin, sinh viên sẽ
ngày càng khẳng định và phát huy vai trò của mình trong xã hội
4 Xây dựng nhóm tin (Web Based Newsgroup ):
Nơi mọi người có thể trao đổi thông tin, ý kiến về tất cả mọi lĩnh vực mà
mình quan tâm Nhóm tin phải cập nhật các tin nhanh chóng đáp ứng được nhu cầu
người dùng
5 Xây dựng WebMail :
Xây dựng công cụ gởi và nhận mail, được thực hiện trên trang web, cùng với
các tiện ích về mail Cho phép người dùng đăng kí một địa chỉ email miễn phí trên
Mail server của trường
Trang 106 Xây dựng Web Chat :
Xây dựng công cụ tiện ích trên web phục vụ cho nhu cầu chat của người dùng
đang tăng hàng ngày
Trang 12ACTIVE SERVER PAGES (ASP)
I ACTIVE SERVER PAGES LÀ GÌ?
Microsoft Active Server Pages (ASP) là một môi trường sever-side
scripting cho phép ta tạo ra và chạy các ứng dụng Web động, tương tác với client
một cách hiệu quả ASP hoạt động dựa vào các script do người lập trình tạo sẵn
Khi cho script chạy trên server thay vì trên client, Web server sẽ làm các
công việc cần thiết để tạo ra một trang HTML trả về cho Browser hiển thị
Môi trường hoạt động của ASP:
- Microsoft Internet Information Server 3.0 trở lên chạy trên WinNT Server
4.0 trở lên
- Microsoft Personal Web Server chạy trên Windows 9x
II MÔ HÌNH HOẠT ĐỘNG CỦA ASP :
ASP là một tập tin có đuôi mở rộng là asp, chứa các thẻ HTML, các phát
biểu và các script
Browser gởi một Request đến Server yêu cầu một trang ASP Khi Web
Server nhận được Request, nó sẽ đọc toàn bộ tập tin ASP và thực hiện các script
tương ứng với giá trị của các tham số nhận từ Request
Client
HTTP Decoding
Server
Request Page
Active Server Pages
VBScript or JavaScript
HTTP Encoding
Add the HTTP Wrapper
Dynamic Page
Disk HTML Form
Trang 13III CÁCH VIẾT MỘT TẬP TIN ASP SCRIPT:
1 Cấu trúc tập tin ASP :
Một tập tin ASP có đuôi mở rộng là asp là một tập tin văn bản
Một tập tin asp gồm bất kì sự kết hợp nào của các thành phần sau:
- text
- thẻ HTML
- Các câu lệnh script của các ngôn ngữ script như Javascript hoặc Vbscript
Một Script là một số các câu lệnh thực thi một công việc nào đó, có thể là:
- Gán giá trị cho biến
- Gởi thông tin đến Browser, gọi là Output Expression
Ví dụ <%=UserID%>
- Kết hợp một số câu lệnh thực thi một công việc nào đó thành một hàm
Thực thi một script là việc gởi các câu lệnh tới Scripting Engine Tại đây
ASP sẽ thông dịch các câu lệnh này và thực thi nó Các script được viết bằng ngôn
ngữ nào thì nó được dịch theo cú pháp của ngôn ngữ đó trên Scripting Engine
tương ứng trên server
2 Cú pháp của ASP :
ASP là môi trường để xử lý các script mà được chèn trong tập tin ASP chứ
ASP không phải là ngôn ngữ script Tuy nhiên, nó có quy định cú pháp để chèn các
script như sau:
a Dấu giới hạn (Delimiter):
Trong trang ASP, dấu <% và %> dùng để giới hạn phần script với phần
HTML Bất kì phát biểu script nào cũng đều phải được đặt trong phần giới hạn bởi
hai dấu này
b Phát biểu (Statement):
Trang 143 Thẻ Script và tạo thủ tục trong ngôn ngữ script:
Các thủ tục phải được đặt trong các cặp thẻ <script> và </script> Ta có thể
dùng các ngôn ngữ khác nhau để viết các hàm hoặc các thủ tục trong môi trường
ASP Ngôn ngữ mặc định trong ASP là VBScript
Trang 15Khi tạo một ứng dụng Web, bao gồm nhiều trang ASP, trong các trang ASP
này có thể dùng lại nhiều lần các hằng, các biến, các hàm hay thủ tục… Để tránh
phải khái báo hoặc phải viết lại, chúng ta có thể sử dụng lại bằng cách khai báo
hoặc viết trước trong một tập tin nào đó, sau đó chúng ta include tập tin này vào
nơi chúng ta cần dùng bằng câu lệnh tiền xử lý:
<! #include virtual | file = “filename” >
Từ khoá Virtual : dùng để chỉ đường dẫn là thư mục ảo
Từ khoá File : dùng để chỉ đường dẫn là tương đối hoặc đường dẫn tuuyệt
đối
Lưu ý khi include tập tin:
- Không nên để xảy ra trường hợp include đệ quy trong các tập tin cần
include
Ví dụ : trong tập includé.inc tin ta cần inclue tập tin include2.inc thì trong tập
tin include2.inc không được include tập tin include1.inc
- ASP sẽ thực hiện việc include file trứơc khi thực hiện các phát biểu Script,
cho nên không dùng các phát biểu để tạo ra các tập tin sẽ được include
- Không đặt các câu tiền xử lý <! #include > trong cặp dấu phân cách <%
%>
IV CÁC ĐỐI TƯỢNG CÓ SẴN (BUILT- IN – OBJECT ) CỦA ASP :
ASP cung cấp sẵn các đối tượng mà khi cần sử dụng không cần tạo ra thể
hiện của nó Các đối tượng này gọi là Built - in - Object, bao gồm :
- Request : lưu thông tin từ người dùng
- Response: gởi thông tin đến client
- Server: điều hành môi trường hoạt động của ASP
Trang 16- Session: lưu giữ các thông tin trong một phiên làm việc của client
- Application: lưu giữ các thông tin chung trong một ứng dụng Web
- ObjectContext : đối tượng này dùng để hoàn tất hoặc hủy một giao tác
(transaction)
Cú pháp sử dụng các đối tượng này tùy thuộc vào ngông ngữ script mà người
lập trình sử dụng
Ta truy xuất thông tin của các đối tượng, thông qua các thuộc tính (property)
và phương thức (method) của các đối tượng đó
1.Đối tượng Request :
Đối tượng Request cung cấp tất cả các thông tin mà client gới lên server
thông qua HTTP Request
a.Collections :
- ClientCertificate: lưu giữ các giá trị về client certificate được gởi lên từ
browser
- Cookies: lưu giữ các giá trị của cookies được gởi lên từ browser
- Form: lưu giữ các thành phần của form được gởi từ browser
- QueryString: lưu giữ các giá trị trong HTTP query string
- ServerVariable: lưu giữ các biến môi trường và các biến của HTTP
Trang 17Truy xuất thông tin từ Form:
HTML Form cung cấp nhiều cách thức nhập liệu như : text, textarea, check
box, …
HTML Form là cách thức thông thường để trao đổi thông tin giữa Web server
và client thông qua 2 giao thức GET và POST
Ứng dụng ASP có thể trao đổi dữ liệu giữa các trang theo các cách sau:
- File htm(l) chứ các from và gởi các giá trị đến một file asp
- File asp tạo ra form và gởi tới một file asp khác
- File asp tạo ra form và gới lại cho chính nó
Khi form được gởi đến file asp, có thể truy xuất các giá trị trong form theo 2
cách như sau:
Sử dụng Collection QueryString:
QueryString chứa tất cả các thông tin của form được submit form lên server
bằng phương thức GET Các giá trị của form được chúa trong querystring được
gắn vào URL sau dấu ? bằng các cặp name=value Các cặp name= value phân cách
nhau bằng dấu &
Tại server ta truy xuất các giá trị của các thành phần trong form như sau:
Trang 18Một cách khác để submit form lên server là đặt các thông tin cần gởi đi trong
HTTP header Phương thức này gọi là POST
Tại server ta truy xuất giá trị của các thành phần trong form như sau:
Request.Form(“tên thành phần”)[.item]
Sự khác nhau giữa 2 cách gởi và nhận dữ liệu của 2 phương thức GET và
POST:
2 Đối tượng Respone:
Đối tượng chính thứ hai trong ASP là Response Đối tượng này dùng để gới
thông tin trở lại client
a Collection:
- Cookies: lưu giữ giá trị của tất cả các cookies gởi lại client
b Properties :
- buffer: xác định trang trả về có được đệm lại server hay không
- cachecontrol: xác định proxy server có thể cache trang trả về được ASP
tạo ra hay không
- Charset: xác định tên của bộ kí tự được thêm vào header content- type
- Contenttype: xác định loại HTTP content Ví dụ :”text/html”
Server (ASP Application )
Trang 19- addheader: thêm hay thay đổi giá trị trong HTTP header
- Appendtolog: thêm text của request này vào web server log
- Binarywrite: gởi text cho client mà không cần xác định bộ kí tự
(character - set)
- Clear: xóa hết các trang HTML gời trở về mà được buffer
- End :dừng nagy việc xử lý trang và trả về giá trị hiện có
- Flush: gởi ngay output mà được đệm (buffer)
- Redirect: hướng client kết nối tới một URL khác
- Write: ghi giá trị lên trang hiện hành như chuỗi
Trang 203 Đối tượng Session :
Đối tượng Session lưu giữ các thông tin của một phiên người dùng kết nối
với sever Nó lưu giữ các giá trị dùng chung giữa các trang Mỗi khi client truy
xuất một trang trong ứng dụng thì client đó được gán vào một đối tượng Seesion
Seesion sẽ mặc định bị huỷ sau 20 phút kể từ request sau cùng hoặc bị
hủy(abandon)
a Collection:
- contents: chứa tất cả các thành phần được thêm vào Session bằng các câu
lệnh script
- Staticobjects: chứa tất cả các đối tượng, được tạo bằng thẻ
<OBJECT>,được thêm vào Session
b Properties:
- codepage : codepage nhằm sử dụng cho ánh xạ các kí hiệu
- LCID: nhận dạng vị trí (locale identifier)
- SessionID: trả về ID của phiên làm việc cho client
- Timeout: thời hạn của session trong application, tính bằng phút
c Methods:
- abandon: huỷ phiên làm việc (Session) và các tài nguyên của phiên làm
việc đó
d Events:
- Onstar : được kích hoạt khi server tạo ra một session mới
- Onend: được kích hoạt khi hết hạn hoặc bị hủy
Trang 21<%Session(“name”)= “Nuyen Quang Thi”%>
4 Đối tượng Application:
Đối tượng Application dùng để chia sẻ các thông tin dùng chung cha tất cả
client một ứng dụng ASP Một ứng dụng ASP gồm tất cả các file asp trong thư
mục, thư mục con hay trong thư mực ảo
a Collections:
- contents: chứa tất cả thành phần được thêm vào Application bằng các
lậnh script
- Staticobjects: chứa tất cả các đối tượng, tạo ra bởi thẻ <OBJECT>, được
thêm vào Application
b Method:
- lock: cấm các client điều chỉnh giá trị các thành phần trong application
- Unlock: cho phép các client điều chỉnh giá trị các thành phần trong
Trang 225 Đối tượng Server :
Đối tượng Server cung cấp hầu như các thuộc tính và các phương thức cơ bản
dùng trong tấ các các trang ASP
a Properties:
- ScriptTimeout: khoảng thời gian mà một script chạy trước khi có lỗi
b Methods:
- createobject: tạo một thể hiện của một đối tượng hoặc server component
- HTMLencode: mã hoá một chuỗi theo cách mã HTML
- Mappath: chuyển một virtual path sang một phisical path
- URLencode: mã hoá một chuỗi theo cách mã URL bao gồm các kí tự
ascape
6 Đối tượng ObjectContext :
Đối tượng ObjectContext được dùng để hoàn tất hoặc hủy một giao tác được
tạo ra bởi một script trong một trang ASP Đối tượng này được quản lý trong
Microsoft Transaction Server (MTS)
a Methods :
- setcomplete: khai báo rằng script sẽ hoàn tất giao tác với bất kì lý do nào
Nếu tất cả các component trong giao tác đều gọi phương thức này thì giao
Trang 23- Ontransationabort: được kích hoạt khi một giao tác bị hủy
V CÁC COMPONENT TRONG ASP :
Ngoài các object đã khào sát ớ trên, trong ASP còn cung cấp một số ActiveX
Server Component Các component này được thiết kế như là một thành phần của
các ứng dụng web chạy trên web server Mỗi component là một thư viện các Class
(hay Object ) nhằm thực thi một nhóm thao tác nào đó, chẳng hạn như truy xuất
CSDL, truy xuất tập tin,…Ngoài ra, ASP còn cho phép người dùng tạo riêng các
server component để thêm vào ứng dụng web
1 Các component chuẩn do ASP cung cấp :
Trang 24Ví dụ : <%var dbCon = erver.CreateObject(“ADOBD.Connection”)%>
Tuy nhiên, trong phạm vi đề luận văn này, tôi chỉ trình bày sâu về các
Database Access component, với các thuộc tính và phương thức chính để truy xuất
CSDL
2 Database Access component :
Database Access component còn gọi là thư viện ADO (ActiveX Database
Object),các object của nó hầu như hỗ trợ cho tất cả các co chế kết nối và làm việc
với hầu hết tất cả các loại database
VI ADO DATA INTERFACE :
ADO là được thiết kế để giao tiếp với các loại CSDL thông qua ODBC (Open
Database Connectivity).chúng ta có thể dùng nó để truy xuất bất kì loại CSDL nào
miễn ODBC có hỗ trợ driver cho loại CSDL đó, ví dụ : SQL Server, Oracle,
Access,… và kể cả Microsoft Excel hay các loại dữ liệu ở dạng text khác
1 Mô hình các đối tượng ADO :
Active Server Pages
ActiveX Database Component ActiveX Data Objects
ODBC Driver
Data Provider Interface Data Source
Command Object
Parameters Collection Properties Collection Parameter Object Property Object
Trang 252 Đối tượng Connection:
Đối tượng Connection dùng để thiết lập một kênh kết nối với CSDL
Để sử dụng đối tượng này trước hết phải tạo ra thể hiện của nó :
Var = Server.CreateObject(“ADOBD.Connection”)
Lưu ý đến tầm vực hoạt động của Connection Nếu muốn thiết lập một kênh
kết nối với CSDL cho cả Application thì đặt Connection trong biến Application,
nếu muốn thiết lập một kênh cho cả Session thì đặt Connection trong biến Session
a Properties:
- attributes: kiểm soát việc tạo mới một giao tác khi một giao tác kết thúc
hay không
- CommandTimeout: số giây chờ thực thi một câu lệnh trước khi kết thúc
và đưa ra một thông báo lỗi(do không thể thực thi)
- ConnectionString: thông tin cần thiết để tạo một kết nối tới data source
- ConnectionTimeout: số giây chờ thực thi việc thiết lập kết nối trước khi
kết thúc và đưa ra một thông báo (do không thể thiết lập kết nối)
- CursorLocation : cursor được định vị trên client (adUseClient) hay
server (adUseServer)
- Defaultdatabase: dùng thiết lập hoặc trả về cCSDL mặc định cho kênh
kết nối này
- Isolationlevel: dùng thiết lập hoặc trả về mức độ tách biệt với giao tác
- Mode: dùng thiết lập hoặc trả về quyền truy cập
- Provider: dùng thiết lập hay trả về tên của provider
- State: trả về tình trạng của kết nối đang đóng hay mở
- Version : trả về số phiên bản của ADO
Trang 26- Open: thiết lập mộ kết nối mới đến data source
- Close : đóng một kết nối đang mở
- Execute: thực hiện một truy vấn đến CSDL, có thể là một câu truy vấn
SQL hoặc một stored procedure
- BeginTrans : bắt đầu một giao tác mới
- CommmitTrans : lưu tất cả các sự thay đổi và kết thúc giao tác Cũng có
thể bắt đầu một giao tác khác
- RollbackTrans: hủy bỏ bất kì thay đổi và kết thúc giao tác Cũng có thể
bắt đầu một giao tác khác
- OpenSchema: dùng cho các script chạy ở server, cho phép xem dữ liệu ở
nhiều kiểu khác nhau
3 Đối tượng Recordset :
a Thuộc tính :
- BOF : giá trị là true nếu dang ớ vị trí record đầu tiên
- Bookmark: lưu giữ vị trí record
- EOF: giá trị là true nếu dang ớ vị trí record cuối cùng
- RecordCount : số record hiện có trong recordset
- …
b Phương thức:
- addnew: tạo mới một record trong một recordset có thể cập nhật
- CencelBatch :hủy bo( việc cập nhật theo lô
- CencelUpdate: bỏ qua bất kì sự thay đổi nào tác động lên record hiện
hành hoặc record mới
- Clone : tạo bản sao cho recordset hiện hành
- Close : đóng một recordset dang mở và tất cả các tành phần liên quan
khác
- Delete: xoá một record hiện hành trong recordset đang mở
- Getrows : trích số dòng vào một mảng
- Move, MoveFirst, MoveLast, MoveNext, MovePrevious : di chuyển vị
trí record trong recordset
Trang 27- NextRecordset: di chuyển đến recordset kế trong truy vấn
- Open: mở cursor trên một recoreset
- …
Trang 28I GIỚI THIỆU HỆ THỐNG VÀ DỊCH VỤ MAIL:
1.Khảo sát tổng quát hoạt động của hệ thống Các Mail server:
Email là một trong những dịch vụ thông tin phổ biến nhất trên Internet Tuy
nhiên, khác với các dịch vụ DNS, TELNET, FTP, Email không phải là dịch vụ “từ
đầu - đến cuối” (end - to – end), nghĩa là máy gởi thư và máy nhận thư không cần
phải liên kết trực tiếp với nhau để thực hiện việc chuyển thư Nó là một dịch vụ
kiểu “lưu và chuyển tiếp” (Store and Forward) Thư điện tử được chuyển từ máy
này sang máy khác cho đến máy đích (giống như trong hệ thống bưu chính thông
thường : Thư được chuyển đến tay người nhận sau khi đã đi qua một số bưu cục
trung chuyển) Hình sau cho sơ đồ ví dụ hoạt động của mạng thư điện tử
IBM 37XX
IBM 37XX
Mail server
Trang 29Client sử dụng giao tiếp người dùng để soạn thư Sau khi soạn thư xong,
Client gửi thư đến MailServer gần nhất(đóng vai trò bưu cục địa phương) Mail
Server này có nhiệm vụ chuyển thư này đến một Mail Server lân cận nếu nó không
phải là máy đích và tiếp tục Mail Server này lại chuyển đến một Mail Server khác
cho đến khi chuyển đến Mail Server của người nhận và Mail Server này sẽ phân
phối thư vào đúng Mailbox của người nhận
- Nhận Thư :
Để nhận thư Client gửi yêu cầu trực tiếp lên MailServer lưu trử thư
MailServer sẽ xác nhận Client có quyền mở MailBox thì khi đó Client có thể mở
MailBox và lầy thư về
Trang 302 Các thành phần của một hệ thống Internet Mail
- User : là người hay một thực thể đang gởi hoặc nhận mail
- UA (User Agent ) : Các User Agent cho phép người sử dụng soạn thảo,
tạo ra nội dung các mail, cung cấp địa chỉ người nhận và sau đó giao các mail
cho Message Transfer Agent (MTA) để gởi mail đi
- MTA ( Message Transfer Agent ) : Các MTA là các trạm xử lý mail giữa
các UA, mail sau khi được soạn thảo ở UA, nó được gởi xuống MTA và di chuyển
từ MTA này đến MTA kia cho đến khi nó đến đích và được UA của người nhận
khôi phục lại Có thể xem MTA như là một bưu cục
MTA hoạt động theo mô hình Client / Server, MTA gửi là Client MTA , còn
MTA nhận là Server MTA tức là chương trình MTA có thể hoạt động ở một trong
hai chế độ : Client hay Server
II CẤU TRÚC CỦA MỘT BỨC MAIL/Message
Về cơ bản, một bức Mail bao gồm 3 phần chính:
1 Phần phong bì (Envelope):
Phần này do các MTA tạo ra và sử dụng, nó chứa các thông tin cần thiết để
chuyển nhận Mesage: địa chỉ nơi nhận, địa chỉ nơi gửi Hay nói cách khác, giao
thức SMTP sẽ quy định thông tin của phong bì, các hệ thống Email cần những
thông tin này để chuyển dữ liệu từ máy tính này(MailServer) sang một máy tính
khác (MailServer)
2 Phần tiêu đề (header):
Phần này cung cấp những thông tin tổng quát về mail(message) như người
nhận, người gửi, ngày giờ nhận
Cấu tạo gồm nhiều trường (field) cấu trúc mỗi trường là một dòng văn bản
ASCII chuẩn 7 bit như sau: <tên trường >: <nội dung của trường>
Sau đây là một số trường thông dụng và ý nghĩa của nó :
- Date: chỉ ngày giờ nhận mail
- From: chỉ người gởi
- To: chỉ người nhận
Trang 31- Cc: chỉ những người nhận bản copy của mail
- Bcc: chỉ ra những người nhận bản copy của bức mail, nhưng từng người
không biết những người khác sẽ nhận bức thư này
- Return-path: chứa các thông tin để người nhận có thể trả lời lại (thường nó
chính là địa chỉ người gởi)
- Subject: chủ đề của nội dung mail
Các trường trên là các trường chuẩn do giao thức SMTP quy định, ngoài ra
trong phần header cũng có thể có thêm một số trường khác do chương trình mail
tạo ra nhằm quản lý các Mail mà chúng tạo Các trường này được bắt đầu bằng ký
tự X- và thông tin theo sau là cũng giống như ta thấy trên một trường chuẩn
3 Phần nội dung (body):
Phần nội dung là phần chứa nội dung của thư, nó có thể là dạng văn bản, hình
ảnh hay là ở dạng tập tin Để phân biệt phần tiêu đề và phần nội dung của bức thư,
người ta qui ước đặt ranh giới là một dòng trắng (chuỗi ký tự "\r\n") Kết thúc của
phần nội dung là chuỗi ký tự kết thúc Mail: "\r\n.\r\n" Như vậy nội dung bức Mail
nằm trong khoảng giữa dòng trắng đầu tiên và ký tự kết thúc Mail, và trong phần
nội dung của bức Mail không được phép tồn tại chuỗi ký tự kết thúc Mail
Kết Luận :để xây dựng hệ thống Mail Client chúng ta cấn phải nắm được cấu
trúc của một bức e-mail cấu trúc này được qui định trong chuẩn giao thức SMTP
Trang 32GIAO THỨC SMTP (Simple Mail Transfer Protocol)
SMTP ( Simple Mail Transfer Protocol ) là một phần trong họ nghi thức của
TCP/ IP là nghi thức qui định việc truyền nhận mail chủ yếu dùng trong mạng
Internet Chuẩn này hiện thực hệ thống Store and Forward (Lưu trữ và vận chuyển
) Nghi thức SMTP hoạt động dựa vào nghi thức TCP và lắng nghe trên cổng
chuẩn: TCP 25
I MÔ HÌNH CỦA GIAO THỨC SMTP :
Giao thức SMTP được thiết kế dựa vào mô hình giao tiếp sau: khi có yêu cầu
từ user về dịch vụ mail, sender-SMTP thiết lập một kênh truyền hai chiều tới
reciever-SMTP Reciever- SMTP có thể là đích cuối cùng hoặc chỉ là đích trung
gian nhận mail Các lệnh trong giao thức SMTP được sender-SMTP gởi tới
reciever-SMTP và reciever-SMTP gởi đáp ứng trở lại cho sender-SMTP
1 Đặc tả cho giao thức SMTP:
a Các lệnh trong giao thức SMTP:
Y nghĩa của các lệnh:
- Những lệnh SMTP định nghĩa sự truyền mail hay những chức năng của hệ
thống mail được yêu cầu bởi user Những lệnh SMTP là những chuỗi ký tự kết
Trang 33- Một phiên giao dịch mail chứa đựng một vài đối tượng dữ liệu, được truyền
như là những đối số cho các lệnh khác nhau Reverse-path là đối số của lệnh
MAIL Forward-path là đối số của lệnh RCPT Và mail data là đối số của lệnh
DATA Những đối số hay những đối tượng dữ liệu này được truyền đi và duy trì
cho đến khi xác nhận truyền xong bởi sự chỉ định kết thúc của mail data Mô hình
hiện thực cho cách làm này là những buffer riêng biệt được cung cấp để lưu trữ
kiểu của đối tượng dữ liệu, đó là các buffer : reverse-path, forward-path, và mail
data buffer
- Reverse-path bao gồm một danh sách tùy ý các host và mailbox của sender
Nó chứa thứ tự các host mà Mail được chuyễn tiếp qua.danh sách này rất cần thiết
khi hệ thống thông báo lỗi khi việc gửi thư không thành công cho máy gửi
- Forward - path bao gồm một danh sách tùy ý các host và một hộp thư đích
- Mail Data-Vùng chứa dữ liệu
- HELLO (HELO) Lệnh này được dùng để xác định ra ai là người gởi mail
Vùng đối số chứa host name của bên gởi.Với lệnh này và sự trả lời OK để xác định
rằng cả sender và reciever đang ở trạng thái khởi đầu, tất cả các bảng trạng thái và
buffer đã được xóa sạch
- MAIL Lệnh này được dùng để khởi tạo quá trình trao đổi mail mà ở đó
mail data được phân phát tới một hay nhiều mailbox Vùng đối số của lệnh có chứa
reverse-path
Lệnh này sẽ xóa các buffer sau: reverse-path, forward-path, và mail data
buffer, và nó thêm thông tin của reverse-path từ lệnh này vào reverse-path buffer
-RECIPIENT (RCPT)
Lệnh này được sử dụng để định ra một người nhận mail; nhiều nguời nhận
(cùng một nội dung mail) sẽ được xác định bằng cách gởi nhiều lệnh này
Khi mail đã được truyền tiếp vận, host làm công việc này phải bỏ phần định
danh nó từ chỗ bắt đầu forward-path và đặt nó vào chỗ bắt đầu của reverse-path
Khi mail đến được đích cuối cùng rồi, reciever-SMTP bỏ nó vào trong mailbox với
sự đồng ý của host mail đó
Trang 34Reciever sẽ xử lý những dòng theo sau lệnh khi mail data đến từ sender Lệnh
này tạo ra mail data để đặt vào mail data buffer Mail data có thể chứa bất kỳ ký tự
nào trong bộ mã ASCII
Mail data được kết thúc bởi một dòng mà nó chỉ chứa một dấu chấm “ ”
Sự kết thúc mail data để yêu cầu receiver phải xử lý việc lưu trữ thông tin
trong phiên giao dịch mail ngay Quá trình xủ lý này sử dụng thông tin nằm trong
reverse-path buffer, trong forward-path buffer, và trong mail data buffer, khi hoàn
tất lệnh này những buffer này sẽ bị xóa Nếu quá trình xử lý thành công, reciever
phải gởi trả lời OK Nếu bị lỗi, reciever phải gởi thông báo lỗi
Khi reciever chấp nhận một message cho sự truyền tiếp vân hoặc phân phát
đến đích cuối cùng, nó thêm vào chỗ khởi đầu của mail data một dòng đánh dấu
thời gian Dòng đánh dấu thời gian chỉ ra định danh của host mà nó nhận message,
và ngày tháng và thời gian mà mail được nhận Những message được truyền tiếp
vận sẽ có nhiều dòng đánh dấu thời gian
Khi reciever tạo ra “final delivery” của một message, nó thêm vào đầu của
mail data một dòng đường dẫn quay về Đường dẫn quay về duy trì thông tin trong
<reverse-path> từ lệnh MAIL Ơ đây, “final delivere” có nghĩa là message thoát
khỏi môi trường SMTP Thông thường điều này có nghĩa là nó đã được phân phát
tới user đích, nhưng trong một vài trường hợp nó có thể được xử lý tiếp và được
truyền đi bằng một hệ thống mail khác
- SEND
Lệnh này được dùng để khởi tạo sự truyền mail mà ở đó mail data sẽ được
truyền đi tới một hay nhiều terminal Vùng đối số chứa phần reverse-path lệnh
thực thi thành công khi message được phân phát tới terminal
Lệnh nay sẽ xóa các buffer sau : reverse-path, forward-path, và mail data
buffer, đồng thời nó thêm reverse-path ở lệnh này vào reverse-path buffer
- SEND OR MAIL (SOML)
Trang 35Lệnh này được sử dụng để khởi tạo sự truyền mail mà ở đó mail data một hay
nhiều terminal hoặc các mailbox Đối với người nhận, mail data được phân phát tới
terminal của người nhận nếu người nhận có tích cực, trái lại, là mailbox của người
nhận Lệnh này thành công khi message được phân phát tới terminal hoặc là
mailbox
Lệnh này sẽ xóa đi các buffer sau: reverse-path, forward-path, và mail data
buffer, đồng thời nó thêm thông tin reverse-path từ lệnh này vào reverse-path
buffer
- SEND AND MAIL (SAML)
Lệnh này được sử dụng để khởi tạo sự truyền mail mà ở đó mail data một hay
nhiều terminal hoặc các mailbox Đối với người nhận, mail data được phân phát tới
terminal của người nhận nếu người nhận có tích cực, và đối với mọi người nhận
mail sẽ tới mailbox của những người nhận đó
Vùng đối số chứa đựng một reverse-path Lệnh này thành công khi message
được phân phát tới mailbox
Lệnh này sẽ xóa đi các buffer sau: reverse-path, forward-path, và mail data
buffer, đồng thời nó thêm thông tin reverse-path từ lệnh này vào reverse-path
buffer
- RESET (RSET)
Lệnh này xác định sự truyền mail hiện tại đã bị hủy bỏ Các sender, recipient,
mail data đã lưu sẽ bị huỷ bỏ và tất cả các bảng trạng thái, các buffer bị xoá
Receiver phải gửi một reply OK
- VERIFY (VRFY)
Lệnh này yêu cầu receiver xác nhận đối số là định danh một user Nếu nó là
một user name, full name của user đó (nếu receiver biết) và mailbox đặc tả đầy đủ
được trả về.Lệnh này không ảnh hưởng đến reverse-path buffer, forward-path
buffer và data mail buffer
- EXPAND (EXPN)
Trang 36Lệnh này yêu cầu receiver xác nhận đối số là một mailing list( danh sách địa
chỉ) và trả về một thành phần trong danh sách đó Full name của các user (nếu biết)
và những mailbox đã xác định đầy đủ được trả về trong một reply gồm nhiều
dòng.Lệnh này không ảnh hưởng đến reverse-path buffer, forward-path buffer và
data mail buffer
- HELP
Lệnh này cho receiver những thông tin giúp đỡ cho sender Lệnh này có thể
nhận một đối số (có thể là tên lệnh) và trả về thông tin chi tiết
Lệnh này không ảnh hưởng đến reverse-path buffer, forward-path buffer và data
mail buffer
- NOOP
Lệnh này không ảnh hưởng các tham số hay các lệnh được đưa vào trước nó,
nó đặc tả không có một hành dộng nào khác hơn là receiver gửi một reply OK
Lệnh này không ảnh hưởng đến reverse-path buffer, forward-path buffer và
data mail buffer
- QUIT
Lệnh này định rõ receiver phải gửi một reply OK và sau đó đóng kênh truyền
Receiver sẽ không đóng kênh truyền cho đến khi nó nhận và trả lời cho lệnh
QUIT (ngay cả nếu có một lỗi xãy ra) Sender sẽ không đóng kênh truyền cho đến
khi nó gửi một lệnh QUIT và nhận reply đó (ngay cả nếu có một lỗi trả lời cho lệnh
trước đó) Nếu mà kết nối bị đóng trước thời gian mong muốn receiver sẽ làm việc
như nếu vừa nhận được một lệnh RSET (bỏ tất cả các giao dịch đang treo mà chưa
làm, nhưng không “undo” những đã truyền hoàn tất trước đó) sender sẽ hành động
ngay khi lệnh hay quá trình truyền đó trong quy trình nhận được một lỗi tạm thời
(4xx)
- TURN
Lệnh này xác định receiver phải gửi một trong hai reply sau: (1) reply OK và
sau đó nhận vai trò của một sender-SMTP, hay (2) gửi một reply từ chối và giữ lại
vai trò một receiver-SMTP
Trang 37Nếu program-A hiện tại là một sender-SMTP và nó gửi một lệnh TURN và
nhận một reply OK (250) thì A trở thành receiver-SMTP sau đó
program-A sẽ trong trạng thái khởi động ngay khi kênh truyền đã được mở, và sau đó nó gởi
Nếu chương trình B hiện tại là reciever và nó nhận được lệnh TURN và nó trả lời
OK thì B trở thành sender B khi đó ở trạng thái khởi tạo ngay khi kênh truyền
được mở, và nó chờ nhận trả lời dịch vụ đã sẵn sàng (220)
Để từ chối thay đổi vai trò receiver gửi một reply 502
Có một vài hạn chế về trật tự khi dùng những lệnh này.Đầu tiên trong một phiên
trao đổi phải là lệnh HELLO, lệnh này có thể được dùng sau đó trong một cuộc trao đổi
khác Nếu đối số trong lệnh HELLO không được chấp nhận, một reply failure 501 phải
được trả về và receiver-SMTP đó phải ở trong cùng trạng thái
Các lệnh NOOP, HELP, EXPN, và VRFY có thể được sử dụng vào bất kỳ
thời điểm nào
Các lệnh MAIL, SEND, SAML bắt đầu cho sự truyền mail Khi được khởi
động, sự truyền mail bao gồm một trong các lệnh khởi tạo, một hoặc nhiều lệnh
RCPT và lệnh DATA Sự truyền mail có thể bị hủy bỏ bởi lệnh RSET Có thể có
nhiều hoặc không có sự truyền nào trong một phiên truyền
Nếu đối số bắt đầu phiên truyền không được chấp nhận, thông báo 501
failurephaỉ được trả về và reciever-SMTP phải nằm trong cùng trạng thái Nếu các
lênh trong phiên truyền không có thứ tự, thì thông báo 503 failure sẽ được trả về và
reciever-SMTP phải nằm trong cùng trạng thái
Lệnh cuối cùng trong phiên truyền là lệnh QUIT Lệnh này không thể được
sử dụng tại bất kỳ thời gian nào trong phiên truyền
Cú pháp của các lệnh:
Các lệnh bao gồm một mã lệnh theo sau là đối số của lệnh Mã lệnh là 4
ký tự alphabetic Không phân biệt chữ thường hoăc chữ hoa
Trang 38Giữa mã lệnh và đối số là một hoặc nhiều khoảng trắng Tuy nhiên trong
reverse-path và forward-path, kiểu chữ rất quan trọng Đặc biệt, trên một
số host, tên user cũng phân biệt kiểu chữ hoa và thường
Đối số bao gồm một chuỗi ký tự có chiều dài biến đổi kết thúc bằng
Sự trả lời cho những lệnh của SMTP được đặt ra để đảm bảo cho sự
đồng bộ cho các yêu cầu và những hoạt động trong qui trình truyền mail,
và để bảo đảm rằng sender-SMTP luôn luôn biết trạng thái của
reciever-SMTP Mỗi lệnh SMTP phải tạo ra chính xác một reply
Trang 39Một reply SMTP bao gồm một số ba chữ số (được truyền như ba ký tự
chữ số) và theo sau là một số văn bản (text) Số đó được sử dụng một
cách tự động để xác định trạng thái đưa vào kế tiếp Text ở trên là dành
cho người sử dụng Ba chữ số đó được ấn định chứa đầy đủ thông tin
được mã hoá mà sender-SMTP không cần kiểm tra text đó và có thể huỷ
bỏ hay chuyển nó qua một user thích hợp Đặc biệt text này có thể phụ
thuộc vào receiver và vào ngữ cảnh, vì vậy có sự giống nhau trong sự
phân biệt text cho từng mã reply
Danh sách có thứ tự của mã số cho reply:
211 Tình trạng hệ thống, hay reply giúp đỡ về hệ thống
220 <domain> dịch vụ sẳn sàng
221 <domain> dịch vụ đóng kênh truyền
251 User không cục bộ; sẽ hướng đến <forward-path>
354 Khởi động việc nhập mail; kết thúc với <CLRF> <CLRF>
421 <domain> dịch vụ không sử dụng được, đóng kênh giao
chuyển [nó có thể là một reply cho nhiều lệnh nếu dịch vụ đó biết reply
này phải shut down]
450 Hành động mail yêu cầu không được chấp nhận : mailbox
không có hiệu lực [như mailbox bận]
lý
không đủ
lỗi như: lệnh quá dài]
501 Lỗi cú pháp trong tham số hay đối số
Trang 40550 Hành động được yêu cầu không được châp nhận; mailbox
không hiệu lực [như mailbox không tìm thấy hay không truy cập được]
551 User không cục bộ; vui lòng thử <forward-path>
Hành động được yêu cầu không chap nhận; tên mailbox không cho
phép [như sai cú pháp mailbox]