1. Trang chủ
  2. » Công Nghệ Thông Tin

Căn bản về ASP pdf

24 349 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 238,5 KB

Nội dung

Trong nhu cầu thường ngày, ta cần phải tra cứu một số thông tin theo nhucầu riêng của mình như điểm thi tuyển sinh, danh bạ điện thoại trực tuyến v.v..., đểgiải quyết vấn đề này cần phải

Trang 1

Chương 7

CĂN BẢN VỀ ASP

I GIỚI THIỆU VỀ ASP

I.1 Trang web động

Ngôn ngữ HTML là ngôn ngữ chủ yếu để xây dựng các trang web, ngoài ra

ta còn sử dụng các ngôn ngữ kịch bản để tạo nên các trang web tương tác, có thểtrao đổi dữ liệu giữa client và server; nhưng những trang web này là tĩnh (static), đãđược xây dựng và lưu trữ trên web server

Trong nhu cầu thường ngày, ta cần phải tra cứu một số thông tin theo nhucầu riêng của mình như điểm thi tuyển sinh, danh bạ điện thoại trực tuyến v.v , đểgiải quyết vấn đề này cần phải xây dựng các trang web có thông tin chọn lọc theo

yêu cầu của client, những trang web này được gọi là các trang web động (active

web page), cách khác: các trang web động không tồn taị sẵn mà chỉ được tạo ratheo yêu cầu của client

Hiện nay có nhiều môi trường để tạo ra các trang web động: CGI, ASP, JSP,PHP, ColdFusion, Perl v.v

I.2 Giới thiệu về ASP

ASP do Microsoft xây dựng, là môi trường lập trình ứng dụng phía server,

hỗ trợ cho việc xây dựng các ứng dụng web ASP không phải phải là một công nghệđộc lập, nó cho phép liên kết nhiều ứng dụng web gồm các thành phần HTML,VBScript, SQL, ADO (ActiveX Data Objects) và COM (Component Object Model)

ASP được hỗ trợ mặc định khi cài đặt IIS(Internet Information Server), trongmôi trường hệ điều hành khác cần thiết phải cài đặt thư viện hỗ trợ ASP như SunChili!Soft

Những ưu điểm và nhược điểm của ASP:

Ưu điểm : Sử dụng ADO để thao tác trên cơ sở dữ liệu thuận lợi, có nhiều đối tượng dựng sẵn hỗ trợ việc lập trình dễ dàng, nhanh chóng Đặt biệt, ASP có

tính mở, nó cho phép người lập trình dùng một ngôn ngữ lập trình khác để xây dựng

các component để xử dụng trong môi trường ASP

Nhược điểm : Tốc độ thực hiện chậm hơn công nghệ Java Servlet của Sun,

tính bảo mật thấp vì các mã ASP đều có thể đọc được nếu người dùng có quyền truycập vào web server

I.2.2 Trang ASP

Trang ASP là một text file có phần mở rộng là asp, có cấu trúc như một tệp

tư liệu HTML, trong trang ASP còn các thẻ khác để nhúng các mã kịch bản để làmviệc với dữ liệu như một ngôn ngữ lập trình thật sự Khi webserver nhận được yêu

Trang 2

cầu từ client về một trang asp, nó sẽ yêu cầu trình xử lý trang asp (ASP engine) đểtạo ra một tư liệu HTML gởi về cho client.

Ngôn ngữ kịch bản mặc nhiên trong môi trường ASP là VBScript, ngoài ra

có thể sử dụng các ngôn ngữ khác như Perl, Python, Jscript nếu webserver có càiđặt bộ xử lý ngôn ngữ này Một trang ASP thông thường gồm có các thành phần :

Khai báo ngôn ngữ kịch bản được sử dụng :

<%@ language= ngôn_ngữ%>

Các thẻ HTML

Các script cho phía client được đặt trong cặp thẻ <Script> và </Script>

Mã chương trình được đặt trong cặp thẻ <% và %>

Với cấu trúc như vậy, ta có thể xem trang asp là một tư liệu HTML đượcnhúng phần xử lý viết bằng mã ASP

I.2.3 IIS (Internet Information Server)

IIS là thành phần hạt nhân của web server, nó có nhiệm vụ nhận yêu cầu củaclient, xử lý và chuyển các trả lời đến client thông qua giao thức HTTP Ngoài ra nócũng cung cấp các giao diện lập trình Internet, dịch vụ như FTP

Mô hình ứng dụng web thể hiện qua công nghệ ASP được minh họa như sau:

Client Server

Request: Page ASP

Response : page HTML

