Giáo viên có thể thông báo tới sinh viên của mình về tiến trình giảng dạy, có thể đưa lên trang web các bài giảng và giáo trình của mình, còn sinh viên có thể vào trang web đó để trao đổ
Trang 1MỤC LỤC Lời nói đầu -c- S1 SH SH nh nh nh như nh re 5 Chương 1: Giới thiệu đề tài - c5 2< +< s2 7
I Giới thiệu ASP SH HH nh như 19
1 Active Server Page là gì nhe 19
2 Hoạt động của Active Server Page -.-«- 19
3 Các hoạt động của ASP c2 se, 20
4 Cấu trúc các File ASP c2 Sen 22
5 Các tính chất của ASP -cc-scS Sen 22
II Ngôn ngữ sử dụng lập trình với ASP - 23
1 Các lệnh Script của ASP -. c-ccccsccsssss+ 23
2 Ngôn ngữ Script và Script Engine 24
3 Viết các thủ tục với ngôn ngữ -«- 26
Trang 2II Những vấn đề liên quan đến xây dựng ứng dung ASP 27
1 Eile Global.aSa - cành ni, 27 2 Khai báo đối tượng và biến cố -. - 29
IV Các đối tượng trong ASP c2 cày 32 1 Đối tượng Redquest -. . << << 33 2 Đối tượng Response << <+2 34 3 Đối tượng Session cc cà se 35 4 Đối tượng Application -‹-‹ - + + + ss + sxes 36 5 Đối tượng S€TV€T - c2 Sen 37 V._ ADO (ActiveX Data ObJect) - <5 38 A Thanh phần truy cập cơ sở dữ liệu -: - 38
B Giao diện ADO - S22 SH SH nh nh nh re 38 C Các đối tượng trong ADO -. c c2 ss+ 39 1 Đối tượng Connection -‹ sc + scss se 39 2 Đối tượng Command -‹ < + sx+s>s+ 43 3 Đối tượng RecordSet -. - c2 cc c2 S22 sè 46 Chương 4: Phân tích và thiết kế hệ thong Website 51
1 Sơ đồ phân cấp chức năng -. -: 51
2 Định nghĩa các chức năng -.‹ - 52
2.1 Chức năng trang phổ biến kiến thức - 52
2.2 Chức năng trang báo điện tử - -« + 53
Trang 32.3 Chức năng đăng nhập -. - <<: 53
2.4 Chức năng quản trị hệ thống - 54
2.4.1 Chức năng quản lý người dùng - 54
2.4.2 Chức năng quản lý bài học - 55
2.4.3 Chức năng quản lý trang tin ‹ - 56
3 Thiết kế cơ sở dữ liệu -c<c<c<c<css + 57 SN: á::IỤIIỤAIiiiiiiiẳäậắ 57
3.2 Bảng phân quyền -< s22 2+3 s*x 57 3.3 Bảng mơn học c c2 2222233222131 x+ 57 3.4 Bảng bài hỌC - c2 22222222122 vn cv se 58 3.5 Bảng cấu hình c2 c2 21211323133 sx2 58 3.6 Bảng chủ để tin - cc c2 2222122121121 31x32 58 3.7 Bảng nội dung tỉn -c-c + ccssssss+xsx+ 58 3.8 Các quan hệ cơ bản giữa các bảng trong cơ sở dữ liệu 59
Chương 5: Cài đặt và sử dụng Website 60
1 Bảo mật Password đối với hệ thống website 60
1.1 Quá trình xử lý Password khi tạo người dùng mới 60
1.2 Quá trình kiểm tra Password khi người dùng đăng nhập 60
1.3 Bảo mật từng trang c-cccccsssxsx> 61
2 Cac Modul cơ sở dữ liệu -. -c<c< + 63
Trang 42.1 Trang ADO.asp SH nhớ 63
2.2 Các modul phần trang báo điện tử - - 63
2.3 Các trang web được xuất ra để truy cập - 64
3 Các trang mô tả chức năng quản trị người dùng 66
3.1 Trang mô tả chức năng thêm người dùng mới 66
3.2 Trang tìm kiếm, update và xoá user - 67
4 Các trang mô tả chức năng quản trị môn học - 68
4.1 Trang mô tả chức năng thêm môn học mới 68
4.2 Trang mô tả chức năng tìm kiếm, update và xoá môn học 69
5 Các trang mô tả chức năng quản trị bài học 70
5.1 Trang mô tả chức năng thêm bài học mới 70
5.2 Trang mô tả chức năng tìm kiếm, update và xoá bài học 71
6 Các trang mô tả chức năng quan tri trang báo 72
6.1 Trang mô tả chức năng soạn tin bài mới 72
6.2 Trang mô tả chức năng hiển thị, cập nhật và xoá tin bài 75
Trang 5Trong thời đại ngày nay, khi mà chúng ta đang sống trong kỷ nguyên tin học với sự phát triển vượt bậc của ngành công nghệ thông tin và sự bùng
nổ của mạng Internet toàn cầu Công nghệ thông tin không chỉ dừng lại ở
mục đích phục vụ cho khoa học kỹ thuật mà nó đi sâu vào đời sống xã hội
và trở thành cần thiết với những lợi ích mà nó mang lại Trong sự nghiệp
giáo dục và đào tạo của nước nhà, công nghệ thông tin cũng mang lại những đóng góp quan trọng Những ứng dụng đầu tiên của công nghệ thông tin vào ngành giáo dục là quản lý đào tạo, xây dựng bài giảng trên
máy vi tính, xây dựng website trợ giúp giảng dạy v.v
Với ngành giáo dục , trang web hỗ trợ rất nhiều cho công tác giáo dục
và đào tạo tại các trường đại học, các khoa ngành Khi có trang web, mọi thông tin luôn được cập nhật, mọi sinh viên và giáo viên của một
trường hay một khoa có thể vào trang web để cập nhật về tình hình hoạt động, trao đổi về các nhiệm vụ học tập Giáo viên có thể thông báo tới sinh viên của mình về tiến trình giảng dạy, có thể đưa lên trang web các bài giảng và giáo trình của mình, còn sinh viên có thể vào trang web đó để trao đổi với nhau về các vấn đề học tập, đồng thời có thể cập nhật các bài giảng giáo trình trên mạng để có thể tự học
Em là sinh viên Khoa Sư Phạm Kỹ Thuật, em được giao nhiệm vụ làm
đô án tốt nghiệp với dé tài: “Thiết kế trang web động hỗ trợ dạy học”,
trang web này được thiết kế nhằm phục vụ cho công tác học tập và nghiên
cứu của thầy và trò khoa Sư Phạm Kỹ Thuật-ĐHBKHN, em mong rằng trang web sẽ giúp được công tác dạy và học của khoa, đó cũng là thành quả
mà em đạt đựơc trong suốt quá trình học tập của minh
Chương 1: Giới thiệu đề tài
Trang 6I Mô tả đề tài
Khoa Sư Phạm Kỹ Thuật là khoa mới thành lập của trường Đại Học Bách Khoa Hà Nội Khoa nhằm mục đích đào tạo giáo viên dạy môn kỹ thuật công nghiệp cho các trường dạy nghề, các trường trung học chuyên
nghiệp, các trường cao đẳng nghề Mọi thông tin về khoa sư phạm kỹ
thuật còn đang chưa thực sự rõ ràng đến sinh viên, nên việc cập nhật thông
tin của khoa đến sinh viên và những người quan tâm đến khoa là rất cần thiết Công tác dạy và học của khoa hiện tại là những giờ trên giảng đường, sinh viên còn vấp phải thụ động trong quá trình học tập bởi những giờ giảng trên lớp Việc có một trang web giới thiệu về khoa là hết sức cần
thiết, mọi thông tin về khoa luôn được cập nhật, các thông tin cơ cấu tổ
chức, lịch sử phát triển, tương lai phát triển, những dự án và kế hoạch học tập luôn cập nhật tới sinh viên, để họ có thể dễ dàng vào trang web đó để
cập nhật thông tin về khoa các tình hình hoạt động và lịch học tập Quan trọng hơn, trang web hỗ trợ công tác đào tạo dạy học của khoa, ở trang
web cung cấp các giáo trình bài giảng của từng bộ môn của từng thầy giáo của bộ môn đó Người thầy giáo có thể đưa bài giảng và giáo trình của mình lên Website thông qua một hệ thống upload và có thể tải chính bài giảng của mình về để chỉnh sửa, update và thêm vào trong cơ sở đữ liệu những bài giảng và giáo trình mới Là sinh viên có thể vào trang web để
xem thông tin,cập nhật bài giảng và giáo trình và cũng cho phép download
các bài giảng về để tự học
Ngoài ra trang web cũng cung cấp một forum để thầy và trò trong khoa
có thể trao đổi với nhau các nhiệm vụ học tập và nghiệp vụ sư phạm thông qua hệ thống đăng ký thành viên diễn đàn
Trang web được xây dựng bằng ngôn ngữ lập trình web ASP, kết hợp với
Trang 72 Các yêu câu đặt ra với hệ thống
- Đối với người quản trị hệ thống (admin) có các quyền sau: có thể thêm, sửa, xoá user, quản lý trang tin, quản lý thành viên, quản lý bài học, quản
lý forum
- Đối với thầy giáo (user) có các quyền: thêm, xoá bài giảng của mình
và có thể download về chỉnh sửa và update bài học mới
- Đối với thành viên (sinh viên) chỉ có quyền vào xem các thông tin và
đăng ký tham gia diễn đàn, và không có quyền sửa đổi các cơ sở dữ liệu III Cấu trúc của đồ án
Đồ án có cấu trúc gồm các chương :
Chương 1: Giới thiệu đề tài
Chương 2: Các vấn đề về mạng máy tính Internet và Intranet
Chương 3: Ngôn ngữ lập trình ASP và chuỗi kết nối ADO
Chương 4: Phân tích và thiết kế hệ thống
Chương 5: Cài đặt và sử dụng Website
IV Phương pháp nghiên cứu
Trang 8Để thực hiện tốt đồ án với các yêu cầu đó, em đã sử dụng các phương pháp nghiên cứu :
> Phương pháp phân tích và tổng hợp lý thuyết
> Phương pháp nghiên cứu tài liệu
> Phuong phap lay y kién chuyén gia
> Phuong pháp điều tra (phỏng vấn, lấy ý kiến, yêu cầu)
Chương 2 : Các vấn đề về mạng máy tính Internet va
Intranet
1 Internet là gì ?
Internet là một mạng máy tính toàn cầu sử dụng một ngôn ngữ truyền thông chung nó tương tự như một hệ thống điện thoại quốc tế và được kết nối theo cách làm việc của một mạng lớn
World Wide Web cho ta một hình ảnh dễ dàng giao tiếp và tìm kiếm dữ
liệu trên Internet Các dữ liệu này được liên kết với nhau thông qua một
trang web Các file, các trang được nối kết với nhau thông qua các mối liên kết là text hoặc hình ảnh được gọi là Hyperlink
Các trang web có thể chứa văn bản, hình ảnh, âm thanh Các trang này
có thể được đặt trên một máy tính ở một vị trí nào đó trên mạng(server)
Khi ta nối kết tới Internet ta có thể truy xuất thông tin trên toàn cầu
Hyperlink là các text hay hình ảnh mà được gắn địa chỉ Web trên đó, bằng cách click vào hyperlink ta có thể nhảy tới một trang thành phần của
cả website Mỗi một website có một trang chủ của Website đó và có một
địa chỉ duy nhất gọi là URL( Uniform Resource Locator ) URL xác định
Trang 9Il Intranet 1a gi ?
Intranet dựa vào TCP/IP Network nhưng không nối kết tới Internet mà
chỉ sử dụng chuẩn truyền thông Internet và các công cụ của nó dùng để
cung cấp thông tin tới người sử dụng trên một mạng riêng Ví dụ một công
ty có thể cài đặt một Web server chỉ cho các thành viên của công ty trao đổi thư từ tin tức và thông tin thương mại Các thành viên truy xuất thông
tin bằng cách dùng các web browser
Til Internet Information Server (IIS) la gi ?
Internet Information Server là một Web server cho phép ta công bố
thông tin trên mạng Intranet hay Internet Internet Information Server(IIS)
truyền tải thông tin bằng cách ding Hyperlink Transfer Protocol(HTTP), Internet Information Server cũng có thể dùng phương thức FPT(File Transfer Protocol) hoac Gopher
Internet Information Server 14m việc như thế nào ?
Web là một hệ thống yêu cầu ( Request ) và đáp ứng ( Response ) Web
browser yêu cầu thông tin bằng cách gửi một URL tới Web Server, Web
server đáp ứng lại bằng cách trả lại một trang HTML cho Web browser
Trang 10HTML cé thé 1a mot trang web tinh duoc luu sin 6 trén Web server hoac
có thể là một trang động mà server tạo ra khi đáp ứng yêu cầu của người sử
dụng hoặc là một trang ở thư mục nào đó trên server
Web Browser URL Request
Mỗi trang Web trên mạng Intranet hoặc Internet có cé mot URL duy
nhất Web browser yêu cầu một trang bằng cách gửi một URL tới một Web server Web server sử dụng thông tin trong URL để xác định và cho hiển thị trang Web theo yêu cầu của Web browser
Cú pháp URL là một chuỗi văn bản tuần tự gồm có : Protocol, Domain Name, và đường dẫn (Path) tới thông tin yêu cầu Protocol là chuẩn truyền thông dùng để truyền tải thông tin như là : HTP, FTP, và Gopher Domain
NÑame chính là Domain Name System (DNS) của máy tính chứa thông tin
Path là đường dẫn chứa thông tin yêu cầu trên máy tính Ví dụ :
Trang 11để xử lý và trả lại kết quả cho một trang web Ví dụ :
Trang 12Web Server Response
Web server đáp ứng yêu cầu của Web browser bằng cách trả lại một trang HTML Trang trả lại có thể là trang HTML tính, trang HTML động hoặc là trang trong danh sách thư mục
Trang HTML tinh(Static Page)
Một trang HTML fnh là trang đã được chuẩn bị sẵn cho các yêu cầu nhất định và được đặt sẵn trên Web server Người sử dụng yêu cầu một
trang HTML tĩnh bằng cách gõ trực tiếp URL hoặc là click vào Hyperlink
của URL nào đó, URL được gửi tới server Server đáp ứng lại bằng cách trả lai trang HTML tinh
Trang 13Trang HTML dong ( Dynamic Page)
Các trang động được tạo ra trong quá trình đáp ứng cho yêu cầu của
người sử dụng Một Web browser thu thập thông tin bằng cách thực hiên một trang có các Text box, Menu, Checkbox cho phép người sử dụng
điền vào hoặc lựa chọn Khi sử dụng click vào một nút (Button) trên Form,
dữ liệu từ form được gửi tới Web server Server đưa dữ liệu này tới một
script hoặc một trình ứng dụng để xử lý Sau đó server gửi lại kết quả cho browser bằng một trang HTML Ví dụ sau đây cho phép người sử dụng gửi yêu cầu tới một Internet Server API (ISAPI), ứng dụng này dùng để cộng 2
số Người sử dụng nhập 2 số được cộng sau đó click một button để gửi 2 số
đó tới web server Web server gọi một ISAPI để cộng 2 số, sau đó trả lại
kết quả cho browser bằng một trang HTML
Trang 14
Add.dIl
Web server
ser ver
liệu vào database sau đó trả lại một trang HTML kết quả cho browser
Database
InternetDataba
se Connector
Trang 15
Sử dụng Internet Information Server(HS) như thế nào ?
Internet Information Server đủ khả năng đáp ứng các chức năng quan trọng cho các tổ chức khác nhau Chúng ta có thể sử dụng một Server cho một Website hoặc cũng có thể sử dụng nhiều server cho một website Một
trong những nhân tố để xác định cấu hình IIS là nó được sử dụng bên trong nội bộ của một mạng Intranet hay nó được nối kết với Internet
Các kịch bản sau đây giúp ta hiểu thêm phạm vi và khả năng sử dụng của Internet Information Server
Kich ban Intranet :
Trong một nhóm (Workgroup) ta có thể tích hợp Internet Information Server với một Server Web server của workgroup có khả năng tổ chức các loại trang web để đáp ứng cho các ứng dụng trong workgroup như là cho phép giao tiếp với Database SQL hay là cho phép truy xuất tài nguyên từ xa(Remote Access Service)
File and Print Services
Trang 16Trong một mạng thương mại lớn có nhiều bộ phận (workgroup), mỗi bộ
phận chạy IIS trên server của mình Một server trung tâm dùng để phối hợp
và quản lý tất cả các thông tin trên mạng
Internet Information Server có thể là một Web server đơn giản trên
Internet như ví dụ minh hoạ sau đây :
Trang 17
client
17
Trang 18dùng IIS để truyền thông giữa các site này với nhau, và ta cũng có thể dùng RAS để cho phép truy cập tới Intranet hoặc Internet
Chương 3: Ngôn ngữ lập trình ASP và chuỗi kết nối ADO
I Giới thiệu về ASP
1 Active Server Page là gì ?
Microsoft ActiverServer Page là một trường hỗ trợ cho các script chạy
trên máy chủ (Server), cho phép chúng ta tạo ra và chạy cácứng dụng Web
Server động ASP hoạt động dựa vào các Script do người lập trình tạo ra Active Server Page chạy trên các môi trường :
> Microsoft Internet Information Server trén window NT Workstation
> Microsoft Peer Web Services trén Window NT Workstation
> Microsoft Personal Web Server trén Window 95, Window 98
2 Hoat dong cua Active Server Page
Mô hình tổng quát hoạt động của ASP
Trang 19Web Server Active Server
3 Cách hoạt động của ASP :
Các Script của ASP được chứa trong các File văn bản (Eile Text)
có tên mở rộng là ASP Trong các Script có chứa các lệnh của một số ngôn
Trang 20Perl awk etc
CGI Script
Giao dién DLL cho ASP Includes(SSI)
Interpretor Interpretor Compenents(ADO)
Active Server Custom ODBC Driver
Trang 214 Cấu trúc của File ASP :
Một File ASP có tên mở rộng là ASP, nó bao gồm các thành phần như :
> Van ban (Text)
> Thẻ HTML (HTML Tags)
> Lénh Script (Script commands)
5 Cac tinh chat cua ASP :
Với ASP ta có thể chèn các Script thực thi được vào trực tiếp các file
HTML Khi đó việc tạo rat rang HTML và xử lý Script trở nên đồng thời,
điều này cho phép ta tạo ra các hoạt động của Website một cách linh hoạt
uyển chuyển, có thể chèn các thành phần HTML động vào các Web tuỳ vào từng trường hợp cụ thể
ASP cho ta các tính chất sau :
v Có thể kết hợp với file HTML
v Dễ sử dụng, dễ tạo các script, không cần phải biên dịch (Compiling) hay kết nối (Linking) các chương trình được tạo ra
v Hoạt động theo hướng đối tượng, với các đối tượng được cài đặt
sin (build — inobject) rat tién dung : Request, Response, Server, Application, Session
v Có khả năng mở rộng các thanh phan Activex Server (ActiveX
Server Components)
Môi trường của ASP sẽ được cài đặt trên máy chủ (Server) cùng với Web Server Một ứng dụng viết bằng ASP là một File hay nhiều File văn bản (File text) có phần mở rộng là ASP, các File này được đặt trong một thư
mục ảo (Vitual Dirrectory) của Web Server
Trang 22Các ứng dụng ASP dễ tạo vì chúng ta 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ỳ ngôn ngữ nào,
chỉ cần có script Engine là Visual Basic Script (VBscript) và Java Script (Iscript) Ngoài ra ASP còn cung cấp sắn các ActiveX Component rất hữu dụng, ta có thể dùng chúng để thực hiện các công việc phức tạp như truy
xuất cơ sở dữ liệu, truy xuất file, không những thế mà ta còn có thể tự mình tạo ra các thành phần (component) của riêng mình và thêm vào để sử
dụng trong ASP ASP tạo ra các trang HTML tương thích với Web Browser
chuẩn
H Ngôn ngữ lập trình sử dụng với ASP
1 Các lệnh Script (Sript Command) của ASP :
Một script là một chuỗi các lệnh gán biến, các lệnh yêu cầu Web Server
gửi thông tin đến một trình duyệt (Browser) (Như giá trị biến) Các lệnh này kết hợp lại thành thủ tục (Procedure) hay (Function) để thực hiện một công việc cụ thể Mỗi script của ASP được chứa trong một file ASP Mỗi file của ASP có thể coi như một file HTML có thể chèn vào các lệnh của
ngôn ngữ Script nào đó Thực ra nó là một file văn bản (File text) nhưng
các văn bản (Text) đó có những vùng mà khi Web Server đọc tới thì nó
hiểu đó là những vùng script chứa những lệnh của một ngôn ngữ script nào
đó, Web Server sẽ gọi tới các Script Engine để thực thi các lệnh Script
Trang 23nội dung người đó muốn tạo ra trên các trang HTML kết quả trả về cho Web Browser goi dén ting dung
Ta thấy Script giống như một chương trình được người lập trình viết ra
để thực thi trên môi trường hoạt động của ASP, cũng giống như mọi ngôn
ngữ lập trình khác như C, Pascal , chỉ có điều khác là chương trình của
ngôn ngữ khác phải biên dịch ra dạng thực thi được và dùng dạng thực thi được để chạy trên một môi trường cụ thể (DOS, Windows, );Còn script thi không phải biên dịch trước ra dạng thực thi được mà đem dạng văn bản (Text) chạy thẳng trên môi trường của ASP
Ví dụ minh hoa :
<%
myname=”tang thanh cao”
If Time >=#12:00:00 am # AND time < #12:00:00 pm # then
2 Ngon ngit Script (Script language) va Script Engine :
Script cla ASP được cấu thành từ các lệnh của ngôn ngữ Script (Script Language) nào đó, xen lẫn vào đó là nội dung dạng HTML, để trả về kết quả cuối cùng ở dạng HTML
Ngôn ngữ (Script Languague) nằm ở khoảng ngôn ngữ siêu văn
bản(HTML) và các ngôn ngữ lập trình như Java, C, C++, Visual Basic Ta
Trang 24biết HTML dùng để định dạng và liên kết các văn bản, còn các ngôn ngữ lập trình có khả năng tạo ra chuỗi các lệnh phức tạp cho máy tính thực hiện Đối với script language, nó nằm ở giữa, tuy nhiên nó gần với ngôn
ngữ lập trình hơn là HTML
Khác nhau cơ bản giữa ngôn ngữ Script(Script Language) và các ngôn ngữ lập trình là ở chỗ các luật và cú pháp của ngôn ngữ Script (Scripting
Language) linh hoạt và hiểu hơn ngôn ngữ lập trình
Script Engine là các đối tượng có nhiệm vụ xử lý các Script ASP cung
cấp một môi trường chủ cho các script Engine và phân phối các script
trong các file ASP cho các máy (Engine) này để xử lý Để sử dụng được
một ngôn ngữ lập trình Script (Script Language) cùng với ASP ta phải cài đặt Script Engine tương ứng với Web Server Ví dụ như Visual Basic Script
(VBscript) là Script Language mặc định của ASP, do đó ta phải có VBscript Tương tự ASP có thể cung cấp môi trường Script cho các ngôn
ngit script (Scripting Language) nhu Jscript, Rexx, Perl,
ASP cho phép nhà lập trình dùng nhiều ngôn ngữ script (Scripting Language) cùng lúc để tạo các thủ tục phức tạp mà không phải bận tâm các
Browser có trợ giúp các ngôn ngữ script (Scripting Language) hay không
Vì tất cả các Script đều được thực thi ở máy chủ (Server) Không
những thế ta còn có thể dùng nhiều ngôn ngữ script (Scripting Language)
trong cùng một file ASP chỉ cần bằng cách một thẻ HTML (HTML Tag)
để khai báo ngôn ngữ Script nào được dùng
ASP mặc định sử dụng ngôn ngữ script (Scripting Language) chính
(Primary Scripting Language) là VBscript Tuy nhiên ta vẫn có thể định dang lại ngôn ngữ script (Scripting Language) chính trong cả hai phạm vi
Trang 25Để thay đổi ngôn ngữ script (Scripting Language) chính trong toàn bộ môi trường ASP ta phải thay đổi tên ngôn ngữ script (Scripting Language) trong giá trị của một Registry Entry của hệ thống có tên là Default Script Language Ví dụ như mặc định là VBscript, ta có thể thay đổi lại hay
Jscript,
Để thay đổi ngôn ngữ script (Script Language) chính chỉ trong một file ASP nào đó, ta chỉ cần đặt ở đầu File một thẻ đặc biệt có dạng :
<% LANGUAGE = Scripting language %>
vé6i mot ngon ngit script (Scripting Language) là tên ngôn ngữ script
(Scripting Language) mu6n dat lam ng6n ngif script (Scripting Language)
chinh nhu VBscript, Jscript,
script (Scripting Language) chính Nếu không thì có dùng trong các thẻ
(Tag)
Ta có định nghĩa các thủ tục (Procedure) trong các file ASP có gọi
đến nó trong các file riêng chỉ chứa các thủ tục (Procedure) rồi Include File
đó vào khi cần gọi thủ tục (Procedure) đó Thường các file Include trong
ASP quy ước có đuôi INC
Trang 26IH Những vấn để liên quan tới việc xây dựng ứng dụng ASP :
Khi xây dựng một ứng dụng trên môi trường ASP để chương trình sinh
File global.asa là một file tuỳ chọn, trong đó bạn có thể khai báo các
Script đáp ứng biến cố, các biến có tầm hoạt động là Application hay Session (Phiên) Đây không phải là file nhìn thấy bởi người sử dụng (User), trái lại nó chứa thông tin được sử dụng bởi ứng dụng một cách toàn cục Eile này phải cài đặt tên là Global.asa duy nhất Một file global.asa có thể chứa các thành phần sau : Application Event, Session Event, định nghĩa các đối tượng
Nếu bạn viết các Script không được bao bởi thẻ (tag) <script>, hoặc định nghĩa các đối tượng không có tầm hoạt động Application hay Session thì máy chủ (Server) sẽ trả về lỗi Server sẽ bỏ qua những script có chứa những thành phần HTML mà các biến cố Application và Session không thể xử lý
như trong một file HTML thông thường
Những Script trong file global.asa có thể viết bằng bất cứ ngôn ngữ nào
Trang 27Khi ta thay đổi file global.asa và ghi lại thì server hoàn tất việc xử lý những nhu cầu ứng dụng hiện thời trước khi nó biên dịch lại file global.asa,
trong khoảng thời gian này server từ chối và ra thông báo : “The request cannot be processed while the application is being restarted”, sau khi yêu
cầu được xử lý xong server xoá bỏ tất cả các phiên (session) đang chạy, gọi biến cố Session_Onend tương đương phiên mà nó đã xoá, tiếp theo gọi biến cố Application_Onend File global.asa được biên dịch lại, yêu cầu của người sử dụng tiếp theo sẽ khởi động ứng dụng trở lại (gọi biến cố Application_Onstart va Session_Onstart)
Tuy nhiên khi lưu lại những file duoc Include trong file global.asa thi không gây nên biến cố này, muốn khởi động lại phải ghi lại file global.asa
Các thủ tục trong file global.asa chỉ có thể được gọi trong từ các script
trong biến cố : Application_Onstart, Application_Onend, Session_ Onstart,
Session_Onend Các thủ tục này không thể gọi trong các trang ASP trong
ứng dụng dựa trên ASP
Để share (chia sẻ) các thủ tục giữa các file ASP khác nhau trong một ứng dụng, cần định nghĩa chúng trong một file riêng rồi dùng Include để chèn chúng vào các trang ASP có gọi thủ tục đó Những Eile Include thường có phần mở rộng INC
2 Khai báo đối tượng và biến cố :
e_ Biến cố Application :
Trang 28Application_Onstart : Xảy ra trước khi Session đầu tiên được tạo, nghĩa
là trước biến cố Session_Onstart, khi có yêu cầu đầu tiên đến trang ASP của ứng dụng Chỉ có các đối tượng ứng dụng (Application) và các đối tượng cài đặt trong server là có thể sử dụng Các tham khảo đến đối tượng Session, Request, Response sẽ gây ra lỗi
Cú pháp
<Script language = Scriptlanguage Runnat =server>
Application_onend
End sub
Trang 29Tham số script language chỉ định ngôn ngữ script dùng để viết Script Thường sử dụng biến cố này để xoá, cập nhật lại thông tin của hệ thống Biến cố Session : Web Server tự động tạo một session cho một người sử
dụng cho một trang Web tương ứng khi được yêu cầu Máy chủ (Server) sẽ
xoá bỏ một session khi nó vượt thời gian (Time-Out) hoặc phương thức
(Method) được gọi
Những biến cố của phién (Session) :
Session_Onstart : Xảy ra khi máy chủ (Server) tạo một session mới Bạn
phải khai báo biến cố tầm hoạt động trong biến cố Ta có thể tham khảo tất
cả các đối tượng được cài đặt (Buil-In) trong biến cố này
hỗ trợ Cookies thì nó sẽ không lưu lại Session ID của nó nên bất cứ khi nào
mở một trang mới thì server lại tạo một trang Session mới
Ví dụ :
Sub Session_Onstart
Trang 30Application.lock
Application (“accessnumber”) = Application (“accessnumber”) + 1
Application.unlock
End sub
Session_Onend : Xay ra khi một session được đóng hoặc vượt quá thời
gian (Timeout) Dùng biến cố để xoá các biến đã đặt trong quá trình sử dụng của người sử dụng (User)
e Khdi bdo déi tuong <Object>
Ta có thể tạo các đối tượng tầm hoạt động 1a session hay application trong các file global.asa Đối tượng này thực sự được tạo ra khi server xử lý
một Script có tham khảo đến đó
Cú pháp :
<Object Runat = Server Scope = Scope ID = Indentifier
{ progid = proid | classid = “classid’’/>
</object>
Trang 31- Scope : chỉ định tâm hoạt động của đối tượng, là “Session” hay
“Application”
- Identifiler : Tén Instance của đối tượng
- ProgID : Một định danh được kết hợp với định danh Class, ProgramID
hay classID phải được chỉ định trong khai báo <Object>
- ClassID : Định danh duy nhất cho một đối tượng lớp OLE, ProsramID
hay classID phải được chỉ định trong khai báo <Object>
IV Các đối tượng trong ASP
Khi viết các Script ta thường có nhu cầu thực hiện một số tác vụ nào
đó theo một quy tắc cơ bản nào đó Khi đó thường xuất hiện những công
việc lặp đi lặp lại nhiều lần, từ đó xuất hiện những nhu cầu tạo ra những đối tượng có khả năng thực hiện những công việc cơ bản đó Mỗi đối tượng
là một liên kết hợp giữa lập trình và dữ liệu mà có thể xử lý thống nhất Đối với phần lớn các đối tượng, để sử dụng được nó ta phải tạo ra các Instance cho nó Tuy nhiên ASP có sẵn năm đối tượng mà ta có thể dùng được mà không phải tạo Instance Chúng ta gọi là các đối tượng được cài đặt sẵn (Build-In Object), bao gồm :
v_ Request : là đối tượng chứa các thông tin ở Web Browser gửi yêu cầu tới Web Server
Trang 32v Response : là đối tượng chứa thông tin từ server gửi cho Web
vé Session : là một biến đại diện cho người sử dụng (User)
1 Doi tuong Request :
Dinh nghĩa : với đối tượng Request, các ứng dụng ASP có thể lấy dễ
dàng các thông tin gửi tới từ người sử dụng (User)
Ví dụ khi sử dụng gửi (User submit) từ một Form
Đối tượng Request cho phép truy xuất tới bất kỳ thông tin nào do người
sử dụng (User) gửi tới bằng giao thức HTTP như sau :
Các thông tin chuẩn nằm trong các biến Server
Các tham số gửi tới bằng phương thức POST
Các tham số gửi tới bằng phương thức GET
Cac Cookies
Cac Client Certificates
Cú pháp tổng quát : request.(collectionname)(variable)
e - Đối tượng Request : có 5 Collection
- Client Certificate : Nhan Certificate Fields tir Request cia Web Browser Néu Web Browser sit dung http:// dé két néi vGi server, Browser
Trang 33- Query string : Nhận giá trị của các biến trong HTML Query String Đây là một giá trị được gửi lên theo sau dấu hỏi (?) trong HTML Request
- Form : Nhận giá trị của các phần tử trên Form sử dụng phương thức POST
- Cookies : Cho phép nhận những giá trị của cookies trong HTML Request
- Server Variable : Nhận giá trị của các biến trong môi trường
2 Đối tượng Response :
e - Định nghĩa : việc gửi thông tin tới người dùng sẽ được thể hiện nhờ
đối tượng Response
e Cú pháp tổng quát : Response.collectionpropertywnethod
e Collection ctia d6i tugng Response: Cookies : xác định giá trị biến
Cookies Nếu Cookies được ¡n ra không tồn tại, nó sẽ được tạo ra, nếu có
tồn tại thì nó nhận giá trị mới
e Cac thudc tinh (Properties):
- Buffer: chi ra Web Output dugc giữ lại đệm Buffer hay không Khi một trang được đệm lại, máy chủ sé không gửi một đáp ứng nào cho trình duyệt cho đến khi tất cả các Script trên trang hiện tại đã được thực thi xong hay phương thức FLUSH hay END được gọi
- Content Type: chỉ ra HTML Contenttype cho đáp ứng (Response) Nếu không có Contenttype được chỉ ra, chỉ mặc định là “Text/HTML”
- Expires: chỉ định số thời gian trước khi một trang được đệm (Cached) trên một trình duyệt (Browser) hết hạn
Trang 34- ExpiresAbsolute: chỉ ra ngày giờ của một trang được đệm (Cached) trên trình duyệt (Browser) hết hạn
- Sfatus: chỉ ra trạng thái của máy chủ Giá trị trạng thái được định nghĩa trong đặc tả HTTP
e - Các phương thức (Methods):
- — AddHeader (Tên, Nội dung): tạo ra một phần đầu (Header) HTTP tuỳ biến sử dụng các giá trị tên và nội dung và thêm nó vào đáp ứng Không thể thay đổi một phần tử đầu (Header) đã tồn tại có cùng tên Một khi đã thêm một phần đầu (Header), không thể thu hồi nó Cần phải sử dụng trước khi gửi bất cứ trang nội dung nào (text hay html) dén may
khách (client)
- Binarywite: xuất thông tin Output HTML dạng nhị phân (binary)
- Clear : xoá đệm Output HTML Tuy nhiên, phương thức này chỉ
xoá đáp ứng phần thân (Response Body) mà không xoá đáp ứng phần đầu (Response header) Phương thức này sẽ lỗi nếu như đáp ứng (Response) chưa thiết lập thành true
- End dừng xử lý file asp và trả kết quả hiện tại
- Flush: gtti thong tin trong Buffer cho client Phuong thức này sẽ
sinh 16i néu Response.Buffer chua thiét lap thanh true
- Redirect: gti m6t thông báo cho trình duyét (Browser) định hướng lại cho đến một URL khác
- _ Ghi một biến ra HTML Output như là một chuỗi
3 Đối tượng Session:
- Định nghĩa: chúng ta có thể sử dụng một đối tượng phiên (Object
Trang 35Những biến được lưu trữ trong đối tượng (Object) vẫn tồn tại khi người sử dụng nhảy từ trang này sang trang khác trong ứng dụng Web Server tự động tạo đối tượng phiên khi người sử dụng chưa có phiên yêu cầu một trang Web Khi session này kết thúc thì các biến trong nó được xoá để giải phóng tài nguyên Các biến session có tầm hoạt động trong session đó mà thôi
- Cú pháp tổng quát: Session.Property | Method
- _ Các thuộc tính (Property):
e _ SessionID: trả về SessionID cho người sử dụng (User) Mỗi phiên
(Session) sẽ được cho một định danh duy nhất khi nó tạo ra
e _ Timeout: khoảng thời gian tồn tại của một session, tính bằng phút, mặc định 20 phút
4 Đối tượng Applicafion:
eĐịnh nghĩa: ta có thể sử dụng đối tượng ứng dụng (Object Application)
để cho phép nhiều người sử dụng một ứng dụng chia sẻ thông tin với nhau
Bởi vì đối tượng ứng dụng được dùng chung bởi nhiều người sử dụng, do
đó đối tượng có hai phương thức Lock và Unlock để cấm không cho người khác sử dụng đồng thời thay đổi thuộc tính (Property) của đối tượng
Trang 36(Object) này, các biến ứng dụng (Application) là toàn cục, có tác dụng trên toàn ứng dụng
eCú pháp tổng quát: Application.Method
eCác phương thức (Method):
- Lock: phương thức này cấm không cho client khác thay đổi thuộc tính của đối tượng ứng dụng
- — Unlock: phương thức này cho phép máy khách (client) khác nhau thay đổi thuộc tính property của đối tượng ứng dụng
- Events: gồm có hai event được khai báo trong file blobal.asa Ngoài
ra chúng ta có thể đặt các biến trong đối tượng Application để lưu những thông tin toàn cục, hay các tờ báo hiệu
- — Application_Onstart: xảy ra khi khởi động ứng dung
- — Application_Onend: xảy ra khi ứng dụng đóng, sau đó khi máy chủ
tắt (Server Shutdown)
% Đối tượng Server:
- Định nghĩa: cho phép truy xuất đến các thuộc tính và phương thức
của server như những hàm tiện ích
- Cú pháp tổng quát: server.method
- Cac thudc tinh (Properties):
eCreatobject: tao Instance cla server Component
eHTML Encode: ma hoa chuỗi theo dạng HTML
eMappath: ánh xạ đường dẫn ảo (là đường dẫn tuyệt đối trên server hiện
Trang 37eURLEncode: mã hoá một chuỗi (cả Escape) theo quy tác mã hoá URL
V Activex Data Object (ADO)
A Thanh phan truy cập cơ sở dữ liệu (Data Access
Component)
Một ứng dụng Wcb cơ sở dữ liệu (Web Database) viét bang ASP có
thể truy xuất đữ liệu trong một cơ sở đữ liệu (Database), bằng cách sử dụng
Component Data Access của ActiveX mạnh nhất của ASP trong việc phát triển ứng dụng Web Database
Các đối tượng của ADO cung cấp có thể tạo ra các kết nối với hầu hết
các kiểu cơ sở đữ liệu (Database), cũng như việc truy xuất, cập nhật các cơ
sở dữ liệu 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 cơ sở dữ liệu 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
B Giao diện của ADO:
ADO được thiết kế một cách đơn giản nhất, nó giao tiếp với các cơ sở
dữ liệu 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 cơ sở dữ liệu nào nếu như ODBC có driver hỗ trợ
Sự giao tiếp giữa ADO và các thành phần khác trong hệ thống có thể
mô tả theo hình vẽ sau: