Active Server Pages Trung tâm phát triển phần mềm - ĐHĐN - 7 - - Đặt quyền cho thư mục ảo: o Read: cho phép đọc nội dung trang o Run Script: thực thi trang kịch bản o Execute: thực thi các ứng dụng hoặc các lời triệu gọi o Write: cho phép ghi vào thư mục ảo o Browser: cho phép xem toàn bộ nội dung thư mục thay cho trang web mặc định. - Chọn Finish để kết thúc. IIS sẽ tạo thư mục ảo Bookshop bên dưới Default Web Site. - Để truy xuất các trang trong thư mục ảo, bạn sử dụng địa chỉ web URL như sau: http://localhost/tên thư mục ảo/tên file hoặc http://tênserver/tên thư mục ảo/ tên file Ví dụ: http://localhost/bookshop/login.asp hoặc http://tênserver/bookshop/login.asp - Thay đổi và bổ sung lại cấu hình cho thư mục ảo: chọn thư mục ảo à kích phải chuộtà properties à tiến hành chỉnh sửa. c. Cài đặt A Cài đặt Personal Web Server (PWS) và chạy ASP trên Windows 98 - Mở thư mục Add-ons trên đĩa CD Windows98 hoặc, tìm thư mục PWS và chạy file setup.exe. Windows tự động thực hiện quá trình cài đặt cho bạn - Thư mục Inetpub sẽ được tạo trên ổ đĩa cứng của bạn. Tìm thư mục wwwroot trong thư mục này. - Tạo một thư mục mới, ví dụ “MyWeb” trong thư mục wwwroot - Sử dụng trình soạn thảo văn bản để viết đoạn chương trình ASP, lưu với tên “test.asp” trong thư mục wwwroot. - Để chắc chắn Web server đang hoạt động: chương trình cài đặt sẽ thêm biểu tượng trên thanh tác vụ (task bar). Kích chọn biểu tượng và nhấn nút Start trong cửa sổ này. - Mở trình duyệt của bạn, gõ địa chỉ: "http://localhost/MyWeb/test1.asp", bạn sẽ thấy trang ASP đầu tiên. A Cài đặt IIS và chạy ASP trên Windows2000 - Từ nút Start à chọn Settings à Control Panel - Trong cửa sổ Control Panel chọn Add/ Remove Program - Trong cửa sổ Add/ Remove Program chọn Add/Remove Windows Components - Trong cửa sổ Wizard đánh dấu R vào mục Internet Information Services, chọn OK. Windows tự động thực hiện quá trình cài đặt cho bạn. - Thư mục Inetpub sẽ được tạo trên ổ đĩa cứng của bạn. Tìm thư mục wwwroot trong thư mục này. - Tạo một thư mục mới, ví dụ “MyWeb” trong thư mục wwwroot - Sử dụng trình soạn thảo văn bản để viết đoạn chương trình ASP, lưu với tên “test.asp” trong thư mục wwwroot. Active Server Pages Trung tâm phát triển phần mềm - ĐHĐN - 8 - - Để chắc chắn Web server đang hoạt động: chương trình cài đặt sẽ thêm biểu tượng trên thanh tác vụ (task bar). Kích chọn biểu tượng và nhấn nút Start trong cửa sổ này. - Mở trình duyệt của bạn, gõ địa chỉ: "http://localhost/MyWeb/test1.asp", bạn sẽ thấy trang ASP đầu tiên. d. Localhost Khi bạn kết nối đến một máy tính từ xa sử dụng địa chỉ URL có nghĩa là bạn đang gọi nó bằng hostname. Ví dụ, khi bạn gõ địa chỉ: http://www.google.com nghĩa là bạn đang yêu cầu mạng để kết nối đến một máy tính có tên www.google.com, và được gọi là hostname của máy tính đó. Localhost là một hostname đặc biệt, có tham chiếu đến máy tính của chính bạn. Để kiểm tra tất cả các trang trong máy tính của bạn, bạn cần phải sử dụng localhost như một hostname. Địa chỉ IP đặc biệt kết hợp với localhost là: 127.0.0.1 Ví dụ: Để truy cập vào các trang trong thư mục ảo có tên myweb, bạn cần gõ vào thanh address như sau: http://localhost/myweb/login.asp hoặc http://127.0.0.1/myweb/login.asp Active Server Pages Trung tâm phát triển phần mềm - ĐHĐN - 9 - CHƯƠNG 2 CẤU TRÚC CƠ BẢN CỦA ASP Để bắt tay vào việc xây dựng trang ASP, bạn cần biết đôi chút về ngôn ngữ kịch bản (Script). Mặc dù ASP cho phép sử dụng cả hai ngôn ngữ VBScript và Jscript, nhưng ngôn ngữ VBScript gần với Visual Basic nên dễ học và thường được sử dụng hơn Jscript. ASP chỉ cung cấp một môi trường để xử lý các script mà ta chèn vào trong các file .asp chứ ASP không phải là một ngôn ngữ script. Tuy nhiên, ASP qui định việc chèn các script phải tuân theo cú pháp nhất định của ASP như sau: 1. Các toán tử Toán tử Ví dụ Mũ ^ 2^3 Cộng + X+3 Trừ - 7-4 Nhân * Y= x*3 Chia / 6/4 Chia phần nguyên \ 7\3 (Kết quả: 2) Chia lấy phần dư mod 7 mod 3 (kết quả: 1) Cộng chuỗi & hoặc + “He” & “llo” (kết quả: “Hello”) So sánh bằng = If (x=3) then So sánh lớn hơn > If (x>3) then So sánh nhỏ hơn < If (x<3) then So sánh khác <> If (x<>3) then So sánh lớn hơn hoặc bằng >= If (x>=3) then So sánh nhỏ hơn hoặc bằng <= If (x<=3) then Toán tử logic not, and, or, xor If (x>2) and (y<3) or (z = x) then 2. Cú pháp của ASP a. Dấu ngăn cách (Delimiter ) Trong trang ASP ta sử dụng các dấu <% và %> để ngăn cách phần văn bản HTML với phần script, bất cứ một phát biểu script nào cũng đều phải nằm giữa 2 dấu ngăn cách <% và %> .Ví dụ: <% sport = "climbing" %> b. Chú thích: Giống như Visual Basic, chú thích được bắt đầu bằng dấu nháy đơn (‘) và chỉ có tác dụng trên 1 dòng. Chú thích làm cho mã lệnh rõ ràng, dể hiểu. Khi thực thi, trình biên dịch sẽ bỏ qua các dòng chú thích. Ví dụ: <% ‘ Đây là dòng in ra chuỗi Chào bạn response.write “Chao ban” %> Active Server Pages Trung tâm phát triển phần mềm - ĐHĐN - 10 - c. Khai báo biến, hằng, mảng - Biến: dùng từ khoá Dim để khai báo biến. Biến không cần phải chỉ định kiểu như trong ngôn ngữ lập trình cấu trúc. Các biến không cấu trúc được xem là biến vô hướng và có thể chứa và tự chuyển đổi hầu hết các dữ liệu. Ví dụ: <% dim name name="Nguyen van A" response.write ("My name is: " & name) %> Kết quả: Nguyen van A - Hằng: được định nghĩa bởi từ khoá Const. Chỉ có thể sử dụng giá trị của hằng chứ không thể thay đổi nội dung hằng. Ví dụ: <% Const myage = 25 Const myString = “Have a good day ” %> - Mảng: mảng được định nghĩa và truy xuất dựa trên chỉ số. Khai báo mảng bằng từ khoá Dim, tên mảng và phần tử mảng trong dấu ngoặc đơn. Ví dụ: <% Dim famname(2) famname(0)="anh" famname(1) = "chi" famname(2) = "em" %> Các phần tử mảng được đánh số từ 0 đến tổng số phần tử được định nghĩa. Có nghĩa là nếu bạn cần 10 phần tử thì sẽ định nghĩa 11 phần tử. Bạn có thể sử dụng bắt đầu từ 0 hoặc từ 1 và đảm bảo rằng số phần tử mà bạn truy xuất không vượt quá 10 thì lỗi vượt phạm vi mảng không xảy ra. c. Các lệnh xử lý điều kiện rẽ nhánh Bạn có thể sử dụng các lệnh điều kiện if then else hoặc select case để thực hiện so sánh các biểu thức v Lệnh if then dùng xử lý lệnh khi biểu thức so sánh của if trả về trị True <% if <điều kiện> then <lệnh 1> else <lệnh 2> end if %> Ví dụ: <% if OK=True then response.write “Đúng” else Active Server Pages Trung tâm phát triển phần mềm - ĐHĐN - 11 - response.write “Sai” end if %> Chú ý: + Sau điều kiện if bắt buộc phải có từ khoá Then + Nếu chỉ có 1 lệnh đơn được thực hiện sau khối Then thì lệnh này có thể nằm trên cùng một dòng với điều kiện. Nếu nhiều câu lệnh được thực hiện trong khối Then thì câu lệnh đầu tiên trong khối phải được bắt đầu trên dòng tiếp theo sau Then. + Khối else là tuỳ chọn, có thể có hoặc không tuỳ yêu cầu. + Để kết thúc lệnh, cần có từ khoá End if Ví dụ: Xét trường hợp đúng sai của câu lệnh điều kiện if then <% if ok=true then Response.write “Đúng” else Response.write “Sai” %> Đây là câu lệnh đúng. Chỉ có một lệnh đơn được thực hiện sau mỗi khối Then và else, không cần phải có End if và câu lệnh else nằm trên cùng một dòng với điều kiện if. <% if ok=true then Response.write “Đúng” else Response.write “Sai” %> Sẽ có lỗi nếu thực thi câu lệnh này. Chỉ có một lệnh trong khối Then nên Else không thể tiếp tục trên dòng tiếp theo của điều kiện If. v Lệnh Select case cho phép lựa chọn nhiều trường hợp để đưa ra quyết định thực thi <% Select Case Biểu thức Case danh sách giá trị Các câu lệnh Case else Lệnh khác End Select %> Ví dụ: Select Case Choice Case “1” Response.write “Chọn 1” Case “2” Response.write “Chọn 1” Case else Response.write “Chọn 3” End Select Mệnh đề case else trong cú pháp Select Case dùng cho trường hợp tất cả các phép so khớp của mệnh đề Case không xảy ra. Active Server Pages Trung tâm phát triển phần mềm - ĐHĐN - 12 - d. Các lệnh lặp v For Next: lặp với số lần xác định <% for counter=start to end các câu lệnh Next %> Ví dụ: <% for i=1 to 10 Response.write “số =”& i & “ “ Next %> Kết quả: số=1 số =2 số=3 số=4 số =5 số=6 số=7 số =8 số=9số=10 Ngoài ra, còn có thể sử dụng từ khóa Step để thay đổi khoảng cách hoặc bước nhảy của biến lặp. <% for i=1 to 10 step 2 Response.write “số =”& i & “ “ Next %> Kết quả: số=1 số=3 số=5 số=7 số=9 v For Each Next: lặp với các phần tử trong tập hợp <% For each các phần tử In Nhóm Các câu lệnh Next %> Ví dụ: <% For Each Item In Request.Form Response.write item&”=”&Request.form(item) & “<br>” Next %> v While Wend: lặp trong khi điều kiện kiểm tra của while còn đúng <% While điều kiện Các câu lệnh Wend %> Ví dụ: <% While not rs.eof . then Toán tử logic not, and, or, xor If (x> 2) and (y< 3) or (z = x) then 2. Cú pháp của ASP a. Dấu ngăn cách (Delimiter ) Trong trang ASP ta sử dụng các dấu <% và %> để ngăn cách. là: 127 .0.0.1 Ví dụ: Để truy cập vào các trang trong thư mục ảo có tên myweb, bạn cần gõ vào thanh address như sau: http://localhost/myweb/login .asp hoặc http:// 127 .0.0.1/myweb/login .asp. 73 (Kết quả: 2) Chia lấy phần dư mod 7 mod 3 (kết quả: 1) Cộng chuỗi & hoặc + “He” & “llo” (kết quả: “Hello ) So sánh bằng = If (x= 3) then So sánh lớn hơn > If (x> 3) then So