Để thử nghiệm các trang ASP, cần thiết phải cài đặt trình chủ IIS

Browser Web Server

ASP

Trang 3

 Cài đặt trình chủ IIS: Control Panel – Add/Remove Program –

Add/Remove Windows Component – Chọn Iternet Information Services

 Thiết lập thư mục ảo cho ứng dụng : thiết lập một ánh xạ từ thư mục ảo

đến một thư mục vật lý trên đĩa cứng

Mở IIS – Default Web Site – New – Virtual Directory

 Thiết lập DSN trong ODBC (Open DataBase Connectivity): để tạo kết nối

cơ sở dữ liệu cho trang ASP thông qua Database System Name với driverphù hợp với Database

II TỔNG QUAN VỀ VBSCRIPT

VBScript là ngôn ngữ kịch bản chính để lập trình ứng dụng web phía serverkhi sử dụng công nghệ ASP Các định danh trong VBScript không phân biệt chữhoa hay chữ thường

II.2 Khai báo hằng, biến, mảng

• Biến trong VBScript không cần xác định kiểu, các biến không cấu trúcđược xem là biến vô hướng, có thể chứa và tự chuyển đổi hầu hết các kiểu dữ liệu.Khai báo biến bằng từ khóa Dim Ví dụ:

Trang 4

• Để khai báo mãng động (có thể thay đổi kích thước) : Dim A() Sau đó ta

có thể thay đổi kích thức qua lệnh REDIM Ví dụ : ReDim A(6)

• Nếu muốn áp đặt phải khai báo biến trước khi sử dụng (và đây là điều cầnthiết) ta khai báo trước thẻ <HTML> dòng lệnh <%Option Explicit%>

• Để hiển thị giá trị một biểu thức trên trang web ta dùng một trong haiphương pháp :

Sử dụng phương thức Write của Object Response: Response Write(bthức)

Sử dụng cách viết tắt của Response Write(bthức) : <% =bthức %>

II.3 Các toán tử

• Các toán tử số học : +, -, *, / , mod, \ (chia lấy phần nguyên), ^ (lũy thừa)

• Các toán tử so sánh : =, >, <, <=, >= và <>

• Các toán tử logic : NOT, AND, OR, XOR

• Các toán tử cộng chuổi : + hoặc &

II.4 Các cấu trúc điều khiển

II.4.1 Các lệnh điều khiển rẽ nhánh

• if then và if then else

Response Write(“Trước đây”)

‘Now là hàm trả về ngày hiện tại của hệ thống

Response.Write(Cstr(so) & ” là một số lẻ”)End Select

%>

II.4.2 Các lệnh lặp

VBScript cung cấp 4 dạng câu lệnh lặp mà chúng ta đã nghiên cứu trong VB:

Trang 5

• For Next : lặp với số lần xác định

• For Each Next : lặp với các phần tử trong một tập hợp

• Do Loop : lặp trong khi điều kiện kiểm tra của Loop còn đúng Câu lệnh này có 2 biến thể: Do While và Do Until

II.5 Hàm và Thủ tục

II.4.1 Hàm

Khai báo một hàm : Function End Function

Hàm trả về một giá trị thông qua tên gọi hàm nên có thể tham gia trong mộtbiểu thức như một toán hạng

VBScript có một số hàm dựng sẵn (cách sử dụng tương tự như trong VB):

Các hàm toán học : ATN, COS, SIN, TAN, EXP, LOG, SQR, RND, INT

• Các hàm thao tác trên chuổi :

INSTR : trả về vị trí bắt đầu của một chuổi con subStr trong một chuổi khácStr Cú pháp InStr(subStr, Str)

LEN : trả về số ký tự của một chuổi

LCASE : chuyển một chuổi viết thường sang viết hoa, tương tự cho UCASELTRIM : trả về một chuổi đã loại bỏ các ký tự trống phía bên trái Tương tự,

ta có các hàm RTRIM, TRIM

STRING : trả về một chuổi gồm một số ký tự giống nhau Ví dụ :

String(5,”b”) cho lại chuổi “bbbbb”

LEFT : trả về một chuổi con trong một chuổi Str bắt đầu từ vị trí đầu tiên bêntrái cho đến ký tự thứ num Cú pháp: LEFT(Str, num) Tương tự ta có hàm RIGHT

MID : trả về một chuổi con gồm num ký tự trong một chuổi Str bắt đầu từ vịtrí posCú pháp: MID(Str, pos, num)

YEAR, MONTH, DAY, HOUR, MINUTE, SECOND

DATEDIFF : trả về số ngày tồn tại giữa hai ngày

DATEADD : cộng thêm số ngàytrả về số ngày mới

