Script cho ASP

Một phần của tài liệu Viết chương trình từ điển bằng VB (Trang 70 - 76)

II – Active Server Pages(ASP ) 1 Giới thiệu Active Server Pages(ASP)

3Script cho ASP

a - Một file ASP là gì ?

Một file ASP có tên mở rộng là. asp và là một file text như những file HTML khác. Một file. asp có thể chứa bất cứ sự kết hợp sau đây :

• Text.

• HTML tag.

• Các lệnh script, một lệnh script chỉ dẫn máy của chúng làm một việc gì đó, ví dụ như việc gán trị cho biến

b - Một script là một chuỗi các lệnh script. Một script có thể là : • Gán trị cho biến.

• Chỉ dẫn web server gởi vài thứ gì đó, ví dụ giá trị của biến, cho browser.

• Kết hợp các lệnh script thành thủ tục. c- Cú pháp của ASP.

ASP không phải là ngôn ngữ script mà nó cung cấp một môi trường để xử lý script trên một trang HTML.

Dấu phân cách :

ASP sử dụng dấu “<%” và “%>” để phân cách cácm đoạn script với text trong file. asp. Có nghĩa là các đoạn script phải được đặt trong hai dấu nháy trên. Ví dụ: <% sport=”climbing”%> sẽ gán chuỗi “climbing “ cho biến sport.

Kết hợp các HTML trong các phát biểu :

Chúng ta có thể chen HTML text giữa các phát biểu của script. Ví dụ đoạn script sau trộn giữa HTML và phát biểu if …then…Else của VBScript :

< FONT COLOR =”GREEN”>

<% IF TIME > = #12: 00: 00 AM # AND TIME < #12: 00: 00 PM # THEN %> GOOD MORNING ! <% ELSE IF%> HELLO ! <% END IF %> </FONT> 4 - Sử dụng ngôn ngữ script.

Ngôn ngữ script là một bước trung gian giữa HTML và ngôn ngữ lập trình như java, C++, Visual Basic. HTML được sử dụng để định dạng và liên kết văn bản text. Ngôn ngữ lập trình được sử dụng để tạo những cấu trúc lệnh phức tạp cho máy tính. Ngôn ngữ script nằm khoảng giữa này mặc dù các hàm của ngôn ngữ script giống với ngôn ngữ lập trình hơn là tài liệu HTML. Sự khác nhau cơ bản của ngôn ngữ script và ngôn ngữ lập trình là về mặt cú pháp và ngữ nghĩa, ngôn ngữ script kém phức tạp hơn.

Các động cơ để xử lý Script là COM (Component Object Model ) obect. ASP cung cấp một môi trường chủ cho máy script và phân phối script bên trong file. asp cho các máy này để xử lý. Với những ngôn ngữ script được sử dụng cho ASP, máy script cho ngôn ngữ script này phải được cài đặt trên Web server. Ví dụ: VBScript là ngôn ngữ script mặc định cho Active Server Pages, vì vậy máy script cho VBScript được cài đặt thường trú trên server. Bên cạnh đó, ASP cũng cung cấp môi trường script cho một số ngôn ngữ script khác như Jscript, REXX, Perl ..

Viết các thủ tục bằng nhiều ngôn ngữ.

Một đặc tính độc đáo của Active Server Pages là nó cho phép kết hợp nhiều ngôn ngữ script bên trong một file. asp. Với đặc tính này chúng ta có thể sử dụng ngôn ngữ script dựa trên thế mạnh của ngôn ngữ script đó.

Tạo các thủ tục :

Chúng ta có thể định nghĩa các thủ tục và gọi chúng trong script của chúng ta. Sự định nghĩa thủ tục được thực hiện bằng tag <SCRIPT> và </SCRIPT>.

Chúng ta có thể đặt các thủ tục này trong cùng một file. asp để gọi chúng hoặc chúng ta có thể đặt các thủ tục thường được sử dụng trong một file. asp và include nó vào các trang. asp khác. hoặc gộp các chức năng vào trong một ActiveX Server component.

Gọi thủ tục

Với VBScript, chúng ta có thể dùng hay không dùng từ khóa call để gọi thủ tục. Nếu dùng từ call, các thông số của thủ tục phải được đặt trong cặp dấu ngoặc đơn. Nếu chúng ta bỏ từ khóa call thì không cần cặp dấu ngoặc đơn. Nếu chúng ta dùng từ khóa này để gọi một hàm thì giá trị trả về bị bỏ qua. Nếu chúng ta gọi thủ tục của Jscript từ VBScript, chúng ta không thể bỏ cặp ngoặc đơn.

