Lập trình ASP - Chương 7: Căn bản 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), trong mô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ư Sun Chili!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 truy cập vào web server

 

doc24 trang | Chuyên mục: ASP | Chia sẻ: dkS00TYs | Lượt xem: 4110 | Lượt tải: 3download
Tóm tắt nội dung Lập trình ASP - Chương 7: Căn bản về ASP, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ntVariable) 
	Ví dụ :
<%
IPAddress = Request.ServerVariables("REMOTE_ADDR")
Software = Request.ServerVariables("SERVER_SOFTWARE")
Protocol = Request.ServerVariables("SERVER_PROTOCOL")
Response.Write "Your IP Address is " & IPAddress & " and your server is running " & Software & " under " & Protocol & "protocol."
%>
	Kết quả hiển thị trên trang web: 
	Your IP Address is 127.0.0.1 and your server is running Microsoft-IIS/5.1 under HTTP/1.1 protocol. 
	Để liệt kê các biến môi trường được lưu trữ trong tập hợp ServerVariables, ta có đoạn script :
<%
for each key in Request.ServerVariables
response.write(key+": "+Request.ServerVariables(key)+"")
next
%>
III.6. Đối tượng Server
	Đối tượng Server cung cấp các thuộc tính và các phương thức dùng để truy cập web server.
- Các thuộc tính :
	l ScriptTimeOut : quy định thời gian lớn nhất mà các lệnh script còn được thực hiện, giá trị mặc nhiên là 90 giây.
- Các phương thức :
	l CreateObject : tạo một thể hiện (instance) của một đối tượng dùng trong trang ASP hay tạo một đối tượng thuộc dạng COM của Windows thực thi phía web server, đây là phương thức quan trọng nhất của đối tượng Server.
	 Cú pháp : Server.CreateObject(ObjectID)
	Ví dụ : Server.CreateObject(“ADODB.Connection”)
	l Execute : cho phép ta gọi một trang ASP khác từ một trang ASP. Ví dụ:
---CallingAsp.asp---
How now cow?
---CalledAsp.asp---
<%
Response.Write "pink"
%>
	Kết quả sẽ hiển thị : How now pink cow?
	l GetLastError : phương thức này trả lại đối tượng ASPError mô tả các lỗi xảy ra về các loại Script, runtime. Ví dụ :
<%
Dim objErrorInfo
Set objErrorInfo = Server.GetLastError 
Response.Write("ASPCode = " & objErrorInfo.ASPCode)
Response.Write("ASPDescription = " & objErrorInfo.ASPDescription)
Response.Write("Category = " & objErrorInfo.Category)
Response.Write("Column = " & objErrorInfo.Column)
Response.Write("Description = " & objErrorInfo.Description)
Response.Write("File = " & objErrorInfo.File)
Response.Write("Line = " & objErrorInfo.Line)
Response.Write("Number = " & objErrorInfo.Number)
Response.Write("Source = " & objErrorInfo.Source)
%> 
	l HTMLEncode : dùng để mã hoá một chuổi HTML để khi nó hiển thị trong trình duyệt, trình duyệt sẽ không dịch HTML như là các lệnh trình bày văn bản. 
	Cú pháp : Server.HTMLEncode(string) 
	Ví dụ :
	") %> 
	Kết quả mã hoá : The tag for a table is: <Table> 
	Kết quả hiển thị trên trang web:	The tag for a table is: 
	l URLEncode : mã hoá chuổi string theo quy tắc chuyển đổi của URL hiểu được bởi các trình duyệt phía máy	 client.
Ví dụ :
	Kết quả hiển thị trên trang web: 
	http%3A%2F%2Fwww%2Eud%2Eedu%2Evn 
	l MapPath : chuyển đường dẫn URL ảo thành đường dẫn vật lý của ổ đĩa trên web server.
	Ví dụ : Giả sử ta có test.asp đặt trong virtual folder là ASP và thư mục vật lý là E:\Documents and Settings\Administrator\My Documents\My Webs\ASP
The path of this file is : 
	Kết quả hiển thị trên trang web: 