• Các hàm chuyển đổi kiểu dữ liệu

ABS : trả về giá trị tuyệt đối của một số

ASC : trả về mã ASCII của một ký tự

ASCW : trả về mã Unicode của một ký tự

CHR : trả về ký tự có mã theo AINSI

CDATE : trả về giá trị của đối số theo variant có kiểu là Date

ROUND : làm tròn số

Các hàm kiểm tra

ISARRAY : kiểm tra một biểu thức có phải là một mảng hay không

ISDATE : kiểm tra một biểu thức có phải kiểu Date hay không

ISEMPTY : kiểm tra một biến đã được khởi tạo chưa

ISNULL : kiểm tra một biểu thức có phải là NULL không

Trang 6

ISNUMERIC : kiểm tra một biểu thức có phải là số không

II.4.2 Thủ tục

Khai báo một thủ tục : Sub End Sub

Gọi một thủ tục : call tên_thủ_tục

Ví dụ : xây dựng hàm chuyển đổi độ C sang độ F

<%

Function Celsius(fDegrees)

Celsius = (fDegrees-32)*5/9

‘ gán giá trị cho hàmEnd Function

‘ thủ tục in ra cửa sổ trang web kết quả chuyển đổi

II.6 Các đối tượng của VBScript

Đối tượng (Object) là tập hợp các thuộc tính, phương thức Trong VBScript

có những đối tượng được xây dựng sẵn để mở rộng khả năng của ngôn ngữ, hỗ trợ việc xây dựng các kịch bản mạnh hơn

II.6.1 Đối tượng ERR

Đối tượng ERR chứa các thuộc tính mang thông tin về lỗi của VBScript vàcác phương thức xử lý lỗi Khi chương trình phát sinh lỗi, cần nắm bắt và xử lý cáclỗi phát sinh bằng cách khai báo dòng lệnh <% On Error Resume Next %> vào đầutrang ASP hay đầu của hàm, thủ tục của người viết script tạo ra

- Thuộc tính

• Number, Description : cung cấp mã lỗi và mô tả lỗi

• HelpFile : tên đường dẫn tệp tin trợ giúp

• Source : nơi xuất hiện lỗi

- Phương thức:

• Clear : xoá các thông tin trong đối tượng ERR

• Raise : tự tạo mã lỗi, khi sử dụng phương thức này người viết script phảicung cấp đầy đủ các thông tin cho các thuộc tính của đối tượng ERR

II.6.2 Đối tượng kịch bản DICTIONARY

Đối tượng Dictionary cung cấp phương thức lưu trữ và truy xuất thông tinthuận lợi, tương tự như mãng Muốn sử dụng đối tượng Dictionary cần phải tạo mộtthể hiện (instance) của đối tượng này qua lệnh :

CreateObject(“Scripting.Dictionary”)

Trang 7

Để thiết lập chỉ mục và giá trị cho một mục thông tin ta sử dụng phương thức

Add với hai tham số : chỉ mục, nội dung hoặc gán nội dung trực tiếp cho từng phần

tử của thể hiện

- Thuộc tính :

• Count : lưu trữ số phần tử trong thể hiện

- Phương thức :

• Add : thêm một chỉ mục và nội dung của một phần tử trong thể hiện

• Remove : loại bỏ một phần tử trong thể hiện

• RemoveAll : loại bỏ tất cả các phần tử trong thể hiện

• Items : trả về mảng lưu trữ các Item của thể hiện

• Keys : trả về mảng lưu trữ các chỉ mục của thể hiện

Ví dụ : tạo một thể hiện của đối tượng Dictionary để lưu trữ số điện thoại và

tên chủ thuê bao

<%

Dim DanhBa, ListOfCustomer, num

Set DanhBa = CreateObject(“Scripting.Dictionary”)

DanhBa.Add “841323”,” Trường Đại học Sư phạm”

DanhBa(“842308”) = “Trường Đại học Bách khoa”

‘ Truy xuất thông tin

Response.Write(DanhBa.Item(“841323”))

‘ In ra dòng Trường Đại học Sư phạm

‘ Ta dùng mảng Keys và thuộc tính Count để duyệt các phần tử của thể hiện

ListOfCustomer = DanhBa.Items

num = DanhBa.Count - 1

For i = 0 to num Response.Write(ListOfCustomer[i]&”<BR>”)

%>

II.6.2 Đối tượng FileSystemObject

Đối tượng FileSystemObject cho phép làm việc với tệp tin và thư mục trênwebserver Muốn sử dụng đối tượng FileSystemObject phải tạo một thể hiện củađối tượng này với cú pháp : CreateObject(“Scripting.FileSystemObject”)