2 -Các Buil-In Object của 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 được chọn. Khi đó thường xuyên 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 nhu cầu tạo ra các đố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ý như một đơn vị thống nhất.

Đối với phần lớn các đối tượng, để sử dụng được nó 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 cần phải tạo các instance. Chúng được gọi là các buil-in object, bao gồm :

• Request: Chứa các thông tin về phía Web browser tạo ra request tới script hiện hành của ASP.

• Response: đại diện cho phần thông tin do Server trả trong Response để trả về cho Web browser tạo ra request tới script hiện hành.

• Server : Là môi trường máy 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 du5nf Web của ASP, chứa script hiện hành. (adsbygoogle = window.adsbygoogle || []).push({});

• Secsion: Thể hiện của một mối liên hệ giữa ứng dụng ASP và một Web browser nào đó có request tới ứng dụng chứa script hiện

hành. Script hiện hành là file. asp nơi chứa tham khảo tới các build- in object trên.

Cú pháp của các đối tượng:

• Cú pháp của các đối tượng tùy thao cú pháp của script language được dùng.

• Đối tượng request và Response có chứa các Collection. Một Collection là tập hợp các thông tin có liên với nhau được truy xuất theo cùng một cách thức. Đối với collection ta có thể dùng câu lệnh For.. Each để truy xuất tới file thông tin bên trong một collection. Phát biểu này hữa ích khi debug các script.

• Để truy xuất thông tin của một đối tượng ta dùng các phương thức (method) và các thuộc tính (property).

• Sử dụng các method: Một method là một procedure hoạt động trên một đối tượng nào đó. Cú pháp tổng quát của method là:

Object. method parameters Parameter là thông số của method.

• Sử dụng các property :

Một property là một tính chất được đặt tên của một đối tượng. Chúng định nghĩa các tính chất của đối tượng như kích thước, màu, vị trí trên màn hình, hay thể hiện các trạng thái của đối tượng như được phép (enable) hay không được phép (disable). Cú pháp tổng quát của property :

Object. property parameters

Parameter: Các thông số của property.

Application object

Chúng ta có thể sử dụng Application object để chia sẻ thông tin giữa các user của một ứng dụng nào đó. Một ứng dụng ASP được định nghĩa là tất cả các file. asp trong một thư mục ảo và các thư mục con của nó. Bởi vì Application object có thể được chia xẻ bởi nhiều user, hai method Lock và Unlock để đảm bảo rằng nhiều user không thể thay đổi một property đồng thời.

Methods : Lock :

Ngăn chặn các user khác bổ sung property của Application object. Method này sẽ khóa các client khác không cho thay đổi các biến được lưu trữ trong Application object, đảm bảo tại một thời điểm chỉ có một user được phép thay đổi và truy xuất các biến của object này. Nếu chúng ta không gọi Unlock method, server sẽ tự động unlock khi script kết thúc hay time out.

Unlock: Cho phép các user khác bổ sung các biến Application object.

Events:

event .

Application OnStart: Xảy ra trước khi một session mới được tạo ra. Session event:

Web server tự động tạo ra một session mới khi một trang web trong application được mở ra bởi một user chưa có session. Server sẽ hủy bỏ session khi nó bị time out hay Abandon method được gọi.

Session có hai event :

Session_OnStar: Xảy ra trước khi Server tạo ra một session mới.

Session _OnEnd : Xảy ra khi một session bị abandon hoặc time out.

* Request object.

Request object lấy các giá trị mà client browser gởi lên server thông qua một HTML request. Cú pháp được dùng như sau :

Request[. collection](variable)

Request object có các collection sau:

