CHƯƠNG 1: GIỚI THIỆU ĐỀ TÀI
I. Mô tả đề tài
Hi- Tech là một trung tâm công nghệ cao của trường Đại Học Bách
Khoa - Hà Nội. Hiện nay trung tâm này được nhà nước và trường Đại Học
Bá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 cho
người dùng, mọi người có thể truy cập Internet ở bất cứ đâu và ở bất cứ khi
nào mà chỉ yêu cầu có một cổng Internet. Nhưng vào giữa thập niên 90, khi
bắ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ế Web
gặ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ụng
tươ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áp
truy cập dữ liệu chung cho tất cả mọi người, nó có thể dùng cho bất kỳ ngôn
ngữ nào tương thích với COM (Component Object Model). Những gì cần
khi tạo một trang Web động, sử dụng ASP sẽ 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 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 trang Web
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ấ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.
Các thành phần đó chính là ADO- kết hợp sức mạnh của cơ sở dữ liệu vớ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ựa
trên giao diện Web và sử dụng ASP kết hợp ADO.
1 1
- Serial các bộ phận cấu thành.
- Trạng thái hiện tại.
- Ghi chú.
Mỗi thiết bị cần quản lý có lịch sử hoạt động ( bao gồm các giai đoạn
sửa chữa nếu có hỏng hóc).
3 3
III. 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
4 4
CHƯƠ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 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
Mạng Internet Or Intranet
Mô hình chi tiết hoạt động của ASP
6 6
7 7
4.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ư:
- Văn bản (Text)
- Thẻ HTML (HTML Tags)
- Lệnh Script (Script commands)
5. Các tính chất của 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 ra trang HTML và sử 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 Web Site 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:
- Có thể kết hợp với file HTML.
- 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.
- Hoạt động theo hướng đối tượng, với các đối tượng được cài đặt sẵn
(build – in object) rất tiện dụng: Request, Response, Server,
Appllication, Session.
- Có khả năng mở rộng các thành phần 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 (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 để 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
10 10
%>
<font face = “.vntime” color = “#ff0000” > chao buoi sang “ &
myname”
<% else %>
xin chao
<% end if %>
2.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 (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 (Script Language) 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++, Visual Basic.. Ta biết
HTML 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ậ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 scripting 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 (Scripting 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 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. 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
hợp nhiều ngôn ngữ script (Scripting Language) trong một file .ASP. Nếu
biế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ện
nhữ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ện
một tác vụ nhất định. Ta có thể tạo ra các thủ tục (Procedure) để dùng nhiều
lần trong các Script. Có thể định nghĩa các thủ tục (Procedure) bên trong các
dấ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).
12 12
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
qui ước có đuôi .INC.
13 13
III. 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ình
Visual Basic, cho phép tạo ra những Script sử dụng được trên nhiều môi
trườ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 Information
Server).
Cách viết VBscript tương tự như cách viết các ứng dụng trên Visual
Basic 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 đơn
giả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,
Redim myarray(30) hay
Redim Preserve Mayarray (30) ‘giữ lại các giá trị trong dãy cũ.
4. Hằng trong VBscript.
Hằng là một tên có nghĩa đại diện cho một số hay một chuỗi và không
thể thay đổi trong quá trình chạy tạo một hằng bằng phát biểu Const.
Ví dụ
Const mysting= “this my string”
15 15
5. 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ếu
muốn chỉ định thứ tự ưu tiên của toán tử một cách rõ ràng thì dùng dấu
ngoặc ( ), còn không thì thứ tự ưu tiên như sau (từ trên xuống dưới từ rái qua
phả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 qua phả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ểu
Sub 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ới
thiệu ở bên ngôn ngữ Script còn rất nhiều hàm tạo nên sự sinh động cho
chương trình.
17 17
thông báo : “The request cannot be procesed while the application is being
restarted”, 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_Onend
tươ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ế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 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 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 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 máy chủ ( Server Build - In) 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 Runat = Server>
Sub Application_Onstart
…
End Sub
</Script>
19 19
Tham số: Script Language chỉ định ngôn ngữ Script. Ta có gọi phương
thứ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ì Redirect
sang 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ột
trang mới thì máy chủ (server) lại tạo một trang Session mới.
Ví dụ:
Sub Session_Onstart
Application.lock
Application (“accessnumber”)= Application (“accessnumber”)+1
Application.unlock
End sub
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).
Cú pháp:
<Script language = Scriptlanguage Runat = Server>
Sub Session_Onend
…
End Sub
</Script>
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 ứng
dụng (Application) trong file Global.asa. Đối tượng này thực sự được tạo ra
khi 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”/>
Browser.
• Server: Là môi trường máy chủ (Server) nơi ASP đang chạy, chứa các
thông tin về tác vụ và hệ thống.
• Application: Đại diện cho ứng dụng Web của ASP, chứa Script hiện
hành.
• 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 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 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
- Các Cookies
22 22
- 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 Web
Browser. Nếu Web Browser sử dụng http:// để kết nối (Connect) với máy chủ
( 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ứ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:
đá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ương
thứ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ướ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
Session) để lưu trữ thông tin cần thiết cho một người sử dụng ( User). Những
24 24
biế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
- Các thuộc tính (Property):
o 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ó được tạo ra.
o Timeout: Khoảng thời gian tồn tại của một phiên (Session), tính
bằng phút, mặc định 20 phút.
- Các phương thức ( Method):
o Abandom: Xoá bỏ một đối tượng phiên (Object Session), trả về tài
nguyên cho hệ thống .
o Session(“Login”): Cho biết người yêu cầu truy xuất đến trang có
login chưa. Session (“ Username ” ): Tên của người Account tạo ra