- Một số phương thức :

CopyFile : sao chép tệp tin Sử dụng như hệ điều hành DOS

Ví dụ ta có FS là một thể hiện của FileSystemObject:

FS.CopyFile “C:\*.*” C:\backup”

MoveFile, CopyFolder, CreateFolder, DeleteFile, DeleteFolder

DriverExists, FolderExists, FileExists : kiểm tra sự tồn tại của một ổ đĩa ,

GetDrive, GetFolder, GetFile : lấy tên ổ đĩa, thư mục, tệp tin chỉ định

- Các đối tượng và tập hợp của thể hiện đối tượng FileSystemObject

• Đối tượng File :

Trang 8

Các thuộc tính : Name DateCreated, DateLastAccessed,

DateLastModified, Size, Drive (ổ đĩa chứa tệp tin), ParentFolder

Các phương thức : Copy, Delete và Move

• Đối tượng Folder : có các thuộc tính và phương thức như đối tượng File,ngoài ra còn có các thuộc tính SubFolder (tập các thư mục con) và IsRoot (có phải

là thư mục gốc hay không)

• Đối tượng Drive và tập hợp Drives (tập hợp các ổ đĩa của webserver)Thông qua tập hợp Drives ta có thể truy xuất đến các đối tượng Drive Đốitượng Drive có các thuộc tính :

- DriveLetter : Tên ổ đĩa

- VolumeName : Label của ổ đĩa

- FreeSpace : Dung lượng còn trống của ổ đĩa (tính theo byte)

- TotalSize : Dung lượng của ổ đĩa (tính theo byte)

- IsReady : đĩa đã sẵn sàng truy cập chưa

- DriveType : kiểu ổ đĩa (1: Removable, 2: HardDisk, 3: Network Drive, 4:

CD, 5: Ram Drive)

- FileSystem: loại bảng FAT đang sử dụng

- RootFolder : trả về thư mục gốc

Ví dụ : Viết script để hiển thị thông tin về các ổ dĩa của webserver và các tệp

tin, thư mục con của thư mục C:\

Else Response.Write(“Drive isn’t ready “+”<br>”)

End IfNext

‘ Thông tin về các thư mục con và tệp tin của C:\

Dim Fo, RootDir, RootFiles

‘ Fo : FileObject

Set Drv = Fs.GetDrive(“C:”)

Set RootDir = Drv.RootFolder

Set RootFiles = RootDir.Files

For Each Fo in RootFiles

Response.Write(Fo.Name&”<br>”)Next

Set Fs = Nothing

‘ Giải phóng biến Fs khỏi bộ nhớ

%>

Trang 9

Ngoài đối tượng FileSystemObject, VBScript còn có đối tượng TextStream

cho phép ta tạo ra một tệp tin hay thêm dữ liệu vào một tệp tin đã tồn tại

III CÁC ĐỐI TƯỢNG CỦA ASP

Một đối tượng của ASP là một tập gồm : thuộc tính, phương thức, tập hợp (collection) và sự kiện có thể tác động lên đối tượng

ASP cung cấp 7 đối tượng dựng sẵn cho lập trình ứng dụng web phía server:

Application, ASPError, ObjectContext, Request, Response, Server và Session

Ngoài ra, ASP còn cung cấp các component dựng sẵn cho các ứng dụng.(Component là các thành phần các đoạn mã có thể sử dụng lại, cáccomponent thường được viết bằng một ngôn ngữ lập trình nào đó như VB, C, Java,v.v )

III.1 Đối tượng Application

Đối tượng Application lưu trữ toàn bộ các biến, các đối tượng của toàn bộứng dụng, mỗi ứng dung chạy trên server chỉ có duy nhất một thể hiện của đốitượng Application, mọi trang ASP của ứng dụng có thể truy xuất các biến, đốitượng được lưu trữ trên đối tượng này Nói cách khác, đối tượng Application dùng

để chia sẻ dữ liệu cho mọi client

- Để khởi tạo một biến và thêm vào đối tượng Application ta có cú pháp :

Application(“tên_biến”) = giá_trị

- Để khởi tạo một đối tượng và thêm vào đối tượng Application ta có cú pháp

Application(“tên_đối_tượng”) =Server.CreateObject(“ADOBB.Connection”)

- Các tập hợp của đối tượng Application :

• Tập hợp Contents : là tập hợp các đề mục được tạo ra và thêm vào đốitượng Application trong phiên làm việc của client thông qua các câu lệnh script như

Server.CreateObject mà không sử dụng thẻ <OBJECT> của HTML

