Thứ Năm, 27 tháng 2, 2014

Website quản lý Album âm nhạc

Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
Mô hình của Front Page Editor
Sinh viên thực hiện : Nguyễn Đăng Thành
5
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
CHƯƠNG II:ACTIVE SERVER PAGES VÀ NGÔN NGỮ LẬP TRÌNH
TRÊN ASP
1. GIỚI THIỆU VỀ ACTIVE SERVER PAGES :
1.1. Active sever pages là gì :
Microsoft Active Server Pages là một môi trường hỗ trợ cho các script
chạy trên server (Server-Side Scripting), cho phép ta dùng để tạo ra và chạy
các các ứng dụng Web server động. ASP hoạt động dựa vào các script do
người lập trình tạo ra. Active Server Pages chạy trên các môi trường sau
đây:
- Microsoft Internet Information Server version 3.0 trên Window NT
Server.
- Microsoft Peer Web Services version 3.0 trên Window NT
Workstation.
- Microsoft Personal Web Server trên Windows 95.
1.2. Mô hình hoạt động của Active Server Page :
Mô Hình Tổng Quát Hoạt Động Của Asp
1.3. Cách hoạt động của ASP :
Các script của ASP được chứa trong các text file cótên mở rộng là .asp .
Trong script có chứa các lệnh của một ngôn ngữ script nào đó.
Khi một Web browser gửi request tới một file .asp thì script chứa trong
file sẽ được chạy để trả kết quả về cho browser đó. Khi Web server nhận
được request tới một file .asp thì nó sẽ đọc từ đầu tới cuối file .asp đó, thực
hiện các lệnh script trong đó và trả kết quả về cho Web brower dưới dạng
của một trang Html.
Sinh viên thực hiện : Nguyễn Đăng Thành
6
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
.
Sinh viên thực hiện : Nguyễn Đăng Thành
7
VBScript
Interpretor
Custom
Components
Internet
Informat
ion
Server
ISAPI
Application
Perl Awk
etc CGI
Script
CGI
Application
Active Server Pages interface DLLs
Server Side
Inludes
(SSI)
Jscript
Interpreto
r
Active Database
Compenents(AD
O)
Active Server
Components
ODBC Driver
Active Server Pages (.asp files)
DATA
The Internet
Or Intranet
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
Mô Hình Chi Tiết Hoạt Động của ASP
1.4. Cấu trúc của một 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ư :
- Text
- HTML tags
- Script Commands
1.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à xử lý script trở nên đồng thời,
điều này cho phép ta tạo ra các hoạt động của Web site một cách linh hoạt
uyển chuyển , có thể chen các thành phần HTML động vào trang Web tùy
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 tạo, các script dễ viết, 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 build-in Object rất tiện
dụng : Request, Response, Server, Apllication, 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 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 có phần tên
Sinh viên thực hiện : Nguyễn Đăng Thành
8
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
mở rộng là.Asp, các file này được đặt trong một thư mục ảo( Virtual
Dirrectory) của Web Server.
Các ứng dụng ASP dễ tạo vì 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ỳ một ngôn ngữ script nào ,
chỉ cần có scripting engine tương ứng của ngôn ngữ đó mà thôi. ASP cung
cấp sẵn cho ta hai scripting 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ữu dụng, ta có thể dùng chúng để thực hiện các công việc phức tạp như truy
xuất cơ sở dữ liệu, truy xuất file, . . . Không những thế mà ta còn có thể tự
mình tạo ra các component của riêng mình và thêm vào để sử dụng trong
ASP.ASP tạo ra các trang HTML thương thích với các Web browser chuẩn.
2. NGÔN NGỮ LẬP TRÌNH SỬ DỤNG VỚI ASP:
2.1. Các Script Commands của ASP:
Mỗi script của ASP được chứa trong một file .asp . Mỗi file của ASP có
thể coi như một file HTML có chen vào các lệnh của một ngôn ngữ script
nào đó. Thực ra nó là một file text nhưng trong các 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 các 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 đó.
ASP qui định một vùng script nằm giữa hai dấu <% và %> hoặc trong
vùng của 2 Tag <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ập trình muốn ASP thực hiện và
nội dung người đó muốn tạo ra trên 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ư các chương
trình trong mọi ngôn ngữ lập trình khác như C, Pascal, Java . . ., chỉ có điểm
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, Unix, ); 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 text chạy thẳng trong môi trường của ASP.
Ví dụ minh họa:
<% Myname= " Chau Quoc Dat "
Sinh viên thực hiện : Nguyễn Đăng Thành
9
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
If Time >=#12:00:00AM # and Time<#12:00:00 PM# then %>
<Font face="VNI-Times" color="#FF0000"> Chào buổi sáng "&
Myname"
<%Else%>
Xin chào
<%End If%>
2.2. Script language và Script Engine:
Script của ASP được cấu thành từ các lệnh của một ngôn ngữ script
(scripting language) nào đó, xen lẫn vào đó là các nội dung dạng HTML, để
trả về kết quả cuối cùng ở dạng HTML.
Scripting 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 để
đị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 một 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 scripting language và các ngôn ngữ lập trình là ở
chỗ các luật và cú pháp của scripting language linh hoạt và dễ 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 scripting engine và phân phối các script
rong các file .asp cho các engine này để xử lý. Để sử dụng được một
scripting language cùng với ASP ta phải cài đặt scripting engine tương ứng
vào Web server. Ví dụ như Visual Basic Script (VBScript) là scripting
language mặc định của ASP , do đó ta phải có VBScript engine được cài sẵn
và ASP có thể truy xuất tới được, nhờ thế nó có thể xử lý được các script
viết bằng VBScript. Tương tự , ASP có thể cung cấp môi trường scripting
cho một số các scripting language như Jscript, REXX, Perl , . . .
ASP cho phép người lập trình dùng nhiều scripting language cùng lúc để
tạo các thủ tục phức tạp mà không cần phải bận tâm các browser có trợ giúp
các scripting language hay không. Vì tất cả các script đều được thực thi ở
server Không những thế ta có thể dùng nhiều scripting language trong cùng
một file .asp chỉ cần bằng cách một HTML tag để khai báo ngôn ngữ script
nào được dùng.
ASP mặc định sử dụng scripting language chính (Primary scripting
language) là VBScript. Tuy nhiên ta vẫn có thể định lại scripting language
Sinh viên thực hiện : Nguyễn Đăng Thành
10
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
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 scripting language chính cho toàn bộ môi trường ASP ta phải
thay đổi tên 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ể đổi lại là hay JScript , . . .
Để thay đổi scripting language chính chỉ trong một file .asp nào đó, ta chỉ
cần đặt ở đầu file một tag đặc biệt có dạng :
<%@ LANGUAGE = ScriptingLanguage %>
với ScriptingLanguage là tên scripting language muốn đặt làm scripting
language chính như VBScript, Jscript, . . .
2.3. Viết các procedure với nhiều 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 scripting language trong cùng 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 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 procedure để dùng nhiều lần trong các script.
Có thể định nghĩa các procedure bên trong các delimeter (dấu phân cách)
nếu như nó được viết bằng scripting language chính. Nếu không thì có thể
dùng trong các tag .
Ta có thể định nghĩa các procedure trong các file .asp có gọi đến nó hay
trong các file riêng chỉ chứa các procedure rồi include file đó vào khi cần gọi
procedure đó. Thường các file include trong ASP qui ước có đuôi là .inc .
3. VISUALBASIC SCRIPT LANGUAGE (VBSCRIPT)
3.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 như các script chạy trên Browser của client (Ms Internet Explorer
3.0) hay trên Web server (Ms Internet Information Server 3.0).
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 for Application. VBScript giao tiếp với các ứng dụng
chủ (host application) bằng cách sử dụng các ActiveX Scripting.
3.2. Các kiểu dữ liệu của VBScript :
VBScript chỉ có một loại dữ liệu được gọi là Variant. 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 tùy theo
cách sử dụng. Dĩ nhiên nó cũng là kiểu dữ liệu được trả về bởi tất cả các
hàm. ở đây đơn giản nhất một Variant có thể chứa thông tin số hoặc chuỗi
Sinh viên thực hiện : Nguyễn Đăng Thành
11
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
tùy theo văn cảnh 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 số hàm để chuyển từ subtype này sang subtype
khác.
3.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 tin
của chương trình mà thông tin này có thể được thay đổi trong thời gian
script chạy.Ví dụ: có thể đặt một biến tên là ClickCount để đếm số lần user
click vào một object trên một trang Web nào đó. Vị trí của biến trong bộ nhớ
không quan trọng, ta chỉ truy xuất đến 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) hay Private
(cho biến cục bộ).
Ví dụ:
Dim ClickCount
Tên Biến phải bắt đầu bằng một kí tự chữ, trong tên biến không chứa dấu
chấm, chiều dài tối đa là 255 kí tự và 1 biến là duy nhất trong tầm vực mà nó
được định nghĩa.
Tầm vực và thời gian sống của một biến: có 2 loại biến là procedure-level
và script-level tương ứng với 2 cấp tầm vực là local và script-level. Thời
gian sống của một biến script-level được tính từ khi nó được khai báo đến
khi script kết thúc, đối với biến local là từ khi nó được khai báo đến khi
procedure chứa nó kết thúc.
Biến trong VBScript có thể là biến đơn hay là dãy. Khi khai báo Dim
A(10) thì VBScript tạo ra một dãy có 11 phần tử (vì phần tử đầu có chỉ số là
0). Một biến dãy có thể mở rộng tối đa đến 60 chiều, nhưng thường dùng từ
2 đến 4 chiều. Có thể 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 MyArray(30) ‘giữ lại các giá trị trong dãy cũ.
3.4. Hằng trong VBScript:
Hằng là một tên có nghĩa đại diện cho 1 số hay 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 MyString = “This is my string “
3.5. Các toán tử trong VBScript:
Sinh viên thực hiện : Nguyễn Đăng Thành
12
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
VBScript có các toán tử khác nhau như số học, luận lý, só 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ừ trái
sang phải):
- Số học: ^ , -(âm) , * , / , mod , + , - , &, \ (chia lấynguyên)
- So sánh: = , <> , < , > , <= , >= , Is.
-Luận lý: 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 sang phải.
3.6. Các cấu trúc điều khiển:
If Then Else End IF
Do Loop
While Wend
For Next
3.7. Procedure trong VBScript:
Có 2 loại procedure 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 trê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( sẽ được giới thiệu trong phụ lục B).
4. NHỮNG VẤN ĐỀ LIÊN QUAN ĐẾN VIỆC XÂY DỰNG MỘT ỨNG
DỤNG TRÊN ASP:
Khi xây dựng một ứng dụng trên môi trường ASP để chương trình sinh
động ta cần lưu ý khi :
- Xây dựng file Global.asa.
- Viết mã VBScript.
- Thêm các Object có sẵn vào chương trình.
- Sử dụng các ActiveX Server Component.
- Lấy thông tin từ user, gởi thông tin đến user.
4.1. File Global.asa:
File Global là một file tùy chọn, trong đó bạn có thể khai báo các script
đáp ứng biến cố, các đối tượng có tầm vực mức application (ứng dụng) hay
session. Đây không phải là một file được nhìn thấy bởi các 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 được đặ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
Sinh viên thực hiện : Nguyễn Đăng Thành
13
Website quản lý Album âm nhạc GVHD:PGS-TS:
Nguyễn Văn Xuất
có thể chứa các thành phần sau: Application events, Session events, định
nghĩa các đối tượng.
Nếu bạn viết những script không được bao bởi tag <SCRIPT>, hoặc định
nghĩa các đối tượng không có tầm vực application hay session thì server sẽ
trả về lỗi. Server 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ởi bất cứ ngôn ngữ
nào có hổ trợ script. Nếu các đoạn script được viết bởi cùng một ngôn ngữ
thì có thể kết hợp chúng trong một tag <SCRIPT> duy nhất.
Khi bạn thay đổi file Global.asa và ghi lại nó thì server hoàn tất việc xử
lý những yêu cầu ứng dụng hiện thời trước khi nó biên dịch lại file
Global.asa, trong khoảng thời gian này server từ chối các yêu cầu khác và ra
thông báo: "The request cannot be processed while the application is being
restarted". Sau khi những request hiện tại được xử lý xong, server xóa bỏ tất
cả các session đang chạy, gọi biến cố Session_OnEnd tương ứng với mỗi
session mà nó xóa, tiếp theo gọi biến cố Application_OnEnd. File
Global.asa được biên dịch lại. Request của 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 Global.asa thì không
gây nên biến cố này, muốn khởi động lại ứng dụng phải lưu lại file
Global.asa.Những thủ tục định nghĩa trong Global.asa chỉ có thể gọi từ các
script trong các biến cố: Application_OnStart, Application_OnEnd,
Session_OnStart, Session_OnEnd. Các thủ tục này không thể gọi từ 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 lệnh Include để chèn
chúng vào trong trang ASP có gọi thủ tục đó. Những file include thường có
phần mở rộng là .inc.
Các ví dụ về file Global.asa trong phần này dùng VBScript như là ngôn
ngữ Script chính, mặc dù như đã nói các script có thể viết bằng nhiều ngôn
ngữ khác (ví dụ Jscript…).
4.2. Khai Báo Đối Tượng Và Các Biến Cố:
° Biến cố Application :
Application_OnStart: Xảy ra trước khi session đầu tiên được tạo,
nghĩa là trước biến cố Session_OnStart, khi có yêu cầu đầu tiên đến một
trang ASP của ứng dụng. Chỉ có các đối tượng Application hay 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:
Sinh viên thực hiện : Nguyễn Đăng Thành
14

Không có nhận xét nào:

Đăng nhận xét