ClientCertificate: Nhận ClientCertificate fields từ request của Web browser. Nếu Web browser sử dụng SSL3. 0/PCT1 (sử dụng “https: //” để connect với server, browser sẽ gởi certification fields.

Cookies : Cho phép nhận những giá trị của cookies trong một HTML request. (adsbygoogle = window.adsbygoogle || []).push({});

Form : Nhận các giá trị của các phần tử trên form sử dụng POST method.

QueryString: Nhận giá trị của các biến môi trường.

* Response object

Chúng ta có thể sử dụng response object để gởi giá trị cần xuất cho client browser. Cú pháp được dùng như sau :

Response. collection [property]method

Response object có một collection là Cookies. Cookies collection set giá trị của một cookies. Nếu cookies được chỉ ra không tồn tại, nó sẽ được tạo ra. Nếu nó tồn tại nó sẽ nhận giá trị mới.

Response object có các property sau:

Buffer : Buffer property chỉ ra trang web output cũ được giữ lại đệm hay không. Khi một trang được đệm lại, server sẽ không gởi một đáp ứng nào cho browser client cho đến khi tất cả các script trên trang hiện tại đã được thực thi xong hay Flush hay End method được gọi (sau khi server xử lý xong tất cả các script rồi mới gởi tới client browser).

Chú ý: Muốn thiết lập buffer ta phải để nó trên các script và trang HTML.

ContentType : ContentType property chỉ ra HTML content type cho response. Nếu không có ContentType nào được chỉ ra

, trị mặc nhiên là "text/HTML".

Expires : Expires property chỉ định số thời gian trước khi một trang được cached trên một browser hết hạn. Nếu user trả về cùng một trang trước lúc hết hạn, bản được cache

hiển thị.

ExpiresAbsolute : ExpiresAbsolute property chỉ ra ngày và thời gian được cache trên browser hết hạn. Nếu user trả về cùng một trang trước lúc hết hạn, bản được cache sẽ được hiển thị.

Status : Status property chỉ ra giá trị của dòng trạng thái được server trả về. Giá trị trạng thái được định nghĩa trong

đặc tả HTTP.

CacheControl : Dùng để cached ASP trên proxy server. Response object có các method sau:

Addheader : AddHeader method thêm một HTML header với một giá trị được chỉ định. Method này luôn thêm một HTML header mới vào cho response. Nó sẽ không thay thế những header có sẵn có cùng tên với header mới.

AppendTolog : AppendTolog method thêm một string vào cuối của web server log entry cho request.

BinaryWrite : BinaryWrite method write những thông tin chỉ ra cho HTML output mà không chuyển đổi bất kỳ kí tự nào. Method này rất hữu ích khi việc write những thông tin không phải là chuỗi.

Clear:

Clear method xóa tất cả các HTML output được buffer . Tuy nhiên, method này chỉ xóa response body mà không xóa response header. Method này sẽ sinh lỗi nếu Response. buffer chưa được set thành TRUE.

End : End method làm cho server ngưng xử lý script và trả về kết quả hiện tại. Phần còn lại của file sẽ không được xử lý.

Flush: Flush method sẽ gởi nội dung của buffer ngay lập tức vàtiếp tục xử lý một script sau nó. Method này sẽ sinh lỗi nếu Response. Buffer

chưa được set thàng TRUE.

Redirec: Redirect chỉ browser đến một URL khác.

Write : Write ghi một string được chỉ định cho HTML output hiện tại.

Server object cho phép truy xuất đến các property và method trên server. Server object có các property sau :

ScriptTimeout: Chỉ định thời gian cho phép mà script có thể chạy trước khi nó bị time-out. Time-out sẽ không ảnh hưởng trong khi một server component đang xử lý. (adsbygoogle = window.adsbygoogle || []).push({});

Server object có các method sau :

CreateObject: CreateObject method tạo ra một thể nghiệm của server component.

HTMLEncode : HTMLEncode method áp dụng sự mã hóaHTML lên một string được chỉ định.

MapPath : MapPath method ánh xạ một đường dẫn (URL) tương đối thành đường dẫn tuyệt đối của thư mục trên server.

URLEncode : URLEncode method áp dụng luật mã hóa lên một string được chỉ định.

* Session object.

Chúng ta có thể sử dụng Session object để lưu trữ những thông tin cần thiết cho một user-session cụ thể nào đó. Các giá trị được lưu trong Session object không thay đổi khi user nhảy từ trang này sang trang khác trong ứng dụng.

Web server sẽ tự động tạo ra một session object khi một trang web trong ứng dụng được yêu cầu bởi một user chưa có session. Server sẽ hủy bỏ Session object khi session quá hạn hoặc bị bỏ (abandon).

Session object thường được dùng để lưu trữ những thông tin về lần visit trước đó của user đến ứng dụng như chế độ đồ họa cao, trung bình hay thấp.

Session object có các property sau:

SessionID: SessionID property trả về số định danh session cho user. Mỗi session sẽ được server cho một số định danh duy nhất khi nó được tạo ra.

Timeout : Timeout property chỉ định thời gian sống cho session object cho ứng dụng. Nếu user không refersh hay request trang bên trong thời gian quy định, session sẽ kết thúc.

Session object chỉ có method abandon. Method này sẽ hủy bỏ tất cả các object được chứa trong session object và giải phóng tài nguyên của chúng. Nếu chúng ta không gọi method này, server sẽ tự động hủy bỏ các object này khi session timeout.

Một phần của tài liệu Viết chương trình từ điển bằng VB (Trang 70 - 76)