Cú pháp : Application.Contents(key)

Với Key là tên của thuộc tính (biến, đối tượng) cần nhận về

Ví dụ :

<%

‘ Khởi tạo các biến, đối tượng

Application(“name”) = “Thiết kế & Lập trình Web”

Trang 10

If IsObject(Application.Contents(Item)) then

Response.Write(Item & “ is a Object <br>”) Else

Response.Write(Item & “=” & Application.Contents(item) & “<br>” End If

Global.asa -<Object RunAt = Server Scope = Application ID = MyInfo

PROGID = ”MSWC.MyInfo” </Object>

<Object RunAt = Server Scope = Application ID = MyConnection

PROGID = ”ADODB.Connection” </Object>

<Object RunAt = Server Scope = Application ID = MyADRot

PROGID = ”MSWC.ADRotator” </Object>

- Các phương thức của đối tượng Contents

• Remove : Xoá bỏ một đề mục trong tập hợp Contents

Ví dụ : Application.Remove(1)

‘ Xoá bỏ Item “name”

Application.Remove(“author”)

• RemoveAll : Xoá bỏ mọi đề mục trong tập hợp Contents

- Các phương thức của đối tượng Application :

• Lock : Khoá toàn bộ ứng dụng, ngăn chặn các client khác thay đổi giá trịcủa biến dùng chung trong đối tượng Application Nếu phương thức UnLock khôngđược gọi thì server tự động thực hiện lệnh này sau khi sử lý xong các script haytime out

• UnLock : Cho phép client thay đổi giá trị của các biến trong đối tượngApplication đã bị Lock trước kia

Trang 11

• Applìcation_OnStart : xảy ra khi bắt đầu ứng dụng web.

• Applìcation_OnEnd : xảy ra khi kết thúc ứng dụng web

Ví dụ : ta có tệp tin Global.asa như sau:

<Script Language = “VBScript” RunAt = Server>

Application(“NumSession”)=0Application(“NumVisited”)=0End Sub

Calculate_Stats()End Sub

Application(“NumSession”) = Application(“NumSession”) + 1Application(“NumVisited”) = Application(“NumVisited”) + 1' Set objCon=Server.CreateObject("ADODB.Connection")

' Câu lệnh trên có thể đưa vào Application_OnStart()

End Sub

Application(“NumSession”) = Application(“NumSession”) - 1End Sub

</Script>

File.asp

-<%

Response.Write “You are “ & Application(“NumSession”) & “ of “ &

& Application(“NumVisited”) & “ users”

%>

III.2 Đối tượng AspError

Đối tượng AspError chỉ chứa các thuộc tính chỉ đọc, mô tả chi tiết các lỗitrong quá trình sử dụng các đối tượng của ASP

- ASPCode : trả về mã lỗi được phát sinh do IIS

- ASPDescription : trả về một chuổi mô tả chi tiết về lỗi

- Category : trả về một chuổi mô tả chi tiết về lỗi được phát sinh từ IIS doquá trình sử dụng một đối tượng hay script không đúng

Trang 12

- Column : Trả về một số nguyên chỉ vị trí xảy ra lỗi trong tệp tin ASP

- File : Trả về tên tệp ASP bị xuất hiện lỗi

III.3 Đối tượng ObjectContext

Đối tượng ObjectContext chỉ chứa các phương thức dùng để điều khiển cácgiao tác (transaction) của ASP mà các giao tác này được quản lý bởi trình MTS(Microsoft Transaction Server ) Muốn sử dụng đối tượng này phải khai báo dònglệnh ở dòng đầu tiên của trang ASP như sau

Các sự kiện :

- OnTransactionAbort : xảy ra khi giao tác bị huỷ bỏ

- OnTransactionCommit : xảy ra khi giao tác được hoàn thành

Đối tượng này chủ yếu sử dụng khi có sự tương tranh cơ sở dữ liệu bởi nhiều

client Chúng ta sẽ minh hoạ về đối tượng này trong chương 9,Kết nối cơ sở dữ liệu.

III.4 Đối tượng Response

Đối tượng Response dùng để gởi tất cả các thông tin vừa được server xử lýtrả về cho client Chúng ta có thể xử dụng đối tượng này để giao tiếp với người sửdụng

- Các thuộc tính :

 Buffer : giá trị mặc định là false, nếu thuộc tính này là true thì web serverchỉ trả kết quả cho client khi tất cả các script được xử lý hoặc phương thức Flush

hay End được gọi

Cú pháp: Response.Buffer = False | True

Ngày đăng: 03/07/2014, 04:21

TỪ KHÓA LIÊN QUAN

w