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
- 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
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
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
CGI
Application
Giao diện DLL cho ASP
Server Side
Inludes (SSI)
Jscript
Interpretor
Active Database
Compenents(ADO)
Active Server
Components
ODBC Driver
Active Server Pages (.ASP files)
DATA
Mạng
Internet Or
Intranet
Mô hình chi tiết hoạt động của ASP
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:
lệnh của ngôn ngữ Script nào đó. Thực ra nó là một file văn bản (File Text)
nhưng các văn bản (Text) đó có những vùng mà khi Web Server đọc tới thì
nó hiểu đó là những vùng Script chưa những lệnh của một ngôn ngữ Script
nào đó, Web Server sẽ gọi tới các Script Engine để thực thi các lệnh Script
trong khi đó.
ASP quy định một vùng Script nằm giữa hai dấu <% và %> hoặc trong
vù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 đối
vớ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 Web
Browser 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ôn
ngữ lập trình khác như C, Pascal.., chỉ có điều khác là chương trình của
ngôn ngữ khác phải biên dịch ra dạng thực thi được và dùng dạng thực thi
được để chạy trên một môi trường cụ thể (DOS, Windows,..); Còn Script 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
%>
<font face = “.vntime” color = “#ff0000” > chao buoi sang “ &
myname”
<% else %>
xin chao
<% end if %>
2.Ngôn ngữ Script (Script luanguage) và Script Engine:
ngô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 Script
Language. Ví dụ như trị mặc định là VBscript, ta có thể thay đổi lại hay
Jscript,..
Để thay đổi ngôn ngữ script (Script Language) chính chỉ trong một
file .ASP nào đó, ta chỉ cần đặt ở đầu File một thẻ ( 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 (Scripting
Language) 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ế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
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
III. Visualbasic Script Language (VBscript)
chấ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áo
Dim(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 4
chiều. Có thay đổi kích thước môt dãy trong thời gian chạy bằng cách dùng
phá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ũ.
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
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.
(User), trái lại nó chứa những thông tin được sử dụng bởi ứng dụng một
cách toàn cục. File này phải đặt tên là Global.asa và được đặt trong thư mục
gốc của ứng dụng. Mỗi ứng dụng chỉ có một file Global.asa duy nhất. Một
file Global.asa có thể chứa các thành phần sau: Application Event, Session
Event, định nghĩa các đối tượng.
Nếu bạn viết các Script không được bao bởi thẻ (Tag) <Script>, hoặc
định nghĩa các đối tượng không có tầm hoạt động Application hay Session
thì máy chủ (Server) sẽ trả về lỗi. 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à Session
không thể xử lý như trong một File HTML thông thường.
Những Script trong File Global.asa có thể được viết bằng bất cứ ngôn
ngữ 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ịch
lại file Global.asa, trong khoảng thời gian này máy chủ (Server) từ chối và ra
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
</Script >
Tham số Script language chỉ định ngôn ngữ Script dùng để viết Script.
Thường sử dụng biến cố này để xoá, cập nhật lại các thông tin của hệ thố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ể tham
khảo tất cả các đối tượng được cài đặt (Build - In) trong biến cố này
Cú pháp:
<Script language = Scriptlanguage Ranat = Server>
Sub Session_Onstart
…
End Sub
</Script>
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
activeX mirosoft.com.control”>
</OBJECT>
21
V. 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ệc
lặp đi lặp lại nhiều lần, từ đó xuất hiện những nhu cầu tạo ra những đối
tượng có khả năng thực hiện những công việc cơ bản đó. Mỗi đối tượng là
một kết hợp giữa lập trình và dữ liệu mà có thể xử lý thống nhất.
Đối với phần lớn các đối tượng, để sử dụng được nó ta phải tạo ra các
Instance cho nó. Tuy nhiên ASP có sẵn năm đối tượng mà ta có thể dùng
được mà không phải tạo Instance. Chúng đượ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
Web 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
(Cached) trên một tình duyệt (Browser) hết hạn.
23
- 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ông
thể thay đổi một phần đầu (Header) đã tồn tại có cùng tên. Một khi đã thêm
một phần đầu (Header), không thể thu hồi nó. Cần phải sử dụng trước khi
gửi bất cứ trang nội dung nào (Text hay HTML) đến máy khách (Client).
- AppendToLog (“ String ”): Thêm một chuỗi vào cuối Log File của
Web 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ươ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
biến được lưu trữ trong đối tượng (Object) vẫn tồn tại khi người sử dụng