The path of this file is :
E:\Documents and Settings\Administrator\My Documents\My Webs\ASP\test.asp
	l Transfer : phương thức này cho phép truyền toàn bộ thông tin từ trang ASP này sang trang ASP khác.
	Ví dụ : trang ASP Calling.asp sẽ truyền toàn bộ thông tin chứa trong các đối tượng sang trang Called.asp.
----Calling.asp----
<%
Application("name") = "Giáo trình thiết kế & Lập trình Web"
Application("publishdate") = "01/01/05"
Application("author") = "Ngô Đình Thưởng"
Set Application("Obj1") = Server.CreateObject("ADODB.Connection")
Server.Transfer("CalledAsp.asp")
%>
----Called.asp----
<%;
Response.Write "Output from Called.asp" +””
For Each Item in Application.Contents
 If IsObject( Application.Contents(Item)) Then
 Response.Write Item & " is an object."
 Else
 Response.Write Item & "=" & Application.Contents(Item) & ""
 End If
Next
%> 
	Kết quả hiển thị do trang Called.asp phát sinh
	Output from Called.asp :
	name = Giáo trình thiết kế & Lập trình Web
	publishdate = 01/01/2005
	author = Ngô Đình Thưởng
	OBJ1 is an object.
III.7. Đối tượng Session
	Đối tượng Session là đối tượng được web server tự động khởi tạo khi trang web đầu tiên của ứng dụng được người sử dụng gọi, đối tượng Session được dùng để lưu lại các thông tin của các người dùng tại một phiên làm việc như tên, id v.v., đối tượng này sẽ tồn tại cho đến khi bị huỷ hay hết hiệu lực (time out)
	Cú pháp : Session.Collecton | Property | Method
- Các thuộc tính :
	l CodePage : để yêu cầu webserver mã hoá dữ liệu trong các hằng, biến chuổi theo bảng mã sẽ được dùng để hiển thị tại client. Ví dụ sau đây yêu cầu webserver mã hoá các chuổi dữ liệu theo bảng mã UTF-8:
	‘ dùng cho toàn bộ các trang trong session hiện hành, nếu muốn chỉ xác định 
	‘ codepage cho một trang hiện hành :
	Để có thông tin về codepage của các ngôn ngữ khác, có thể xem thông tin tại website  library/ default.asp? url= /workshop/ author/ dhtml/ reference/ charsets/charset4.asp
	l LCID : xác định Id của địa chỉ (LoCation IDentifier) sẽ sử dụng nội dung động. LCID là một con số duy nhất một vị trí địa lý hay vùng miền, đây là thuộc tính để quy định cách hiển thị khuôn dạng ngày giờ, tiền tệ, dấu thập phân, dấu phân cách lớp nghìn trên trang web.
	Ví dụ :
<% 
Session.LCID = 3079
Response.Write "This is the LCID for this page " & Session.LCID & ""
Response.Write "This is the Time and Date format for the above LCID: " & NOW() & ""
%> 
Kết quả hiển thị:
This is the LCID for this page now 3079
This is the Time and Date format for the above LCID 27.07.05 14:01:33 
LCID của nước Pháp là 1036.
	l SessionID : là một con số kiểu LongInteger được phát sinh bởi webserver khi một session được tạo. Mỗi người dùng sẽ có có một SessionID không giống nhau. Khi webserver bị stop và start trở lại thì những SessionID phát sinh lần sau có thể trùng với SessionID phát sinh trước khi bị stop.
	l TimeOut : thời gian tồn tại của một Session, tính bằng phút, giá trị mặc định là 20 phút. Trong khoảng thời gian TimeOut nếu người sử dụng không Refresh hay không truy cập một trang khác của ứng dụng thì Session kết thúc.
- Các tập hợp :
	l Contents : chứa tất cả các đề mục mà chúng ta thiết lập cho đối tượng Session mà không sử dụng thẻ HTML .
	Cú pháp : Session.Contents(key)
Trong đó key là tên của thuộc tính cần nhận về.
	l StaticObjects :chứa tất cả các đề mục mà chúng ta thiết lập cho đối tượng Session bằng cách sử dụng thẻ HTML khi xây dựng tệp cấu hình ASP Global.asa
	Ví dụ : 
