Tài liệu tham khảo công nghệ thông tin Xây dựng một phần mềm quản lý thiết bị
Trang 1CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀII.Mô tả đề tài
Hi- Tech là một trung tâm công nghệ cao của trường Đại Học BáchKhoa - Hà Nội Hiện nay trung tâm này được nhà nước và trường Đại HọcBách khoa Hà Nội đầu tư một số thiết bị tin học khá hiện đại Với đặc thùcủa các thiết bị tin học, công việc sửa chữa và bảo hành là công việc hết sức
cần thiết Xuất phát từ điều kiện thực tiễn này, trung tâm có nhu cầu xây
dựng một phần mềm quản lý thiết bị trợ giúp cho người quản trị hệ thống có
phương tiện theo dõi quá trình sử dụng thiết bị một cách hiệu quả
Internet trong thời đại hiện nay phát triển rất mạnh và tiện lợi chongười dùng, mọi người có thể truy cập Internet ở bất cứ đâu và ở bất cứ khinào mà chỉ yêu cầu có một cổng Internet Nhưng vào giữa thập niên 90, khibắt đầu bùng nổ sự truy cập Web thì đa số những người sử dụng máy tínhđều có thể truy cập thông tin trên Internet Tuy nhiên các nhà thiết kế Webgặp phải khó khăn trong việc đưa thông tin lên Web và cập nhật chúng Đểgiải quyết vấn đề đó ASP (Active Server Page) đã cho phép người sử dụngtương tác dễ dàng với máy chủ và cơ sở dữ liệu Trong những công nghệ đó
có ADO (ActiveX Data Object), được thiết kế để cung cấp một phương pháptruy cập dữ liệu chung cho tất cả mọi người, nó có thể dùng cho bất kỳ ngônngữ nào tương thích với COM (Component Object Model) Những gì cầnkhi tạo một trang Web động, sử dụng ASP sẽ làm cho nó có thể kết nối đếntập tin văn bản hay cơ sở dữ liệu của bạn để lấy và hiển thị thông tin Bất cứkhi nào bạn chỉnh sửa dữ liệu, sự thay đổi đó sẽ thay đổi ngay trên trangWeb mà không phải thay đổi bất cứ dòng HTML nào Công việc này có dễdàng không? Thật may may mắn ASP có thể làm tốt nhất và nó cung cấpkhả 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 Các thành phần đó chính là ADO- kết hợp sức mạnh của cơ sở dữ liệuvới tính phổ biến của Web để tạo nên nhưng ứng dụng Web
Chính vì tính phổ biến của Web nên em phát triển phần mềm này dựatrên giao diện Web và sử dụng ASP kết hợp ADO
Trang 2II Khảo sát sơ bộ:
1 Mục tiêu xây dựng:
- Hỗ trợ ba lớp người sử dụng
- Những người quản trị thao tác trên cơ sở dữ liệu như: Đọc, ghi,chỉnh, sửa, thống kê
2 Các yêu cầu đặt ra cho hệ thống
- Đối với người quản trị thiết bị có các quyền sau:
Bổ sung, sửa và xoá danh mục các thiết bị cần quản lý
Cập nhật tình trạng thiết bị
Lập phiếu yêu cầu bảo hành, bảo trì thiết bị
Thống kê thiết bị theo nhóm, tình trạng
Tổng hợp lịch sử thiết bị
- Đối với cán bộ quản lý:
Thống kê thiết bị theo nhóm, tình trạng
Cập nhật thông tin người sử dụng
3 Mô tả các danh mục các thiết bị
Các thiết bị được chia thành các nhóm, có thể bổ sung hoặc sửa đổi vớicác nhóm
Mỗi thiết bị có thể có những nhóm thuộc tính sau:
- Mã số thiết bị
- Tên thiết bị
- Chủng loại
Trang 4III Cấu trúc đồ án
Cấu trúc đồ án gồm có ba chương
Chương 1: Giới thiệu đề tài
I Mô tả đề tài
II Khảo sát sơ bộ
Chương 2: ASP (Active Server Page) và ADO (ActiveX Data Object)
I Giới thiệu ASP
II Ngôn ngữ sử dụng lập trình với ASP
III VBscript
IV Những vấn đề liên quan đến xây dựng ứng dụng ASP
V Các đối tượng trong ASP
VI ADO ( ActiveX Data Object)
Chương 3: Xây dựng ứng dụng
I Thiết kế cơ sở dữ liệu
II Mô hình sử dụng Web
III Thiết kế trang
Chương 4: Kết luận
Trang 5CHƯƠNG 2: ACTIVE SERVER PAGE VÀ ADO (ACTIVEX DATA OBJECT)
I.Giới thiệu về Active Server Page:
1 Active Server Page là gì:
Microsoft Activer Server Page là một trường hỗ trợ cho các scriptchạy trên máy chủ (Server), cho phép chúng ta tạo ra và chạy các ứng dụngWeb 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 sau đây:
- Microsoft Internet Information Server trên window NT Workstation
- Microsoft Peer Web Services trên Window NT Workstation
- Microsoft Personal Web Server trên Windows 95, Windows 98
2 Hoạt động của Active Server Page
Mô hình tổng quát hoạt động của ASP
Trang 63 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 (File 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ônngữ nào đó
Khi một Web Browser gửi một yêu cầu (Request) tới một File ASPthì Script chứa trong file sẽ chạy để trả kết quả về cho trình duyệt (Browser)
đó Khi Web Server nhận được yêu cầu (Request) tới một file ASP thì nó sẽđọc từ đầu tới cuối File A SP đó, thực hiện các lệnh Script trong đó kết quảtrả về cho Web Browser dưới dạng của một trang HTML
Trang 7VBscript
Interpreto
r
Custom Components
Internet Information Server
ISAPI Application
Perl Awk etc CGI Script
CGI Application
Giao diện DLL cho ASP Server Side Inludes (SSI)
Jscript Interpretor
Active Database Compenents()
Trang 84.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ư:
ASP cho ta các tính chất sau:
- Có khả năng mở rộng các thành phần ActiveX Server (ActiveX ServerComponents)
Môi trường của ASP sẽ được cài đặt trên máy chủ (Server) cùng vớiWeb 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 (Virual Dirrectory) của Web Server
Cá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(JScript) Ngoài ra ASP còn cung cấp sẵn các ActiveX Component rất hữudụng, ta có thể dùng chúng để thực hiện các công việc phức tạp như truy
Trang 9xuất cơ sở dữ liệu, truy xuất file, không những thế mà ta còn có thể tự mìnhtạo ra các thành phần (Component) của riêng mình và thêm vào để sử dụngtrong ASP ASP tạo ra các trang HTML tương thích với Web Browserchuẩn.
Trang 10II Ngôn ngữ lập trình sử dụng với ASP:
1 Các lênh Script (Script 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 WebServer gửi thông tin đến một trình duyệt (Browser) (Như giá trị biến) Cáclệnh này kết hợp lại thành thủ tục (Procedure) hay hàm (Function) để thựchiện một công việc cụ thể Mỗi Script của ASP được chứa trong mộtfile ASP Mỗi file của ASP có thể coi như một file HTML có thể chèn vàocác lệnh của ngôn ngữ Script nào đó Thực ra nó là một file văn bản (FileText) nhưng các văn bản (Text) đó có những vùng mà khi Web Server đọctớ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ệnhScript trong khi đó
ASP quy định một vùng Script nằm giữa hai dấu <% và %> hoặc trongvùng của hai Tags <Script> và </Script>
Script là đoạn chương trình thể hiện các yêu cầu của người lập trình đốivới ASP, nó chứa các câu lệnh mà người lệnh trình muốn ASP thực hiện vànội dung người đó muốn tạo ra trên các trang HTML kết quả trả về cho WebBrowser gọi đến ứng dụng
Tóm lại: 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ônngữ lập trình khác như C, Pascal , chỉ có điều khác là chương trình củangô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 thì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 trong môi trường của ASP
Ví dụ minh hoạ:
<%
Myname = “pham van bieu”
If Time >= # 12:00:00 am # AND time < # 12:00:00pm # Then
Trang 112.Ngôn ngữ Script (Script luanguage) và Script Engine:
Script của ASP được cấu thành từ các lệnh của ngôn ngữ Script (ScriptLanguage) 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 (Script Language) nằm ở khoảng ngôn ngữ siêu vănbản (HTML) và các ngôn ngữ lập trình như Java, C++, Visual Basic Ta biếtHTML dùng dể định dạng và liên kết các văn bản, còn các ngôn ngữ lậptrì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 Đốivới scripting language, nó nằm ở giữa, tuy nhiên nó gần với ngôn ngữ lậptrình hơn là HTML
Khác nhau cơ bản giữa ngôn ngữ Script (Scripting Language) và cácngô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 các ngôn ngữ lập trình
Scripting Engine là các đối tượng có nhiệm vụ xử lý các Script ASPcung cấp một môi trường chủ cho các Script Engine và phân phối các Scripttrong các file ASP cho các máy (Engine) này để xử lý Để sử dụng đượcmột ngôn ngữ Script (Scripting Language) cùng với ASP ta phải cài đặtScript Engine tương ứng vào 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 ngữ script(Scripting Language) như Jscript, Rexx, Perl,
ASP cho phép người lập trình dùng nhiều ngôn ngữ script (ScriptingLanguage) 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
Trang 12Vì 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ùngmột file ASP chỉ cần bằng cách một thẻ HTML (HTML Tag) để khai báongô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 lạingôn ngữ script (Scripting Language) chính trong cả hai phạm vi là toàn bộmôi trường ASP, hay chỉ trong một file ASP nào đó
Để 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 ScriptLanguage Ví dụ như trị mặc định là VBscript, ta có thể thay đổi lại hayJscript,
Để thay đổi ngôn ngữ script (Script Language) chính chỉ trong mộtfile ASP nào đó, ta chỉ cần đặt ở đầu File một thẻ ( Tag) đặc biệt có dạng:
<%@ LANGUAGE= Scripting language%>
với ngôn ngữ script (Scripting Language) là tên ngôn ngữ script (ScriptingLanguage) muốn đặt làm ngôn ngữ script (Scripting Language) chính nhưVBscript, Jscript,
3 Viết các thủ tục ( Procedure) với ngôn ngữ:
Như ta đã nói, một trong các đặc tính mạnh của ASP là khả năng kếthợp nhiều ngôn ngữ script (Scripting Language) trong một file ASP Nếubiết tận dụng khả năng này ta có được một công cụ rất mạnh để thực hiệnnhững công việc phức tạp
Một thủ tục (Procedure) là một nhóm các dòng lệnh Script thực hiệnmột tác vụ nhất định Ta có thể tạo ra các thủ tục (Procedure) để dùng nhiềulần trong các Script Có thể định nghĩa các thủ tục (Procedure) bên trong cácdấu phân cách (Delimeter) nếu như có được viết bằng ngôn ngữ script(Scripting Language) chính Nếu không thì có dùng trong các thẻ (Tag)
Trang 13Ta 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 ASPqui ước có đuôi INC
Trang 14III Visualbasic Script Language (VBscript)
1 Giới thiệu về VBscript:
VBscript là một thành phần mới nhất trong họ ngôn ngữ lập trìnhVisual Basic, cho phép tạo ra những Script sử dụng được trên nhiều môitrường khác nhau các Script chạy trên trình duyệt (Browser) của máy khách(client) (MS Internet Exploer) nay trên Web Server (MS Internet InformationServer)
Cách viết VBscript tương tự như cách viết các ứng dụng trên VisualBasic hay Visual Basic Application VBscript giao tiếp với ứng dụng chủ(Host Application) bằng cách sử dụng các ActiveX Scripting
2 Các kiểu dữ liệu của VBscript:
VBscript chỉ có một loại sữ liệu được gọi là Variant là một kiểu dữ liệuđặc biệt có thể chứa đựng những loại thông tin khác nhau tuỳ theo cách sửdụng Tuy nhiên nó cũng là kiểu dữ liệu trả về bởi tất cả các hàm, ở đây đơngiản nhất là Variant có thể chứa thông tin số hoặc chuỗi tuỳ theo văn cách
sử dụng Các loại dữ liệu (Subtype) mà Variant có thể biểu diễn là: Empty,Null, Boolean, Byte, Currency, Date, Time, String, Object, Error…
VBscript có sẵn một hàm số để chuyển từ Subtype này sang Subtype khác
3.Biến trong VBscript
Một biến là một tên tham khảo đến một vùng nhớ, là nơi chứa thông tincủa chương trình mà thông tin này có thể thay đổi trong thời gian Scriptchạy ví dụ có thể đặt một biến tên là Clickcount để đếm số lần người sửdụng chọn (User click) vào một đối tượng (Object) trên một trang Web nào
đó Vị trí của biến không quan trọng, ta chỉ truy xuất nó thông qua tên màthôi Trong VBscript biến luôn có kiểu là Variant
Khai báo biến: Dùng phát biểu Dim, Public (cho biến toàn cục) hayPrivate ( cho biến cục bộ)
Ví dụ:
Trang 15Dim lickcount
Tên biến phải bắt đầu bằng kí tự chữ, trong tên tiến không chứa dấuchấm, chiều dài tối đa là 255 kí tự và một biến là duy nhất trong tầm hoạtđộng mà nó được định nghĩa
Tầm hoạt động và thời gian sống của một biến: Có hai loại biến làProcedure Level và Script Level tương ứng với hai tầm hoạt động là cục bộ(Local) và Script Level Thời gian sống của một biến được tính từ khi nóđược khai báo đến khi Script kết thúc, đối với biến cục bộ (Local) là từ khi
nó đựơc khai báo đến khi thủ tục (Procedure) chứa nó kết thúc
Biến trong VBscript có thể là biến đơn hay biến dãy Khi khai báoDim(10) thì Script tạo ra một dãy có 11 phần tử ( vì phần đầu có chỉ số là 0) Một biến dãy có thẻ mở rộng tới 60 chiều, nhưng thường dùng 2 đến 4chiều Có thay đổi kích thước môt dãy trong thời gian chạy bằng cách dùngphát biểu Redim
Ví dụ
Dim myarray(25)
…
Redim myarray(30) hay
Redim Preserve Mayarray (30) ‘giữ lại các giá trị trong dãy cũ
Trang 165 Các toán tử trong VBscript:
VBscript có các toán tử khác nhau như số học, luận lý so sánh Nếumuốn chỉ định thứ tự ưu tiên của toán tử một cách rõ ràng thì dùng dấungoặc ( ), còn không thì thứ tự ưu tiên như sau (từ trên xuống dưới từ rái quaphải):
- Số học: ^, - (âm), * , / , mod, + , - , &, \ (chia lấy số nguyên)
- So sánh: =, <>, <, >, <= ,>= , IS
- Lý luận: NOT, AND, OR, XOR, EQV, IMP
Toán tử * và /, + và - có cùng độ ưu tiên và được thực hiện từ trái quaphải
6 Các cấu trúc điều khiển:
If… Then … Else… Endif
Do… Loop
While… Wend
For … Next
7 Thủ tục (Procedure) trong VBscript:
Có hai thủ tục (Procuduce) là Sub và Function
- Sub Procedure: Là một chuỗi các phát biểu VBscript nằm trong phát biểuSub và EndSub, thực hiện một số công việc và không trả về giá trị
- Function Procedure tương tự như Sub nhưng trả về giá trị
Ngoài những kiểu dữ liệu, toán tử và cấu trúc điều khiển như đã giớithiệu ở bên ngôn ngữ Script còn rất nhiều hàm tạo nên sự sinh động chochương trình
Trang 17IV Những vấn đề liên quan đến việc xây dựng ứng dụng ASP:
Khi xây dựng một ứng dụng trên một môi trường ASP để chương trìnhsinh động ta cần lưu ý khi:
- Xây dựng file Global.asa
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 Sessionthì máy chủ (Server) sẽ trả về lỗi Máy chủ (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à Sessionkhông thể xử lý như trong một File HTML thông thường
Những Script trong File Global.asa có thể được viết bằng bất cứ ngônngữ nào có hỗ trợ Script Nếu các Script được viết bởi cùng một ngôn ngữthì có thể hợp chúng trong cùng một thẻ (Tag) <Script> duy nhất
Khi bạn thay đổi File Global.asa và ghi lại nó thì máy chủ ( 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ịchlại file Global.asa, trong khoảng thời gian này máy chủ (Server) từ chối và ra
Trang 18thông báo : “The request cannot be procesed while the application is beingrestarted”, sau khi các yêu cầu (Request ) được xử lý xong máy chủ (Server)xoá bỏ tất cả các phiên (Session) đang chạy, gọi biến cố Session_Onendtương phiên (Session) 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 (Request) của người sử dụng(User) tiếp theo sẽ khởi động ứng dụng trở lại (gọi biến cốApplication_Onstart và Session_Onstart).
Tuy nhiên khi lưu lại những file được Include trong file Global.asa thìkhông gây lê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ể gọi trong từ các Script trong biếncố: 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 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úngvào các trang ASP có gọi thủ tục đó Những File Include thường có phần mởrộng INC
2 Khai báo đối tượng và biến cố :
Biến cố Application:
Application_Onstart: Xảy ra trước khi phiên (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 trangASP của ứng dụng Chỉ có các đối tượng ứng dụng (Application) và các đốitượng cài đặt trong máy chủ ( Server Build - In) là có thể sử dụng Các thamkhảo đến đối tượng Session, Request, Response sẽ gây ra lỗi
Trang 19- Tham số Script Language: Chỉ định ngôn ngữ Script dùng để viếtScript Thường sử dụng biến cố này để khởi động một số biến toàn cục,thông tin hệ thống
Application_Onend: xảy ra trước khi đóng ứng dụng, sau khi biến cố
Session_Onend cuối cùng xảy ra chỉ có các đối tượng ứng dụng(Application) hay các đối tượng được cài đặt sẵn trong máy chủ (ServerBuild - In) là có thể sử dụng
Biến cố session: Web Server tự động tạo một phiên (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 phiên (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 phiên (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ể thamkhảo tất cả các đối tượng được cài đặt (Build - In) trong biến cố này
Trang 20Tham số: Script Language chỉ định ngôn ngữ Script Ta có gọi phươngthức Redirect trong biến cố Session_Onstart, chẳng hạn để bảo đảm người sửdụng muốn mở ngay sang một trang khác trang được chỉ định, thì Redirectsang trang đã chỉ định Tuy nhiên cần chú ý là những Browser không hỗ trợCookies thì nó sẽ không lưu lại SessionID của nó nên bất cứ khi nào mở mộttrang mới thì máy chủ (server) lại tạo một trang Session mới.
Session_Onend: Xảy ra khi một phiên (Session) được đóng hoặc vượt
quá thời gian (Timeout) Dùng biến cố này để xoá các biến đã đặt trong quátrình sử dụng của người sử dụng (User)
Khai báo đối tượng <Object>
Bạn có tạo các đối tượng tầm hoạt động là phiên (Session) hay ứngdụng (Application) trong file Global.asa Đối tượng này thực sự được tạo rakhi máy chủ ( Server) xử lý một Script có tham khảo đến nó
Cú pháp:
<Object Runat = Server Scope = Scope ID = Identifier
{progid=proid | classid= “classid”/>
Trang 21
- Tham số:
- Scope: Chỉ định tầm hoạt động của đối tượng, là “Session” hay
“Application”
- Indentifiler: 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 ProgramID
hay classID phải đựơc chỉ định trong khai báo <OBJECT>
Trang 22V CÁC ĐỐI TƯỢNG (OBJECT) 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ệclặ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 đốitượ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 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ácInstance 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 được gọi là các đối tượng được càiđặt sẵn (Build - In Object), bao gồm:
Request: Là đối tượng chứa các thông tin ở Web Browser gửi yêu cầu
tới Web Server
Response: Là đối tượng chứa thông tin từ máy chủ (Server) gửi cho
Session: Là một biến đại diện cho người sử dụng (User)
1 Đối tượng Request:
Định 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 người 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 dongườ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 Serve
- 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
Trang 23- Các Client Certificates
Các cú pháp tổng quát: Request.(Cllectionname)( Variable)
Đối tượng Request: Có 5 Collection
- Client Certificate: Nhận Certificate Fields từ Request của WebBrowser Nếu Web Browser sử dụng http:// để kết nối (Connect) với máychủ ( Server), Browser sẽ gửi Certification Fields
- 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ứcPOST
- 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:
Định nghĩa: Việc gửi thông tin tới cho người sử dụng (User) sẽ
được thực hiện nhờ đối tượng Response
Cú pháp tổng quát: Response.Clloection\ property\ method
Collection của đối tượng Response:
Cookies: Xác định giá trị biến Cookies Nếu Cookies được chỉ ra khôngtồn tại, nó sẽ được tạo ra, nếu nó tồn tại thì nó nhận giá trị mới
Các thuộc tính (Properties):
- Buffer: Chỉ ra trang Web Output được giữ lại đệm Buffer haykhông Khi một trang được đệm lại, máy chủ (Server) sẽ không gửi một đápứng nào cho trình duyệt (browser) cho đến khi tất cả các Script trên tranghiện tại đã được thực thi xong hay phương thức FLUSH hay END được gọi
- ContentType: 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 tình duyệt (Browser) hết hạn
Trang 24- 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.
- Status: Chỉ ra trạng thái của máy chủ (Server) Giá trị trạng tháiđược định nghĩa trong đặc tả HTTP
Các phương thức ( Methods):
- AddHeader (Tên, Nộidung): 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ôngthể thay đổi một phần đầu (Header) đã tồn tại có cùng tên Một khi đã thêmmột phần đầu (Header), không thể thu hồi nó Cần phải sử dụng trước khigửi bất cứ trang nội dung nào (Text hay HTML) đến máy khách (Client)
- AppendToLog (“ String ”): Thêm một chuỗi vào cuối Log File củaWeb Server cho yêu cầu (Request) này
- Binarywrite: 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 sử lý file ASP và trả về kết quả hiện tại
- Flush: Gửi thông tin trong Buffer cho máy khách (Client) Phươngthức này sẽ sinh lỗi nếu Response.Buffer chưa thiết lập thành True
- Redirect: Gửi một thông báo cho trình duyệt ( Browser) định hướnglạ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 (ObjectSession) để lưu trữ thông tin cần thiết cho một người sử dụng ( User) Những
Trang 25biến được lưu trữ trong đối tượng (Object) vẫn tồn tại khi người sử dụng(User) 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 (Object session) khi người sử dụng (User) chưa cóphiên (Session) yêu cầu một trang Web Khi phiên (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 phiên (Session) đó mà thôi.
- Cú pháp tổng quát: Session.Property | Mehtod
ra phiên (Session) hiện tại
o Session (“ Selectedtopic ” ): Tên chủ đề đang được chọn để thựchiện một thao tác nào đó
4 Đối tượng Application:
Định nghĩa: Ta có thể sử dụng đối tượng ứng dụng (ObjectApplication) để cho phép nhiều người sử dụng một ứng dụng chia sẻ thôngtin với nhau Bởi vì đối tượng ứng dụng (Object application) được dùngchung bởi nhiều người sử dụng, do đó đối tượng (Object) có hai phương thức(Method) Lock và Unlock để cấm không cho nhiều người sử dụng đồngthời thay đổi thuộc tính (Property) của đối tượng (Object) này, các biến ứngdụng ( Application) là toàn cục, có tác dụng trên toàn ứng dụng
Cú pháp tổng quát: Application.Method
Trang 26 Các phương thức (Method):
- Lock: Phương thức này cấm không cho máy khách (Client)khác thay đổi thuộc tính (Property) của đối tượng ứng dụng(Application)
- Unlock: Phương thức này cho phép máy khách (Client) khácnhau thay đổi phương thức (Property) của đối tượng ứng dụng(Application object )
- Events: Gồm có hai Event được khai báo trong file Global.asa.ngoài ra chúng ta có thể đặt các biến trong đối tượngApplication để lưu những thông tin toàn cục, hay các cờ báohiệu
- Application_Onstart: Xẩy khi khởi động ứng dụng
- Application_Onend: xẩy ra khi ứng dụng đóng, sau khi máy chủtắt ( Server Shutdown)
5 Đối tượng Server:
Định nghĩa: Cho phép truy xuất đến các thuộc tính (Method) vàphương thức ( Property) của máy chủ ( Server) như những hàm tiện ích
Cú pháp tổng quát: Server.method
Các thuộc tính (Properties):
- Creatobject: Tạo Instance của Server Component
- HTML Encode: mã hoá chuỗi theo dạng HTML
- Mappath: ánh xạ đường dẫn ảo (là đường dẫn tuyệt đối trên máy chủ(Server) hiện hành hoặc đường dẫn tương đối đến trang hiện tại) thànhđường dẫn vật lý (Physical Path)
- URLEncode: mã hoá một chuỗi (kể cả ký Escape) theo quy tắc mã hoáURL
Trang 27VI ADO ( Ativex data object)
A Thành phần truy cập cơ sở dữ liệu (Database access component)
Một ứng dụng Web cơ sở dữ liệu (Web Database) viết bằng ASP cóthể truy xuất dữ liệu trong một cơ sở dữ liệu (Database), bằng cách sử dụngComponent Database Access của ActiveX mạnh nhất của ASP trong việcphát triển ứng dụng Web Database
Các đối tượng (Object) của ADO cung cấp có thể tạo ra các kết nối(Connection) với hầu hết các kiểu cơ sở dữ liệu (Database), cũng như việctruy xuất, cập nhật các cơ sở dữ liệu (Database) này Hiện nay thư việnADO 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(Database) trên Internet
Trong phần này ta sẽ xem xét các thành phần trong thư viện công cụnày
B Giao diện của ADO (ADO Interface):
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 (Database) thông qua phương thức ODBC (Open DatabaseConnectivity), chúng ta có thể sử dụng chúng với bất kỳ loại cơ sở dữliệu(Database) 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
Trang 28Các đối tượng ( Object) trong ADO:
Các đôi tượng (Object) chính trong đó là: Connection, Recordset,Command, ngoài ba đối tượng (Object) chính còn có các đối tượng (Object),tham số, thuộc tính, phương thức sử dụng con Sử dụng Connection ta có thểthiết lập sự liên kết với cơ sở dữ liệu, thông qua đó ta có thể thực hiện cácQuery để lấy ra các Record hoặc tập hợp các Record bằng cách sử dụngCommand Object Kết quả thực hiện trên cơ sở dữ liệu (Database) sẽ đượclưu vào Recordset, trên đối tượng này ta có thể duyệt và lấy ra một hay nhiềuRecord Sau đây ta sẽ xem xét cụ thể cách sử dụng của từng đối tượng(Object)
1 Đối tượng Connection:
Để sử dụng đối tượng Connection, trước tiên ta phải tạo ra mộtInstance cho nó, đây thực sự là một thể hiện của đối tượng (Object) nàytrong ASP Phát biểu tạo ra Instance cho Connectin có cú pháp như sau:
Trang 29Connection có mức hoạt động ở mức độ Application, bằng cách phát biểuInstance ở trên vào các thủ tục Application_Onstart( )
Hoặc tạo File sử dụng chung Tuy nhiên ta có thể xem xét thêm việc tối
ưu cho các Connection trong một ứng dụng có nhiều người sử dụng (User)truy xuất tới cơ sở dữ liệu ( Database), đó là khả năng Connctionpooling củaODBC
Connection Pooling: Các ứng dụng cơ sở dữ liệu truyền thống đều tạomột mối liên kết tới cơ sở dữ liệu ( Database) mà nó sử dụng, còn các ứngdụng cơ sở dữ liệu ( Database) trên Web lại mở và đóng các liên kết, cácliện kết này ở mỗi trang Web Một phương pháp cho các ứng dụng cơ sở dữliệu ( Database) trên web là tạo ra một sự liện kết liên tục với cơ sở dữ liệucủa từng người sử dụng (User) và lưu trữ trong đối tượng Session Tuy nhiênphương pháp này có thể làm gia tăng số lượng các người sử dụng ( User) kếtnối tới cơ sở dữ liệu mà không làm việc và chỉ đạt được độ tin cậy đối vớicác Web Site có sự lưu thông dữ liệu thấp
Connection pooling được kích hoạt mặc nhiên trong ASP, ta có thể loại
bỏ bằng cách thiết lập giá trị Register Entry Start Connection về giá trị 0Các phương thức của đối tượng Connection
Trang 30- Open Method: Sử dụng để mở một kết nối với cơ sở dữ liệu(Database) Sau khi tạo một Instance cho đối tượng liên kết dữ liệu(Connection object), ta có thể mở kết nối với Data Source để có thểtruy xuất dữ liệu, cú pháp cho phương thức trong VBscript như sau:Connection.Open connecstring User Password
Trong đó Connecstring là chuỗi định nghĩa Data Source
- Execute method: Phương thức này cho phép thực thi một câu lệnh,tác động lên DataSource Theo trình tự sau khi đã có một kết nối tớiDataSource,ta có thể sử dụng nó với phương thức Execute với cú pháp trongVBscript như sau
Connection.Execute Command, Recordaffected,Option
Trong đó thông số Option có các giá trị khác nhau tương ứng với mỗiloại Commantext
Trang 31Các giá trị của Option theo bảng sau:
Giá trị Danh hiệu hằng tương ứng Mô tả command text
0 Adcmdunknown Giá trị này mặc định khi định
Thông thường các giá trị trên sẽ được gán cho tên (danh hiệu), hằng vàđược cài đặt trong file Include
- Close method: trong các trang ASP, sau khi đã xử lý xong dữ liệutrên DataSource, trước khi kết thúc trang sử dụng phải đóng lại các kết nối
đã mở Việc đóng kết nối nhờ phương thức Close
Cú pháp như sau:
Connection.Close
Nếu chương trình không thực hiện việc này thì ASP sẽ tự động đóngConnection đã mở trong trang, mỗi khi người sử dụng tham khảo qua trangkhác (đi khỏi tầm hoạt động của biến Instance) Nếu ta tạo Instance và mởkết nối trong các thủ tục Application_Onstart hoặc Session_ Onstart thì đóngcác Connection này sẽ được thể hiện trong thủ tục Onend
2 Đối tượng Command
Thay vì phải sử dụng phương thức Execute của đối tượng Connection
để Query hay Update data Source, ta có thể sử dụng đối tượng Command đểthi hành các thao tác với cơ sở dữ liệu
Việc tạo Instance cho đối tượng Command cũng giống như đối tượngConnection
Trang 32Command_name = Server.Creatobject (“ ADODB.Command ”)
Tuy nhiên để sử dụng đối tượng này ta cần xem xét các phương thức vàthuộc tính kèm theo
- Commandtext: Chỉ định câu lệnh cần thực thi trên cơ sở dữ liệu
- Commandtimeout: Xác định thời gian thực thi lệnh, giá trị thời gianthực thi lệnh tính bằng giây
- Commandtype: Cho phép kiểu query đặc tả trong commandtext
- Prepared: Tạo ra lệnh chuẩn trước khi thực thi
Tạo Activeconnection
Sau khi đã có các Instance của các đối tượng kết nối (ConnectionObject) đã được kết nối với cơ sở dữ liệu, và các đối tượng command(Command Object) Lúc này nếu muốn sử dụng đối tượng command(Command Object) ta phải gán tên của Connection thích hợp (Connectionnào kết nối tới cơ sở dữ liệu cần làm việc ) vào cho thuộc tínhActiveconnection của đối tượng command (Command Object)