Mạng máy tính ngày càng phát triển và được sử dụng rộng rãi trong các công ty, trường học… Cùng với sự phát triển của mạng, Microsoft đã đưa ra ASPActive Server Page để liên kết một số
Trang 1Lời nói đầu
Sự phát triển vọt của công nghệ thông tin ngày nay đã tác động sâu sắc đến mọi lĩnh vực của xã hội Nó là công cụ, là phương tiện không thể thiếu được trong xã hội ngày nay Ở nước ta, các hoạt động triển khai công nghệ thông tin không còn ở mức độ thử nghiệm nữa mà đã thực sự trở thành nhu cầu bức thiết cho quá trình phát triển Phạm vi ứng dụng tin học ngày càng được mở rộng Trên thực tế, tin học ngày nay đã đạt được những thành quả rất to lớn trong mọi lĩnh vực như phát triển khoa học kĩ thuật, kinh tế, văn hóa…
Với sự bùng nổ thông tin hiện nay, mạng máy tính đã ra đời nhằm đáp ứng nhu cầu chia sẻ tài nguyên, trao đổi thông tin trên toàn thế giới Xã hội càng phát triển,nhu cầu đó càng lớn.Việc sử dụng mạng đã giảm được rất nhiều chi phí thời gian và công sức Sử dụng mạng máy tính để cập nhật những thông tin nóng hổi từng ngày, thậm chí từng giờ, phút, để tiếp xúc với kho tàng tri thức khổng lồ hoặc cũng có thể trao đổi thông tin, các phần mềm ứng dụng… Như vậy, mạng máy tính không thể thiếu vắng được trong xã hội ngày nay Mạng máy tính ngày càng phát triển và được sử dụng rộng rãi trong các công
ty, trường học…
Cùng với sự phát triển của mạng, Microsoft đã đưa ra ASP(Active Server Page) để liên kết một số công nghệ nhằm tạo ra các trang web hiện đại, cho phép người sử dụng tương tác dễ dàng với các máy chủ và cơ sở dữ liệu.Với ASP, việc đưa thông tin lên web và cập nhật chúng trở nên dễ dàng, thuận tiện hơn
Vì vậy em đã chọn đề tài khóa luận: " Ứng dụng ASP xây dựng trang Web du lịch Nghệ An " nhằm mục đích tìm hiểu, khai thác và ứng dụng các
ưu điểm của mạnh máy tính vào cuộc sống con người Cụ thể là ứng dụng vào mạng máy tính để giới thiệu về các danh lam, thắng cảnh, các di tích văn hóa lịch sử, tiềm năng du lịch, con người xứ Nghệ
Mặc dù đã có nhiều cố gắng, tìm hiểu kĩ các kiến thức đã học, kết hợp tra cứu tài liệu chuyên ngành để hoàn thành được các yêu cầu đặt ra của đề tài một cách tốt nhất Nhưng vì kinh nghiệm và thời gian có hạn, do đó đề tài của
em còn có những thiếu sót không thể tránh được Rất mong được sự đánh giá,
bổ sung, góp ý của các thầy cô và bạn bè để chương trình hoàn thiện hơn, áp dụng được vào thực tế một cách hiệu quả nhất
Em xin chân thành cảm ơn sự giúp đỡ tận tình của thầy giáo Đặng Hồng Lĩnh, các
thầy cô giáo trong khoa Công Nghệ Thông tin cùng các bạn lớp
40E2 tin đã động viên và giúp đỡ rất nhiều trong quá trình hoàn thành
Ngày 28 tháng 4 năm 2004
Sinh viên thực hiện:
Cao Thị Tuyết Nhung
Lớp 40E2-CNTT-Đại Học Vinh
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
1
Trang 21.2 Nhiệm vụ và tính hiệu quả của chương trình
Với sự phát triển của Internet hiện nay, hầu hết mọi nhu cầu trao đổi
thông tin đều được diễn ra trên mạng Những tin tức mang tính thời sự như thông tin kinh tế văn hóa, thông tin quảng cáo…thường được người truy cập mạng quan tâm Do vậy, để giới thiệu về một vấn đề nào đó thì cách tốt nhất
là quảng bá nó trên mạng Bởi số lượng người truy cập được trải rộng lớn, nó không giới hạn ở một khu vực nào cụ thể Chẳng hạn, một người ở đất nước
xa xôi nào đó muốn tìm hiểu về Việt Nam thì việc đầu tiên người ta làm chắc chắn là sẽ vào mạng để tìm hiểu Do vậy để giới thiệu về du lịch Nghệ An thì cách tốt nhất là xây dựng một trang web và đưa lên mạng Vậy một trang web
du lịch Nghệ An sẽ có tính phổ dụng hơn là một quyển sách viết về du lịch Nghệ An
Hơn nữa, có những thông tin vào một thời điểm nào đó nó không còn giá trị nữa, lúc đó cần phải sửa đổi Chẳng hạn, thông tin về việc đặt phòng khách sạn phải được cập nhật từng ngày để khách du lịch biết có phòng để đặt trước, hay là thông tin hành chính về một thành phố huyện thị nào đó sẽ thay đổi theo thời gian chẳng hạn thông tin về dân số…liên tục được cập nhật, sửa đổi
để thông tin đó mang tính thời sự.Vì những lí do đó mà việc xây dựng một trang web về ngành du lịch là có tính hiệu quả cao hơn về mặt chất lượng cũng như về mặt quảng cáo du lịch xứ Nghệ
1.3 Khái quát về trang web du lịch Nghệ An
Trang web sẽ bao hàm nhiều nội dung Từ di tích lịch sử văn hóa như khu
di tích Kim Liên, giới thiệu những danh lam thắng cảnh như rừng quốc gia PùMát, … trang web cũng sẽ chứa những thông tin cần thiết cho khách du
lịch như:
Thời gian và địa điểm tổ chức các lễ hội truyền thống
Đặc điểm nổi bật, địa chỉ cụ thể và lịch sử của các di tích, thắng cảnh
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
2
Trang 3 Thông tin khách sạn như số phòng và giá phòng cụ thể
Các phương tiện có thể sử dụng trong chuyến du lịch
Các tour du lịch…
Đồng thời trang web sẽ chứa những thông tin chung sau:
Các tổ chức hành chính: cơ quan đại diện…
Tình hình dân số, vị trí địa lí, dân tộc, tôn giáo…
Các dự án đầu tư đang được triển khai…
1.4 Hướng thực thi của đề tài
Với tốc độ phát triển mạng Internet như hiện nay, các ứng dụng trên
mạng ngày càng được khai thác rộng hơn Hầu hết mọi sự tìm hiểu cung cấp, khai thác thông tin đều được diễn ra trên mạng Đó cũng là nhu cầu tất yếu của tất cả các nước trong thế giới hiện đại Mọi sự trao đổi thông tin, các phần mềm ứng dụng được quảng bá trên toàn cầu mà không bị bó hẹp trong một giới hạn không gian nào Đây cũng chính là đặc trưng của Internet
Việc xây dựng một trang web về du lịch Nghệ An đáp ứng nhu cầu tìm hiểu, tham khảo về danh thắng, di tích lịch sử, con người miền Trung xứ Nghệ nhằm hướng tới sự kiện 2005- Năm du lịch Nghệ An Đây là một đề tài còn ở trong khuôn khổ bó hẹp trong một tỉnh lị, nếu có điều kiện được phát triển chắc chắn sẽ có tính hiệu quả và phổ dụng rộng hơn nữa để cho khách du lịch trên toàn thế giới có thể tìm hiểu không những về tiềm năng ngành du lịch của tỉnh Nghệ An mà còn là du lịch của Việt Nam
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
3
Trang 4Như vậy, việc kết nối mạng sẽ đem lại được lợi ích rất cao chẳng hạn đáp ứng được vấn đề bảo mật thông tin ở mức độ cho phép, giúp cho việc trao đổi
dữ liệu được linh hoạt, nhanh chóng và tiện lợi
2.2 Phân loại mạng
Dựa vào nhiều yếu tố khách quan mà người ta phân ra các loại mạng khác nhau Các yếu tố để làm tiêu chí phân loại mạng như dựa vào khoảng cách địa lí, kĩ thuật chuyển mach hay kiến trúc mạng…Ta sẽ đi tìm hiểu các cách phân loại mạng cụ thể:
• Phân loại mạng theo khoảng cách vật lý
Mạng cục bộ (LAN-Local Area Network): Đây là loại mạng được cài đặt trong một phạm vi tương đối nhỏ Khoàng cách nối mạng giữa các máy tính với nhau chỉ nằm trong khoảng vài chục km trở lại
Mạng đô thị (MAN-Metropolitan Area Network): Mạng này thường đựoc cài đặt trên mtj diện lớn hơn nhiều so với mạng cục bộ.Thường được cài đặt trong một phạm vi đô thị hoặc trung tâm kinh tế xã hội có bán kính khoảng
100 km trở lại
Mạng diên rộng (WAN-Wide Area Network): Mạng này có phạm vi kết nối rất rộng lớn Dùng để kết nối trong một quốc gia hoặc kết nối với các nước lân cận nhau
Mạng toàn cầu (GAN-Global- Area Network): Mạng này có phạm vi rất lớn,trải rộng khắp phạm vi toàn thế giới
•Phân loại mạng theo yếu tố kĩ thuật chuyển mạch
Mạng chuyển mạch kênh (CSN-Cricult Swithched Networks): Trong trường
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
4
Trang 5hợp này nếu có hai thực thể có nhu cầu trao đổi thông tin với nhau thì giữa chúng sẽ thiết lập một kênh cố định và được duy trì cho đến khi một trong hai thực thể cắt liên lạc Các dữ liệu chỉ được truyền theo đường cố định.
Mạng chuyển mạch thông báo (MSN-Message Switched Networks):Thông báo là một đơn vị thông tin của người sử dụng có khuôn dạng được qui định trước.Mỗi thông báo đều có chứa vùng thông tin điều khiển trong đó chỉ rõ mục đích thông báo Cắn cứ vào thông tin này mà mỗi nút trung gian có thể chuyển thông báo tới nút kế tiếp theo đường dẫn tới đích của thông báo rồi sau đó chuyển tiếp thông báo đi
Mạng chuyển mạch gói (PSN-Packet Switched Networks): Mỗi thông báo được chia thành nhiều phần nhỏ hơn gọi là những gói tin theo khuôn dạng qui định trước Mỗi gói tin chứa thông báo điều khiển, địa chỉ nguồn, đích Các gói tin thuộc về một thông báo nào đó có thể được gửi đi qua mạng bằng nhiều con đường khác nhau
• Phân loại kiến trúc mạng
Kiến trúc mạng thể hiện các máy tính kết nối với nhau ra sao và tập hợp các qui tắc, qui ước mà tất cả các thực thể tham gia truyền thông trên mạng phải tuân theo để đảm bảo cho mạng hoạt động tốt
Topology mạng: Có 2 kiểu kết nối mạng chủ yếu là điểm-điểm và quảng bá
và mỗi nút đều có trách nhiệm lưu trữ tạm thời sau đó chuyển tiếp dữ liệu đi cho tới đích Mạng kiểu này còn được gọi là mạng "lưu và chuyển tiếp" Một
số dạng topology của mạng điểm-điểm:
Hình sao Chu trình Cây
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
5
Trang 6về xử lí và trao đổi thông tin của người sử dụng càng cao thì các qui tắc càng nhiều và càng phức tạp hơn Tập hợp tất cả những qui tắc đó gọi là giao thức của mạng Rõ ràng là các mạng có thể sử dụng các giao thức khác nhau tùy sự lựa chọn của người thiết kế.
2.4 Kiến trúc phân tầng và mô hình OSI
Trang 7Để giảm độ phức tạp của việc thiết kế và cài đặt mạng, hầu hết các mạng máy tính hiện có đều được phân tích và thiết kế theo quan điểm phân tầng (layering) Mỗi hệ thống thành phần của mạng được xem như là một cấu trúc
đa tầng, trong đó mỗi tầng được xây trên tầng trước nó Số lượng các tầng cũng như tên và chức năng của mỗi tầng là tùy thuộc vào các nhà thiết kế Chúng ta sẽ thấy cách phân tầng trong mạng của IBM (SNA), của Digital (DECnet )…là không giống nhau Tuy nhiên trong hầu hết các mạng mục đích của mỗi tầng là để cung cấp một số dịch vụ (services) nhất định cho tầng cao hơn Hình sau minh họa một kiến trúc phân tầng tổng quát, với giả thiết A
và B là hai hệ thống (máy tính) thành phần của mạng được nối với nhau
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
7
Tầng N
Tầng i + 1
Tầng i
Tầng i - 1
.
Tầng 1
.
Tầng N
Tầng i + 1
Tầng i
Tầng i - 1
.
Tầng 1
.
Trang 8này sang hệ thống khác) Ở đây, quy ước dữ liệu ở bên hệ thống gửi (sender) được truyền sang hệ thống nhận (receiver) bằng đường truyền vật lí và cứ thế
đi ngược lên các tầng trên Như vậy, giữa hai hệ thống kết nối với nhau (ví dụ
A và B ở hình trên) chỉ có tầng thấp nhất mới có liên kết vật lí, còn ở những tầng cao hơn chỉ có các liên kết logic (hay liên kết ảo) được đưa vào để hình thức hóa các hoạt động của mạng thuận tiên cho việc thiết kế và cài đặt các phần mềm truyền thông
2.4.2 Mô hình OSI
Khi thiết kế, các nhà thiết kế tự do lựa chọn kiến trúc mạng riêng của mình Từ đó, dẫn đến tình trạng không tương thích giữa các mạng: phương pháp truy nhập đường truyền khác nhau, sử dụng họ giao thức khác nhau…sự không tương thích đó làm trở ngại cho sự tương tác của người sử dụng các mạng khác nhau Nhu cầu trao đổi thông tin càng lớn thì trở ngại đó càng không thể chấp nhận được đối với người sử dụng Sự thúc bách của khách hàng đã khiến cho các nhà sản xuất và các nhà nghiên cứu, thông qua các tổ chức chuẩn hóa quốc gia và quốc tế -tích cực tìm kiếm một sự hội tụ cho các sản phẩm mạng trên thị trường Để có được điều đó, trước hết cần xây dựng một khung chuẩn về kiến trúc mạng để làm căn cứ cho các nhà thiết kế và chế tạo các sản phẩm về mạng
Vì lí do đó, Tổ chức tiêu chuẩn hóa quốc tế (International Organization for Standardization-OSI) đã xây dựng mô hình tham chiếu cho việc kết nối các hệ thống mở (OSI Reference Model) Mô hình này dùng làm cơ sở kết nối các hệ thống mở phục vụ cho các ứng dụng phân tán
6 TRÌNH DIỄN
5 PHIÊN
4 GIAO VẬN
3 MẠNG
2 LIÊN KẾT DL
1 VẬT LÍ
Trang 9CHỨC NĂNG CÁC TẦNG TRONG MÔ HÌNH OSI
1.PHYSICAL Liên quan đến nhiệm vụ truyền dòng bit không có
cấu trúc qua đường truyền vật lí, truy nhập đường truyền vật lí nhờ các phương tiện điện, cơ, hàm, thủ tục
2.DATA LINK Cung cấp phương tiện để truyền thông tin qua liên
kết vật lí đảm bảo tin cậy ; gửi các khối dữ liệu (frame) với cơ chế đồng bộ hóa, kiểm soát lỗi và kiểm soát luồng dữ liệu cần thiết
3.NETWORK Thực hiện việc chọn đường và chuyển tiếp thông tin
với công nghệ chuyển mạch thích hợp, thực hiện kiểm soát luồng dữ liệu và cắt/hợp dữ liệu nếu cần4.TRANSPORT Thực hiện việc truyền dữ liệu giữa hai đầu mút (end-
to-end); thực hiện cả việc kiểm soát lỗi và kiểm soát luồng dữ liệu giữa hai đầu mút Cũng có thể thực hiện việc ghép kênh (multiplexing), cắt /hợp dữ liệu nếu cần
5.SESSION Cung cấp phương tiện quản lí truyền thông giữa các
ứng dụng; thiết lập, duy trì, đồng bộ hóa và hủy bỏ các phiên truyền thông giữa các ứng dụng
6.PRESENTATION Chuyển đổi cú pháp dữ liệu để đáp ứng yêu cầu
truyền dữ liệu của các ứng dụng qua môi trưoqừng OSI
7.APPLICATION Cung cấp các phương tiện để người sử dụng có thể
truy nhập được vào môi trường OSI, đồng thời cung cấp các dịch vụ thông tin phân tán
Điều hấp dẫn của tiếp cận OSI chính là ở chỗ nó hứa hẹn giải pháp cho vấn đề truyền thông giữa các máy tính không giống nhau (heterogenneour) Hai hệ thống dù khác nhau như thế nào đi nữa, đều có thể truyền thông với nhau một cách hiệu quả nếu chúng đảm bảo những điều kiện chung sau đây:
• Chúng cài đặt một tập các chức năng truyền thông
• Các chức năng đó được tổ chức thành cùng một tập các tầng Các tầng đồng mức phải cung cáp các chức năng như nhau (nhưng phương thức cung cấp không nhất thiết phải giống nhau)
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
9
Trang 10• Các tầng đồng mức phải sử dụng một giao thức chung.
Để đảm bảo những điều trên cần phải có các chuẩn Các chuần phải xác định các
chức năng và dịch vụ được cung cấp bởi một tầng Các chuẩn cũng phải xác định các giao thức giữa các tầng đồng mức Mô hình OSI 7 tầng chính là cơ sở để xây dựng các chuẩn đó
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
10
Trang 11Phần III
Tìm hiểu về ngôn ngữ ASP
3.1 Lập trình Web với ASP
Với sự bùng nổ thông tin như hiện nay, có thể nói việc cập nhật dữ liệu thường xuyên là nhu cầu tất yếu Thông tin có thể luôn thay đổi hàng giờ, thậm chí hàng phút và những thông tin này đến từ nhiều nguồn khác nhau Vấn đề đặt ra là làm sao để bạn có thể liên kết các thông tin này với trang web của bạn và cập nhật chúng thường xuyên Đây cũng chính là đặc trưng của mạng Bởi nếu lượng thông tin không đáp ứng được kịp thời đối với nhu cầu của người sử dụng thì nó không còn có ích nữa Một ví dụ đơn giản: những người khách du lịch ở xa muốn đến tìm hiểu về danh lam-thắng cảnh Nghệ
An, họ lên trang web để tìm hiểu về chuyến máy bay, các khách sạn để đặt chỗ Liệu việc họ lên trang web để tìm kiếm có còn ý nghĩa không khi các thông tin đó đã được cập nhật cách đây từ vài ngày trước Đây là vấn đề rắc rối lớn cho giới thiết kế trang web
Và Microsoft đã khắc phục được nhược điểm này Với ngôn ngữ ASP liên kết một số công nghệ nhằm tạo ra các trang web hiện đại, cho phép người
sử dụng dễ dàng tương tác với máy chủ và cơ sở dữ liệu đã mở ra một con đường sáng sủa cho những nhà thiết kế trang web Đáp ứng được nhu cầu cập nhật thông tin một cách thường xuyên của những người truy cập mạng
Những gì chúng ta cần là tạo một trang web động sử dụng ASP làm cho
nó có thể kết nối đến tập tin văn bản hay cơ sở dữ liệu của chúng ta để lấy và hiển thị thông tin Bất cứ khi nào chúng ta chỉnh sửa cơ sở dữ liệu , sự thay đổi này sẽ phản ánh ngay lên trang web mà không cần phải thay đổi bất cứ một dòng HTML nào cả Đó là những gì mà ASP có thể làm tốt nhất và nó cung cấp khả năng truy xuất đến một tập hợp các thành phần chỉ để thực hiện tác vụ này Đó chính là ActiveX Data Object(ADO).ADO kết hợp sức mạng của cơ sở dữ liệu với tính phổ biến của Web
3.2 Khái quát về ngôn ngữ ASP
Tháng 3 năm 1996 Microsoft đã giới thiệu chương trình Internet Information Server 1.0-một chương trình Web Server với điều kiện khác với các các chương trình Web Server khác miễn phí Cũng trong năm 1996 hai phiên bản 2.0 và 3.0 được công bố rộng rãi Với phiên bản mới 3.0, Microsoft
đã giới thiệu một tính năng mới của IIS gọi là Active Server Pages (ASP)
Active Server Pages là một công nghệ lập trình trên Web Server được thêm vào 3 công nghệ đã có là Common Gateway Interface (CGI), Internet Server Application Programning Interface (ISAPI) và Internet Database Connector (IDC)
1 Common Gateway Interfect (CGI)
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
11
Trang 12CGI là công nghệ có lâu nhất trong việc lập trình trên Web Server Công nghệ này hỗ trợ cho hầu hết các chương trình Web Server hiện có CGI là một giao diện dùng để lấy các thông tin Server cho các chương trình Trên các máy UNIX hầu hết các ứng dụng CGI được viết bằng ngôn ngữ PERL (Practical Extration and Report Language) Một số ngôn ngữ khác cũng được dùng trong pháp triển CGI như ngôn ngữ C.Tuy nhiên các ứng dụng phát triển trên C rất khó khăn trong việc kiểm soát và sửa chữa Các ứng dụng CGI đều cần phải ứng dụng và biên dịch trước khi sử dụng.
2 Internet Server Application Programming Interfect (ISAPI)
Một điểm yếu của các CGI là với mỗi một yêu cầu thì một xử lí mới cần được tạo ra Điều này làm mất nhiều tài nguyên và thời gian xử lí của Server
Sử dụng ISAPI là cách thay thế điểm yếu trên ứng dụng CGI là các ứng dụng ISAPI không nhất thiết có xử lí mới cho mỗi một yêu cầu Nhưng điểm yếu của ISAPI là được phát triển bằng các ngôn ngữ lập trình phức tạp như C++, Delphi…
3 Internet Database Connector (IDC)
IDC là một thuộc tính của IIS có từ phiên bản 1.0 IDC có thể tạo ra các trang Web siteb động (dynamic pages) với các dữ liệu được lấy từ bất kì cơ sở
dữ liệu nào mà có thể truy nhập thông qua ODBC Đây là một công nghệ giúp người dùng lấy các dữ liệu từ cơ sở dữ liệu qua các trang Web một cách dễ dàng mà không cần phải xây dựng các ứng dụng phức tạpCGI hay ISAPI Các câu lệnh SQL (SQL Statement) dùng để truy cập dữ liệu và trong HTML, mẫu HTX (Hyper Text Extention) được dùng để trả lại các kết quả Nhưng công nghệ này có hạn chế là chỉ lập trình với các cơ sở dữ liệu, không
có khả năng truy cập vào hệ thống như là các ứng dụng CGI hay ISAPI
3.3 Active Server Pages
Như chúng ta đã biết, ASP được phát triển bởi Microsoft, là một trường
kịch bản phía server có khả năng kết hợp HTML, kịch bản phía server và các đối tượng COM(Component Object Model) để tạo ra các trình ứng dụng Web động, tương tác Động ở đây là khả năng thay đổi Trang HTML là một tài liệu tĩnh Trong khi trang HTML có chứa một vài thành phần có thể làm thay đổi hình dạng của trang, thì nó vẫn là dữ liệu, vẫn là HTML, kịch bản trong trình duyệt Khi trình duyệt gửi yêu cầu một trang HTML đến Web server, Web server chuyển tập tin trên server sang trình duyệt Khi có yêu cầu một trang ASP được gửi đến Web Server, Web server chuyển tập tin trên server
vào ASP Engine trên server ASP Engine thực thi các kịch bản trên trang và trả lại trang HTML cho server Và đến lượt server sẽ chuyển trang HTML được tạo động cho trình duyệt
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
12
Trang 13Cụ thể là: trình duyệt yêu cầu trang ASP từ server, hoặc bằng URL hoặc bằng dữ liệu nhập trên Form Server nhận ra phần mở rộng asp và gửi trang ASP vào ASP Engine trên server ASP Engine đọc tập tin này, bất cứ khi nào gặp kịch bản, nó sẽ thực thi, gặp HTML, nó sẽ trả về cho server Quá trình này bao gồm nhiều sự chuyển qua lại giữa kịch bản chạy trên server và HTML trong một trang.
Kịch bản ASP có thể gọi các đối tượng COM được lưu trữ trên server Các đối tượng COM là các DLL (Dynamic Link Libraries) Chúng là dạng chương trình được đóng gói thành những gói nhỏ mà có thể thực thi từ một chương trình khác Microsoft hình thành Component Object Model và nó trở thành tiêu chuẩn của công nghệ phần mềm, bởi vì các đối tượng này có thể được sử dụng trong bất kì các trình ứng dụng nào mà không cần quan tâm đến trình ứng dụng đó được viết bằng ngôn ngữ gì.Trình ứng dụng sẽ sử dụng đối tượng COM mỗi khi cần và sau đó trả nó về chỗ cũ, nơi mà bất kì trình ứng dụng nào khi cần có thể sử dụng
Có nhiều loại đối tượng COM Một số được tạo ngay trong Web server, một số khác có thể được cài đặt trên webserver Sở dĩ các đối tượng COM này trở nên tiện dụng như thế là do mã chương trình sử dụng chúng được thiết lập ngay trong đối tượng
Kịch bản trong trang ASP thường có thể gọi các đối tượng COM này và chúng sẽ thực thi nhiệm vụ, đôi khi chuyển HTML về ASP Engine để xuất dữ liệu cho server và đôi khi chúng cũng xử lí cả những vấn đề mà trình duyệt không thể thấy được
Khi ASP engine xuất HTML về server, tại đây server lại xuất HTML cho trình duyệt Kết quả là trang đựoc hiển thị trong trình duyệt Tùy thuộc vào kết quả của kịch bản mà trang có thể trông hoàn toàn khác, vì thế nó được gọi
là trang động
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
13
Trang 14ASP thực sự là một phần mở rộng cho Web server Nó cung cấp một
tập hợp các thành phần (component) và đối tượng (object) để quản lí sự tương tác giữa Web server và trình duyệt Các đối tượng này có thể được xử lí bởi ngôn ngữ kịch bản (Scripting Language):
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
14
ASP Engine
Các đối tượng COM
B1.Trình duyệt y/c trang ASP từ máy chủ
B7.Máy chủ trả HTML lại cho trình duyệt
B6
ASPEngin
e trả HTML lại cho máy chủ
B2.Máy chủ gửi trang ASP cho ASP Engine
B4 ASP Engine gọi các đối tượng COM (nếu cần)
B5 Các đối tượng COM làm công việc của chúng
Trang 15
3.4 Các đối tượng Active Server
Có sáu đối tượng Active Server được tạo sẵn, mỗi đối tượng liên quan đến một khía cạnh đặc trưng của sự tương tác:
Đối tượng Server cung cấp một số chức năng thông thường như thời gian chờ cho các kịch bản và chuyển đổi văn bản sang HTML hay URL, khả năng quan trọng nhất là có thể tạo ra các thành phần và đối tượng mới
ADO đóng vai trò gì trong bối cảnh này? ADO cung cấp các đối tượng của riêng nó, các đối tượng này có thể được tạo ra nhờ phương thức Create Object của đối tượng Server Bằng cách sử dụng phương thức này, sau này bạn có thể dùng ADO để đọc các mẩu tin, di chuyển qua các mẩu tin, thêm vào hoặc thay đổi các mẩu tin hoặc thậm chí là xóa các mẩu tin trong cơ sở dữ liệu
♦ Khái quát về ODBC
Một câu hỏi được đặt ra là làm thế nào để có thể lấy được dữ liệu bất kể
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
Applicati-on Object Server Object
Trang 16chúng được lưu trong môi trường nào, Access, SQL Server hay Oracle? Câu trả lời là có thể thông qua một giao diện, giao diện này cho phép bạn xem được dữ liệu trên một loại dữ liệu khác Đó chính là OPen Data Connectivity (ODBC)
Chuẩn ODBC ra đời năm 1982 và được hỗ trợ bởi Microsoft Nó cho phép đưa các câu lệnh ODBC vào chương trình để truy nhập thông tin trong các cơ sở dữ liệu Có khá nhiều ODBC driver, điều này cho phép bạn truy xuất thông tin lưu trong một cơ sở dữ liệu loại này từ một hệ cơ sở dữ liệu loại khác Trên thực tế ODBC được cài đặt cho hầu hết mọi loại cơ sở dữ liệu
Nó nhắm tới một thiên đường cho việc truy cập cơ sở dữ liệu, ở đó mọi người
có thể lấy thông tin họ cần mà không phải lo lắng về cách thức lưu trữ cơ sở
dữ liệu
Điều này cũng có tác động đến kế hoạch đưa cơ sở dữ liệu lên trang web, có thể dùng ODBC với Web server, tức là có thể lấy dữ liệu từ cơ sở dữ liệu và đưa lên trang web bất kể dữ liệu đó được lưu trữ trên môi trường nào
♦ OLE-DB là gì?
Như đã bàn luận ở trên, ODBC rất hữu ích khi truy xuất dữ liệu trong cơ
sở dữ liệu nhưng điều gì sẽ xảy ra nếu muốn truy xuất dữ liệu trong tất cả các loại data store Rõ ràng là một mình ODBC thôi thì chưa đủ Microsoft đưa ra một chuẩn giao tiếp khác gọi là OLE-DB
Trang 17OLE-DB cho phép người dùng truy xuất mọi loại data store, không chỉ là các
cơ sở dữ liệu mà còn cả bảng biểu, đồ thị, thư điện tử…OLE-DB có thể
thay thế ODBC tuy nhiên nó lại tồn tại ở lớp trên ODBC và cho phép sử dụng các ODBC có sẵn Cách thức hoạt động của nó như sau:
Dù rằng OLE-DB dễ dùng hơn ODBC nhưng chỉ có một số ít ngôn ngữ lập trình có thể xử lí nó Tuy nhiên đây cúng không phải là vấn đề rắc rối lớn, bởi đã có Activer Data Object (ADO) ADO là một phần tử COM (Component Object Model) và do đó nó có thể được dùng trong bất kì ngôn ngữ nào tương thích với COM ADO không độc lập với hệ điều hành nhưng độc lập với ngôn ngữ lập trình vì thế nó có thể được xử lí bằng các ngôn ngữ như VB, Java, JavaScrip hay VBScrip.
ADO được thiết kế để cung cấp một phương pháp để truy cập dữ liệu chung cho tất cả mọi người Để thực hiện được điều đó, nó đưa ra một mô hình đối tượng Có 3 đối tượng chính trong mô hình đối tượng ADO:
Đối tượng Connection
Đối tượng Command
Đối tượng Recordset
Đây là cấu trúc của ADO:
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
OLE-DB Provider
OLE-DB Provider
OLE-DB Provider
Trang 18Đối tượng Connection
Đối tượng connection dùng để tạo một kết nối đến data store Khi kết nối
đã được thiết lập, chúng ta có thể dùng bao nhiêu lần tùy ý muốn Mặc dù chúng ta cần một kết nối trước khi có thể truy xuất dữ liệu trong cơ sở dữ liệu nhưng thực ra không phải sử dụng đối tượng connection để tạo kết nối Cả hai đối tượng command và recordset đều có thể tạo kết nối một cách độc lập Đối tượng connection sẽ cung cấp sự kết nối giữa ADO và một cơ sỏ dữ liệu nào
đó Nó chứa ba thông tin:
Cơ sở dữ liệu
Giao thức (Driver /Provider) để trao đổi thông tin với cơ sở dữ liệu ở trên
Username và Password
Đối tượng Command
Đối tượng command dùng để thực hiện các lệnh trên cơ sỏ dữ liệu Những lệnh này không phải là kịch bản của ASP mà là các câu lệnh SQL như SELECT, INSERT, UPDATE hay DELETE Chúng ta dùng các lệnh này để lấy thông tin từ cơ sở dữ liệu hay thêm các mẩu tin, các bảng mới vào cơ sở
dữ liệu hoặc thậm chí là xóa thông tin trong cơ sở dữ liệu SQL không có các chương trình, nó dùng các câu truy vấn Đối tượng command cung cấp câu
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
Trang 19lệnh SQL hay tên của store procedure cùng với tham số và các thông tin liên quan đến lệnh được chuyển đến nguồn dữ liệu.
Đối tượng Recordset
Đối tượng recordset là đối tượng thường được dùng nhiều nhất trong ADO, vì thế nó có nhiều đặc tính (property) và phương thức (method) nhất Nó được dùng để giữ các thông tin về các recordset mà chúng ta tạo ra
Nói một cách mô phạm, recordset là một tập hợp các mẩu tin Nó có thể
là một vài hay tất cả các mẩu tin trong cơ sở dữ liệu của chúng ta
Đối tượng recordset có thể được dùng để xem hay thay đổi cơ sở dữ liệu Chúng ta có thể sử dụng nó để tìm một mẩu tin nào đó, duyệt từng mẩu tin một, xóa mẩu tin, hạn chế xem các thông tin nhạy cảm đối với một vài người dùng, sắp xếp các mẩu tin theo thứ tự abc hay theo số lượng và cuối cùng là cập nhật các mẩu tin cũ
Tập hợp FIELDS
Chứa thông tin về một trường cụ thể nào đó trong một recorset, nó có thể được sử dụng với các recorset sẵn có hoặc với các recordset do chính chúng ta tạo ra
Tập hợp ERRORS
Khi chương trình thực hiện được ý định của nó hoặc rơi vào một tình huống không xác định trước, nó sẽ trả về lỗi
Ngoài ra còn có thêm hai tập hợp khác, đó là:
Tập hợp Parameters: dùng để truyền thêm các thông tin cho các câu truy vấn được sử dụng bởi đối tượng command
Tập hợp Properties: tập hợp này tồn tại trong cả ba đối tượng chính của chúng ta: Connection, Command hay Recorset Nó chứa thông tin đặc trưng về các đối tượng này
Tại sao phải sử dụng các giải pháp phía Server?
Mã lệnh ASP thường được thực thi trên server Mã lệnh mà chúng ta viết
sẽ tạo ra một trang HTML thuần túy và được gửi cho trình duyệt ASP hay ADO đều không có một yêu cầu đẵc biệt nào về phần mềm trình duyệt Điều này có nghĩa là không có mã chương trình nào được gửi đến máy Client Các
kịch bản phía Client cũng có thể có mặt trong trang ASP nhưng không bắt buộc Thông tin từ người dùng sẽ được thu thập thông qua việc sử dụng các
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
19
Trang 20kỹ thuật HTML chuẩn về tạo form và quét chuỗi yêu cầu (scanning request string).
Về cơ bản, giải pháp phía server dùng ASP và ADO khác với các kịch bản thực thi trên client được viết bằng Javascrip, VBscrip hay các applet viết bằng java Các giải pháp phía client sẽ gửi mã kịch bản thực sự đến trình duyệt Trình duyệt phải có phần mềm thích hợp (và có thể là phiên bản thích hợp của phần mềm này) để thực hiện kịch bản phía client Việc thực thi các kịch bản này sẽ sử dụng CPU của trình duyệt (client) chứ không phải CPU của server Những ưu, nhược điểm:
♦ Ưu điểm:
Khả năng thích ứng rộng
ASP thường được kết xuất các văn bảm hay thẻ HTML chuẩn do đó mọi trình duyệt đều có thể đọc được
Khả năng bảo vệ mã nguồn
Server xử lý dữ liệu và gửi kết quả cho trình duyệt nhờ vậy không làm lộ các thuật toán và dữ liệu trong kinh doanh
Liên lạc với server nhiều lần
Do các công thức, thuật toán chỉ được xử lí trên server nên mỗi lần tính toán hay truy xuất chúng, người dùng buộc phải liên lạc với server
Tăng tải trên server
Các ứng dụng đều thực thi trên server làm cho tải xử lí của server tăng cao, đặc biệt là khi số lượng người truy cập tăng lên
Tóm lại, giải pháp tối ưu nhất là kết hợp cả xử lí trên server và xử lí trên client Các tác vụ như kiểm tra dữ liệu hay các tính toán đơn giản nên được thực hiện trên clien Server sẽ đảm nhận giao tiếp với các data store và các tính toán liên quan tới các công thức phức tạp hay cần bảo mật
Như vậy, sự kết hợp giữa IIS (Internet Information Server)- ADO là một trong những khả năng cho phép sử dụng cơ sở dữ liệu trên Web ASP là một kĩ thuật cho phép người lập trình dùng các hàm, biến và các cấu trúc điều khiển để xây dựng trang web ngay khi có yêu cầu từ trình duyệt
ASP-Với các công cụ này, chúng ta sẽ sử dụng các kĩ thuật lập trình tạo các
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
20
Trang 21trang HTML để thực hiện các tác vụ khác nhau Ví dụ tạo các trang cho các ngày trong tuần, nhận dữ liệu do người dùng nhập vào để trả ra các thông tin
cá nhân hay chuyển hướng trình duyệt đến các trang khác Hơn nữa ASP hỗ trợ các thành phần tạo sẵn cho phép người lập trình thêm vào các tính năng để khắc phục những hạn chế của trình duyệt Một trong những ưu điểm của ASP
là nó tạo ra HTML chuẩn có thể đọc được bởi mọi trình duyệt hay một phiên bản trình duyệt đặc biệt
ADO là một chuẩn kĩ thuật cho phép truy cập đến các data store Nó làm việc như một vỏ bọc cho OLE-DB Nó cho phép ASP cũng như các ngôn ngữ lập trình khác đọc và ghi dữ liệu trong data store Chúng ta có thể sử dụng HTML/ASP để thu thập dữ liệu từ người dùng, sau đó dùng ADO để mở một cơ sở dữ liệu và lưu thông tin trên đó ADO làm việc với nhiều loại data store khác nhau như Access, SQL Server, Excel, Foxpro, Oracle…
Giải pháp ASP-ADO làm việc trên server nên giảm bớt sự phức tạp của việc lựa chọn trình duyệt Tuy nhiên Server có thể quá tải nếu lưu lượng truy cập đến Web site quá cao Có một vài lựa chọn khác có thể thay thế ASP-ADO như CGI chạy trên Apache và sử dụng PerlScrip chẳng hạn
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
21
Trang 22Phần IV
Lựa chọn cơ sở dữ liệu
SQL Server được phát triển chủ yếu phục vụ cho Intenet Mặc dù nó có thể đáp ứng được bất kì loại nào Nó là một Server cơ sở dữ liệu hơn là một
cơ sở dữ liệu đơn độc SQL hầu như có thể truy xuất qua bất kì kiểu nối mạng nào gồm cả TCP/IP Kích cỡ tối đa của cơ sở dữ liệu SQL Server là 1048576 terabyte (một terabyte=1024 gigabyte) có nghĩa là gần như không có giới hạn
về kích thước Số lượng client tối đa kết nối đồng thời vào một Server là 32.767 Tuy nhiên, bằng cách sử dụng tính năng nhân bản, bạn có thể liên kết nhiều SQL Server lại với nhau để tăng số lượng kết nối đồng thời từ client lên đến bất kì giá trị nào mà chúng ta muốn
SQL Server có thể được sử dụng để tạo store procedure có nhận các tham số
và thực thi nhiều tác vụ Các store procedure được lưu vào bộ nhớ cache sẽ gia tăng quá trình thực thi Nói chung, SQL Server sẽ đưa ra kết quả nhanh hơn Access và nó có thể được cấu hình để thực hiện rất nhiều hoạt động bảo trì một cách tự động Thậm chí nó còn có email server riêng của nó
Mặt khác SQL server có thể được quản lí từ xa (từ một máy tính trên Intenet chẳng hạn) bằng cách sử dụng SQL Enterpise Manager và có thể được truy cập từ xa bởi các trình ứng dụng cơ sở dữ liệu khác thông qua ODBC Nói cách khác, một ODBC System DSN dùng để truy cập một cơ sở dữ liệu SQL server không nhất thiết phải định vị trên cùng một mạng cục bộ với cơ
sở dữ liệu Nó có thể được định vị bất cứ nơi nào truy cập vào SQL server thông qua CTP/IP (nói cách khác ở bất cứ nơi nào trên thế giới có kết nối Intenet ) Đó là bởi vì SQL server là một hệ quản trị cơ sở dữ liệu theo mô hình client/server, được thiết kế như một server cơ sở dữ liệu, giống như Internet Information server là một " Web Server " SQL Server có thể được truy cập thông qua TCP/IP, bởi vì nó có địa chỉ IP cố định trên Internet
Microsoft Access đã được phát triển ngay từ đầu như là một trình ứng dụng cơ sở dữ liệu đơn giản dành cho máy tính để bàn Nó không được thiết
kế để phục vụ tốt cho Internet Hay nói cách khác là nó có một số trở ngại mà chúng ta nên lưu ý khi thiết kế một trình ứng dụng cơ sở dữ liệu cho Internet kích cỡ tối đa của một cơ sở dữ liệu Access là 2 Gigabyte Tuy nhiên, số người dùng đồng thời tối đa là 255 người và trong nhiều trường hợp bạn không thể quản lí hơn 20 người dùng Điều đó muốn nói đến sự cố khi Web site có nhiều người truy cập Các stored procedure trong cơ sở dữ liệu không thể nhận tham số qua ODBC Ngoài ra, system DSN dùng để truy cập một cơ
sở dữ liệu Access phải định vị trên cùng mạng cục bộ chứa cơ sở dữ liệu, bởi
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
22
Trang 23vì Access là một hệ quản trị cơ sở dữ liệu dựa trên tâph tin (file-based DBMS) (không phải là một trình ứng dụng client/server).
Mặc dù SQL server có nhiều ưu điểm nhưng Access có chi phí thấp hơn SQL Server Access là một phần của Microft Office có nghĩa là hầu hết mọi người trong ngành kinh doanh đều sử dụng nó Nó sử dụng ít RAM hơn SQL Server Chúng ta cũng cần có một bản sao của SQL Server và Interprise Mannage của nó để quản lí một cơ sở dữ liệu SQL Server từ xa Một cơ sở dữ liệu Access là một tập tin có thể được tải lên và tải xuống từ Web Server Một
cơ sở dữ liệu SQL Server cũng là một tập tin nhưng phải được lưu giữ trong thư mục chứa cơ sở dữ liệu của SQL Server và không thể tải lên hay tải xuống
Chúng ta có thể làm việc với vơ sở dữ liệu SQL Server bằng cách sử dụng Access, nhưng khả năng quản lí cơ sở dữ liệu bị giới hạn rất nhiều Chúng ta
có thể thực hiện điều này bằng cách tải xuống miễn phí các công cụ MS Access Upsizing, từ Web site Microsoft Với trình duyệt SQL Server (một trong các công cụ Upsizing), bạn có thể thực thi các kịch bản để hiệu chỉnh cơ
sở dữ liệu SQL Server Tuy nhiên, bạn phải có các kịch bản hoặc có thể viết chúng bằnd cách xsử dung SQL Server Transact-SQL-một phiên bản mở rộng của ANSI SQL mà SQL Server hỗ trợ Chúng ta cũng có thể tạo một system DSN để đến SQL Server từ xa, có thể tạo một cơ sở dữ liệu vcới Access và tạo các bảng liên kết để cho phép chúng ta xử lí dữ liệu chứa trong cơ sở dữ liệu SQL Server qua Access Nhưng chúng ta không thể sử dụng các bảng được liên kết này để tạo những thay đổi trong cấu trúc cơ sở dữ liệu Tuy nhiien, Access 2000 có một số khả năng để làm việc với cấu trúc của một cơ
Trang 24
Phần V Lựa chọn ngôn ngữ để thực hiện
chương trình
I Mô hình đối tượng của Active server page
5.1 Các đối tượng của ASP
Active Server Pages cung cấp sẵn 5 đối tượng cho việc xử lí các yêu cầu trên Web Server Ngoài 5 đối tượng này ra, các đối tượng khác cần phải tạo trước khi sử dụng
Application: Lưu giữ các thông tin trạng thái của các ứng dụng Các thông tin này có thể được sử dụng nhiều bởi các ứng dụng
Session: Duy trì thông tin của mỗi người dùng trên đối tượng Session là nơi lưu trữ thông tin cần thiết cho mỗi người dùng của Web Server
Request: Nhận các thông tin được chuyển lên Server từ các Client thông qua các yêu cầu HTTP
Response: Gửi thông tin cho Client Các thông tin gồm các đoạn mã HTML, các tiêu đề, các Cookie…
Server: Cung cấp các chức năng truy nhập đến các phương thức, thuộc tính trên phía Server cho người sử dụng Các phương thức, thuộc tính này như là các chức năng tiện ích
5.1.1 Đối tượng REQUEST
Đối tượng Request và đối tượng Response cùng tạo thành "cơ chế đàm thoại" của ASP Đối tưọng Requset chịu trách nhiệm kiểm soát cách người dùng gửi thông tin đến server Dùng đối tượng Request, server có thể lấy thông tin về nhu cầu của người dùng một cách tường minh hoặc không tường minh
Ví dụ: tạo trang web "du lịch Nghệ An"cho phép người xem có thể chọn bất kì huyện nào mà họ muốn truy nhập Như vậy, trên trang sẽ có một form cho người dùng nhập tên huyện vào và dữ liệu nhập vào đó sẽ được truyền vào đối tượng Request để request sẽ gửi thông tin đến cho server xử lí
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
24
Trang 25vấn HTMLServerVariables Giá trị của các biến HTTP và các biến
môi trường
trong nội dung yêu cầu
Binary Read Truy xuất dữ liệu được gửi để server dưới
dạng một phần của yêu cầu Post
5.1.2 Đối tượng RESPONSE
Đối tượng Response chịu trách nhiệm gửi kết quả xử lí của server đến client Như vậy đối tượng response là bên tương ứng với đối tượng request: đối tượng request thu nhập thông tin từ server và client, đối tượng response gửi, hoặc gửi lại thông tin tới client bằng cách ghi vào luồng dữ liệu HTTP
Trang 26Đặc tính Diễn giải
Buffer Quyết định trang có được tạo bộ đệm cho đến khi
hoàn chỉnh hay khôngCacheCo
ntrol
Quyết định proxy server có được phép lưu trữ dữ liệu do ASP xuất ra trên vùng nhớ truy cập nhanh hay không
Charset Thêm tên của tập hợp kí tự vào tiêu đề kiểu nội
dungContentT
ype
Kiểu nội dung HTTP dành cho phản hồiq
Expires Số phút từ lúc trang được lưu trữ cho đến khi kết
thúc việc hiển thị trong bộ trình duyệtExpiresA
server
AddHeader Thêm hoặc thay đổi giá trị trong tiêu đề HTMLAppendToLog Thêm văn bản vào nhật kí của Web server
BinaryWrite Gửi văn bản tới trình duyệt không cần chuyển đổi
tập hợp kí tự
đệm
Redirect Chỉ thị cho trình duyệt kết nối vào một URL khácWrite Ghi các giá trị của biến, chuỗi…vào trang hiện hành
dưới dạng một chuỗi
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
26
Trang 27Các phần tử giao tiếp của response có thể phân chia thành các nhóm sau
Chèn thông tin vào trang
Thiết lập các đặc tính của trang
IsClientConnected Kiểm tra kết nối với máy trạm
5.1.3 Đối tượng APPLICATION
Mỗi trình ứng dụng được đại diện bắng một thực thể của đối tượng Application Đối tượng này lưu trữ các biến và đối tượng để chúng được sử dụng trong phạm vi ứng dụng Nó cũng nắm giữ các thông tin về mọi phiên làm việc hiện thời đang hoạt động
Contents Chứa tất cả các mục được thêm vào ứng dụng thông
qua các kịch bảnStaticObject Chứa tất cả các đối tượng được thêm vào ứng dụng
của ứng dụng
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
27
Trang 28Sự kiện Diễn giải
OnStart Xuất hiện khi một trang trong trình ứng dụng được
tham chiếu lần đầu tiênOnEnd Xuất hiện khi trình ứng dụng kết thúc, có nghĩa là
khi Web server ngừng hoạt động
5.1.4 Đối tượng SECTION
Đối tượng section được sử dụng để theo dõi trình duyệt riêng biệt khi nó định hướng qua Web site
Content Chứa tất cả các hạng mục được thêm vào phiên làm
việc thông qua các lệnh kịch bảnStaticObjects Chứa tất cả các đối tượng được thêm vào phiên làm
SesionID Trả về mục nhận dạng cho người sử dụng
TimeOut Thiết lập thời gian chờ cho đến khi kết thúc phiên
làm việc, tính theo phút
OnStar Xảy ra khi server tạo phiên làm việc mới
OnEnd Xảy ra khi phiên làm việc bị hủy bỏ hay hết thời
hạn
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
28
Trang 295.1.5 Đối tượng SERVER
Đối tượng server được sử dụng chủ yếu trong việc tạo các thành phần
CreateObject Tạo thực thể của đối tượng hoặc thành phần server
HTMLEncode Áp dụng việc mã hóa HTML vào chuỗi được chỉ
địnhMapPath Chuyển đường dẫn ảo thành đường dẫn vật lý
URLEncode Áp dụng việc mã hóa URL vào chuỗi
5.1.6 Đối tượng OBJECTCONTEXT
Khi chúng ta sử dụng MTS (Microsoft Transaction Server) để quản lí một giao tác, chúng ta có các chức năng trong kịch bản để chấp nhận hoặc hủy bỏ các giao tác Chức năng này do đối tượng ObjectContext cung cấp
Phương
thức
Mục đích
SetComplete Khai báo là giao tác đã hoàn tất Setcomplete ưu
tiên hơn của bất kì phương thức SetAbort được gọi trước đó trong kịch bản
SetAbort Loại bỏ giao tác do ASP khởi tạo
OnTransactionCommit Xuất hiện sau khi giao tác của kịch bản đã
xác nhậnOnTransactionAbort Xuất hiện nếu giao tác bị hủy bỏ
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
29
Trang 305.2 Thư viện Microsoft Active Data Objects 2.0
Khái quát các đối tượng
Command Đối tượng Command là định nghĩa của một lệnh cụ thể
mà chúng ta muốn thựchiện đối với nguồn dữ liệuConnection Đối tượng Connection đại diện một kết nối mở đến nơi
lưu trữ dữ liệuError Đối tượng Error chứa chi tiết về các lỗi truy cập dữ liệuErrors Tập hợp Errors chứa tất cả các đối tượng Error
Field Tập hợp Field đại diện cho một cột dữ liệu
Fields Tập hợp Fields chứa tất cả các đối tượng Field của đối
tượng RecordsetParameter Đối tượng Parameter đại diên một than số hoặc đối số
kết hợp với đối tượng Command dựa trên câu lệnh truy vấn hoặc stored procedure có tham số
Parameters Tập hợp Parameters chứa tất cả đối tượng Parameter
của đối tượng CommandProperties Tập hợp Properties chứa tất cả đối tượng Property dành
cho một thực thể cụ thể của một đối tượngProperty Đối tượng Property đại diện cho đặc tính động của
ADO được định nghĩa bởi ProviderRecordset Đối tượng Recordset đại diện cho toàn bộ tập hợp các
mẩu tin từ bảng ban đầu hoặc kết quả của một lệnh thực thi Tại một thời điểm bất kì, đối tượng Recordset chỉ đề cập đến một mẩu tin trong tập hợp và mẩu tin đó được xem là mẩu tin hiện hành
5.2.1 Đối tượng Command
Phương thức
Execute hoặc OpenCreateParrameter Parrameter Tạo một đối tượng Parameter
mới
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
30
Trang 31Execute Recordset Thực thi câu lệnh SQL hoặc
Store procedure được chỉ định trong đặc tính Commandtext
Đặc tính
Activeconnection Variant Cho biết lệnh hiện tại thuộc
về đối tượng Connection nào
được thực hiện đối với nơi cung cấp dữ liệu
khi lệnh đang thực hiện trước khi kết thúc lệnh và đưa ra thông báo lỗi Mặc định là 30 (giây)
Parameter dành cho đối tượng Command
phiên bản được biên dịch của lệnh trước khi thực hiện
Property dành cho đối tượng Command
Command ở trạng thái mở hay đọc Chỉ đọc
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
31
Trang 32
5.2.2 Đối tượng Connection
Phương thức
Execute hoặc Open đang thực hiện
tượng khác liên quan đến kết nối này
giao tác đang thực hiện
storerprocedure
lệnh có thể được thực hiện trên nguồn dữ liệu này
OpenSchema Recorset Lấy thông tin về cấu trúc cơ sở dữ
liệu
hiện thời và kết thúc giao tác
Đặc tính
đặc tính của đối tượng Connection Mặc định là 0
trong lúc thực hiện lệnh trước lúc kết thúc lệnh và xuất hiện lỗi Mặc định là 30(giây)
dụng thiết lập kết nối tới nguồn dữ liệu
CursorLocation CursorLocation Thiết lập hoặc trả về vị
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
32
Trang 33-trí của con trỏ
định cho đối tượng Connection
Error được tạoIsolationLevel IsolationLevelE
num
Chỉ ra mức cô lập giao tác cho đối tượng Connection
num
Chỉ ra các quyền hạn sẵn
có đối với việc chỉnh sửa
dữ liệu trong Connection
Property dành cho đối tượng Connection
đối tượng Connection mở hay đóng Chỉ đọc
của ADO Chỉ đọc
Sự Kiện
BeginTransComplete Xảy ra sau khi thao tác BeginTrans kết
thúc hoạt độngCommitTransComplete Xảy ra khi thao tác CommitTrans kết
thúc hoạt độngConnectComplete Xảy ra sau khi kết nối thành công
ExecuteComplete Xảy ra sau khi lệnh kết thúc việc thực thi
ConnectionEvent hoàn tất và thông tin
bổ sung được trả về bởi ProviderRollbackTransComplete Xảy ra sau khi thao tác RollbackTrans
kết thúc hoạt động
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
33
Trang 34kết nối
5.2.3.Đối tượng Error
Đặc tính
HelpContext Interger Cho biết ContextID trong tập tin
trợ giúp dành cho chuỗi liên quan Chỉ đọc
tượng Error Nó là một chuỗi 5 kí
tự theo chuẩn ANSI SQL Chỉ đọc
Tập hợp Errors
Phương thức
Trang 35Đặc tính
hợp Errors Chỉ đọc
Item
Error Cho phép tham chiếu đến một đối tượng
Error cụ thể trong tập hợp Error Chỉ đọc
5.2.4 Đối tượng Fields
Phương thức
hoặc nhị phânGetChunk Variant Trả về tất cả hoặc một phần nội dung
của đối tượng Field
Đặc tính
trường Chỉ đọc
của đối tượng Field
tượng Field Chỉ ghi
của các đối tượng Field Chỉ ghiOriginalValue Variant Cho biết giá trị của các đối tượng
Field đã tồn tại trong mẩu tin trước khi bị thay đổi Chỉ đọc
giá trị số trong đối tượng Field Chỉ đọc
Properties Properties Chứa tất cả đối tượng Propẻty
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
35
Trang 36dành cho đối tượng Field
num
Cho biết loại dữ liệu của đối tượng Field
UnderlyingValue Variant Cho biết loại dữ liệu của đối
tượng Field trong cơ sở dữ liệu Chỉ đọc
tượng Field
5.2.5.Tập hợp Fields
Phương thức
Fields
Field
Đặc tính
Fields Chỉ đọc
Field, cụ thể trong tập hợp Fields Chỉ đọc
5.2.6 Đối tượng Parameter
Phương thức
Tên Trả về Diễn giải
Parameter (khi đối tượng này
có dung lượng lớn hoặc ở
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
36
Trang 37dạng nhị phân) Đặc tính
tính của đối tượng Parameter
Enum
Chỉ ra đối tượng Parameter đại diện cho một tham số nhập, một tham số xuất hoặc cả hai hay là một giá trị trả về từ Stored
Procedure
Parameter
số dành cho đối tượng Parameter
cho giá trị trong đối tượng Parameter
theo byte hoặc kí tựh của đối tượng Parameter
đối tượng Parameter
đối tượng Parameter
Tập hợp Parameter
Phương thức
Trang 38Refresh Cập nhật đối tượng Parameter trong tập hợp
Parameters
Đặc tính
tập hợp Paramerters Chỉ đọc
Paramerters cụ thể trong tập hợp Paramerters Chỉ đọc
5.2.7 Properties
Phương thức
hợp Properties với các chi tiết từ Provide
Đặc tính
hợp Properties Chỉ đọc
Property cụ thể trong tập hợp Properties
Đối tượng Property
Đặc tính
Attributes Long Cho bíêt một hay nhiều đặc tính của đối
tượng Property
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
38
Trang 39tượng Recordset có thể cập nhật
tác Open không đồng bộ
với mẩu tin hiện hành hoặc một mẩu tin mới trước khi gọi phương thức Update
Recordset từ đối tượng Recordset hiện hành
các đối tượng có liên quanCompareBook_
marks
CompareEnum So sánh hai Bookmark và trả
về các giá trị liên quan
tin hiện hành
thỏa mãn điều kiện đưa ra
hành tới mẩu tin đầu tiên
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
39
Trang 40trong Recordset
hành tới mẩu tin sau cùng trong Recordset
hiện hành tới mẩu tin kế tiếp trong Recordset
hiện hành tới mẩu tin trước đó trong Recordset
hành và trả về Recordset kế tiếp
tượng Recordset
tượng Recordset hiện hành từ
cơ sỏ dữ liệu nền tảng
có hỗ trợ chức năng cụ thể nào
đó hay không
với đối tượng Recordset hiện hành
đĩa
Đặc tính
AbsolutePage PositisionEnum Định rõ mẩu tin hiện tại
nằm trong trang nàoAbsolutePosition PositionEnum Định rõ vị trí mẩu tin hiện
hành của đối tượng Recordset
Command nào tạo đối tượng Recordset Chỉ đọc
GVHD: ThS Đặng Hồng Lĩnh SVTH: Cao Thị Tuy ết Nhung 22/12/2013
40