‘----Global.asa----
---File.asp----
<%
For Each Item In Session.StaticObjects
Response.Write Item & ""
Next
%> 
Kết quả hiển thị trên trang web:
MyInfo
MyConnection
MyADRot
- Các phương thức :
	l Abandon : dùng để hủy đối tượng Session và giải phóng tài nguyên của webserver. Ví dụ:
<%
Response.Write "Your SessionID is " & Session.SessionID
Session("Application") = "EducationSite"
Session.Abandon
Response.Write "The Application name is " & Session("Application")
%>
l Contents.Remove : xoá bỏ một mục nội dung trong tập hợp Contents
Ví dụ :
<%
Session("name") = "Session Duty"
Session("publishdate") = "01/01/05"
Session("author") = "Education"
Session.Contents.Remove(1)
Session.Contents.Remove("publishdate") 
For Each Item in Session.Contents
 Response.Write Item & "=" & Session.Contents(Item) & ""
Next
%> 
l Contents.RemoveAll : xoá bỏ tất cả nội dung trong tập hợp Contents
	- Các sự kiên :
	l Session_OnEnd : sự kiện này xảy ra khi một Session được tạo ra, server xử lý thủ tục này khi thực thi yêu cầu một trang, Session_OnEnd là nơi thuận tiện cho việc thiết lập các biến.
	l Session_OnStart : sự kiện này xảy ra khi Session bị huỷ bởi phương thức Abandon hoặc time out. Các thủ tục Session_OnStart, Session_OnEnd phải được đặt trong tệp Global.asa.
	Ví dụ :
---Global.asa----
Sub Application_OnEnd()
End Sub
Sub Application_OnStart()
Application("NumSession") = 0
Application("NumVisited") = 0
End Sub
Sub Session_OnEnd()
Application("NumSession") = Application("NumSession") - 1
End Sub
Sub Session_OnStart()
Application("NumSession") = Application("NumSession") + 1
Application("NumVisited") = Application("NumVisited") + 1
End Sub 
-----File1.asp----
Response.Write "You are " & Application("NumSession") & " of " & Application("NumVisited") & " users." 
IV. TỔNG KẾT CHƯƠNG
	ASP cung cấp cho VBScript các đối tượng để tạo ra các kịch bản trên máy chủ, cho phép ta tạo ra các ứng dụng web động và tương tác. ASP dễ học, dễ bảo trì, có thể tích hợp các công nghệ sẵn có của Microsoft, chạy được trên nhiều hệ điều hành khác Windows nhờ thư viện hỗ trợ ASP do Sun cung cấp (Sun Chili!Soft). Trong việc thao tác cơ sở dữ liệu Access, SQL Server thì ASP tỏ ra nhanh và hiệu quả hơn các môi trường khác.
	ASP cung cấp 7 đối tượng: Session, Application, Request, Response, Server, AspError và ObjectContent để xây dựng kịch bản máy chủ bằng ngôn ngữ kịch bản VBScript hay JScript.
	Hiện nay Microsoft đưa ra ASP.NET cùng với ADO.NET chạy trên nền FrameWork.Net với nhiều cải tiến quan trọng, cung cấp nhiều chức năng phong phú, mạnh mẽ. Ngôn ngữ lập trình chính trong môi trường này là C# (một chủ bài của Microsoft đối đầu với ngôn ngữ lập trình Java của Sun)
Tại sao VBScript không được ưa dùng để viết kịch bản phía client?
Câu lệnh : On Errorr Resume Next là câu lệnh của VBScript hay ASP? Giải thích cách áp dụng.
Sử dụng đối tượng FileSystemObject để xây dựng một ứng dụng để upload một tệp lên server.
Nghiên cứu đối tượng CDONTS để xây dựng một trang web gởi mail.
Cài đặt IIS trên Windows XP Professional, thiết lập virtual directory và quyền của các user (administrator và các user khác) trên virtual directory này. Kiểm nghiệm một trang ASP đơn giản. Giả sử phisical directory có cấu trúc như sau:
Using Active server pages, QUEÒ; download tại  2005 (website của khoa Công nghệ thông tin-Trường ĐHSP Hà Nội)
Lê Đình Hy, Giáo trình Thiết kế và lập trình ứng dụng web với ASP; Nxb Thống Kê, 2004

File đính kèm:

  • docLập trình ASP - Chương 7_Căn bản về ASP.doc
Tài liệu liên quan