Lập trình cơ sở dữ liệu với ASP

Tủ sách mở Wikibooks


I. TỔNG QUAN VỀ ASP Trong phần này chúng ta sẽ tìm hiểu tổng quan về ASP. Các bạn sẽ hiểu được · ASP là gì? · Ta có thể làm được những gì với ASP? · ASP hoạt động thế nào? · Làm thế nào để thiết kế được một Website bằng ASP? · Sau khi thiết kế được Website bằng ASP, làm thế nào để đưa (xuất bản - publish) nó lên mạng? · Tìm hiểu ASP thông qua một ví dụ đơn giản 1.1. ASP là gì?. ASP (Active Server Pages) là một môi trường lập trình phía máy chủ, cho phép ta xây dựng các trang Web có nội dung động (interactive Web pages) và những ứng dụng mãnh mẽ trên nền Web. Khác với những ngôn ngữ lập trình Web khác như Perl, PHP, Cold Fusion,… đều sử dụng các ngôn ngữ riêng của mình, ASP sử dụng các ngôn ngữ đã có sẵn và phổ biến như JavaScript hay VBScript. Đây là những ngôn ngữ rất đơn giản và dễ sử dụng. Lưu ý rằng các script là những ngôn ngữ giới hạn, dùng để viết các chương trình đơn giản. Để thực hiện những công việc phức tạp như kết nối CSDL, lập trình đồ hoạ, giao tiếp với thiết bị phần cứng,... thì ta phải sử dụng các component (thành phần) đã được tạo trước bằng các ngôn ngữ lập trình mạnh mẽ hơn như C++, VB,... Các script của ASP chỉ có lệnh gọi đến các component này mà thôi. Một trang ASP là một tệp (file) có phần mở rộng là .ASP và được đặt trên một thư mục Web trên máy chủ. Nội dung của nó là sự kết hợp của các thẻ HTML, ngôn ngữ kịch bản (scripting) như JavaScript, VBscript và các thành phần (components - như các DLL và ActiveX control..) được viết trong các ngôn ngữ khác nhằm tạo ra một ứng dụng Web mạnh mẽ và hoàn chỉnh và có khả năng bảo mật cao. Nội dung của một trang ASP được mô tả trong hình sau: Như vậy, một trang ASP là sự kết hợp của 4 thành phần: 1. Các văn bản (những gì mà người sử dụng có thể nhìn được qua trình duyệt Web). 2. Các thẻ HTML (nằm trong căp thẻ <>) dùng để điều khiển việc hiển thị các văn bản. 3. Các client-side script (được viết bằng Javascript hoặc VBscript) dùng để tăng cường khả năng tương tác giữa trang Web của ta với người sử dụng và xử lý nội dung động của trang Web ngay tại trình duyệt trên máy trạm mà không cần liên lạc với server. Các client-side script thường được viết bằng ngôn ngữ JavaScript và phải được đặt giữa cặp thẻ <Script> và </Script>. " Với ba thành phần này, mã nguồn của nó phải được tải vào trong trình duyệt của máy trạm. Chính bản thân trình duyệt phải hiểu được chúng, xử lý chúng và hiển thị nội dung trang Web cho người dùng. Người dùng có thể xem được toàn bộ mã nguồn của ba thành phần này. 4. Thành phần thứ tư, mà ta sẽ tìm hiểu trong chương này, là các Server-side Script. Chúng là những đoạn mã script được viết bằng ngôn ngữ VBScript (hoặc cũng có thể bằng JavaScript), dùng để lập trình phía máy chủ (Server), nghĩa là chúng được biên dịch và xử lý ngay tại máy chủ bằng trình biên dịch ASP (được cài đặt kèm theo dịch vu IIS – trình bày bên dưới). Các Server-side script được đặt trong cặp thẻ “<%” và “%>”. Ta có thể viết các mã lệnh kết nối CSDL, xử lý dữ liệu, đọc/ghi tệp, và tất cả những thao tác khác với hệ thống tại máy chủ nếu cần. Sau khi được biên dịch và thực thi, các mã server-side script sẽ không còn nữa. Kết quả của nó là mã của ba thành phần 1., 2., 3. ở trên và IIS sẽ gửi về cho trình duyệt trên máy trạm. Lưu ý là một trang ASP không bắt buộc phải có đầy đủ cả 4 thành phần trên . Nghĩa là, nó có thể chỉ có <%các mã Server Script%> hoặc chỉ có các mã HTML mà không có <%các mã Server-side Script%>. Trong trường hợp trong một trang ASP mà không có <%các mã Server-side Script%> thì toàn bộ mã nguồn của trang ASP đó sẽ được Web Server gửi trực tiếp cho trình duyệt của máy trạm mà không cần phải xử lý gì cả. Khi thay đổi, sửa các file ASP trên server ta chỉ cần ghi lại (save) file trên server mà thôi. Vào những lần sau khi trang ASP này được gọi, các script trong file ASP sẽ được tự động biên dịch lại. 1.2. ASP làm việc như thế nào?

Khi kết hợp ASP vào trong một Website, ASP sẽ làm việc theo các tiến trình sau : User ngồi ở máy trạm, mở trình duyệt (browser) ví dụ như Internet Explorer hoặc Netscape Navigator rồi nhập địa chỉ tới nơi đặt tệp ASP trên máy chủ. Trình duyệt của user bắt đầu yêu cầu các ASP file trên server. Web Server (IIS) nhận được yêu cầu và nó sẽ chuyển các tham số này đến trình biên dịch ASP và yêu cầu trình biên dịch ASP biên dịch file .ASP mà máy trạm yêu cầu. Các scripts của trang ASP trên server bắt đầu được xử lý. ASP xử lý các file được yêu cầu từ phía user một cách liên tục từ trên xuống dưới (top-down), thực thi các scripts chứa trong file ASP này rồi kết xuất thành một trang Web HTML. Trang HTML vừa được sản xuất ra sẽ được gửi tới trình duyệt của user tại máy trạm. Bởi vì các scripts chạy trên server cho nên Web server sẽ xử lý toàn bộ các tiến trình và trang HTML có thể được sản xuất và được gửi tới trình duyệt của user. Điều đó có nghĩa rằng trang Web của bạn bị hạn chế trong phạm vi những gì mà Web server có thể cung cấp.

Một trong các ưu điểm của việc đặt các script của bạn trên server là user sẽ không thể nhìn thấy source code nguyên mẫu của bạn được. Thay vào đó user chỉ có thể nhìn được nội dung của file HTML đã được sản xuất. 

1.3. Giới thiệu về Internet Information Server (IIS): 1.3.1. IIS là gì? Microsoft Internet Information Services (các dịch vụ cung cấp thông tin Internet) là các dịch vụ dành cho máy chủ chạy trên nền Hệ điều hành Window nhằm cung cấp và phân tán các thông tin lên mạng, nó bao gồm nhiều dịch vụ khác nhau như Web Server, FTP Server,... Nó có thể được sử dụng để xuất bản nội dung của các trang Web lên Internet/Intranet bằng việc sử dụng “Phương thức chuyển giao siêu văn bản“ - Hypertext Transport Protocol (HTTP). Như vậy, sau khi bạn thiết kế xong các trang Web của mình, nếu bạn muốn đưa chúng lên mạng để mọi người có thể truy cập và xem chúng thì bạn phải nhờ đến một Web Server, ở đây là IIS. Nếu không thì trang Web của bạn chỉ có thể được xem trên chính máy của bạn hoặc thông qua việc chia sẻ tệp (file sharing) như các tệp bất kỳ trong mạng nội bộ mà thôi. 1.3.2. IIS có thể làm được gì? Nhiệm vụ của IIS là tiếp nhận yêu cầu của máy trạm và đáp ứng lại yêu cầu đó bằng cách gửi về máy trạm những thông tin mà máy trạm yêu cầu. Bạn có thể sử dụng IIS để: · Xuất bản một Website của bạn trên Internet · Tạo các giao dịch thương mại điện tử trên Internet (hiện các catalog và nhận được các đơn đặt hàng từ nguời tiêu dùng) · Chia sẻ file dữ liệu thông qua giao thức FTP. · Cho phép người ở xa có thể truy xuất database của bạn (gọi là Database remote access). Và rất nhiều khả năng khác ... 1.3.3. IIS hoạt động như thế nào?

IIS sử dụng các giao thức mạng phổ biến là HTTP (Hyper Text Transfer Protocol) và FPT (File Transfer Protocol) và một số giao thức khác như SMTP, POP3,... để tiếp nhận yêu cầu và truyền tải thông tin trên mạng với các định dạng khác nhau. Một trong những dịch vụ phổ biến nhất của IIS mà chúng ta quan tâm trong giáo trình này là dịch vụ WWW (World Wide Web), nói tắt là dịch vụ Web. Dịch vụ Web sử dụng giao thức HTTP để tiếp nhận yêu cầu (Requests) của trình duyệt Web (Web browser) dưới dạng một địa chỉ URL (Uniform Resource Locator) của một trang Web và IIS phản hồi lại các yêu cầu bằng cách gửi về cho Web browser nội dung của trang Web tương ứng. 1.3.4. Cài đặt IIS Hiện tại đã có các phiên bản 3.0, 4.0 và 5.1. Nói chung cách cài đặt không có gì khó và khác nhau lắm giữa các version. Lưu ý : Tốt nhất là có bản cài ngoài (từ đĩa CD hoặc download từ Internet) hoặc tham khảo bảng sau Version Cài đặt Windows 98 Cài Personal Web Server trong Add/Remove Programs trong Control Panel Window NT server 4.0 Cài Internet Information Server trong Add/Remove Programs trong Control Panel hoặc trong Windows NT Option Pack Windows 2000 Cài Internet Information Server trong Add/Remove Programs trong Control Panel Để cài IIS, sau khi đưa đĩa Win2K/WinXP vào ta chọn menu Star-> Settings->Control Panel-> Add/Remove Programs -> Add/Remove Windows components -> chọn Internet Information Services -> Next. Giao diện màn hình cài IIS 1.3.5. Nạp một ứng dụng Web lên IIS Sau khi cài trình Web chủ IIS, để xem một trang ASP trước tiên ta phải nạp ứng dụng chứa trang ASP lên trình chủ Web IIS, các bước thực hiện như sau: 1. Bước 1: Mở trình chủ Web IIS bằng cách vào menu Star -> Sittings -> Control panel -> Administrative Tools -> Internet Services Manager. 2. Bước 2: Tạo thư mục ảo (Virtual Directory) cho ứng dụng. Thông thường mỗi ứng dụng Web được đặt trong một thư mục và được tham chiếu đến thông qua địa chỉ URL. · Cách tạo thư mục ảo: Trên màn hình Internet Information Services ta vào Default Web Site -> New -> Virtual Directory. Tạo thư mục ảo cho ứng dụng · Trong ô nhập liệu Alias của hộp thoại Virtual Directory Creation Wizard ta nhập tên bí danh cho thư mục ảo, bấm next. · Chọn đường dẫn thư mục vật lý chứa ứng dụng ta quan tâm. Thông thường thư mục chứa ứng dụng được đặt trong C:\Inetpub\wwwroot, chọn thư mục vật lý chứa ứng dụng xong ta bấm Next để đến màn hình cấu hình bảo vệ và đặt quyền cho thư mục ảo. Chọn đường dẫn vật lý cho thư mục ảo · Đặt quyền cho thư mục ảo như trong hình dưới. Có tất cả 5 quyền gồm Read (cho phép đọc nội dung trang), Runscript (cho phép thực thi trang kịch bản), Execute (thực thi các ứng dụng CGI), Write (cho phép ghi vào thư mục ảo), Browse (cho phép xem toàn bộ nội dung thư mục thay cho trang Web mặc định). Hai quyền Read và Run script là cần thiết để trang ASP có thể truy xuất được. Màn hình cấp quyền truy cập thư mục ảo · Chúng ta đặt lại các quyền bảo vệ thư mục ảo và chế độ bảo mật bằng cách nhấn chuột phải lên thư mục ảo mới tạo, rồi vào Properties. Màn hình Properties của thư mục ảo 3. Bước 3: Thiết lập trang mặc định cho thư mục ảo. Khi máy client gõ một địa chỉ Web URL tham chiếu đến một ứng dụng mà không đưa ra tên trang cụ thể, lúc này trình chủ sẽ sử dụng trang mặc định. Ta có thể thiết lập một danh sách các trang mặc định, khi ấy IIS sẽ tìm theo thứ tự ưu tiên từ trên xuống dưới. Để lập trang Web mặc định cho thư mục ảo. Từ màn hình trên, ta vào mục Document. Bạn có thể xóa hoặt thêm một trang mặc định vào danh sách bằng cách chọn Add hay Remove. Màn hình thiết lập trang Web mặc định cho ứng dụng 4. Bước 4: Để xem trang Web ta mở trình duyệt Web Internet Explorer -> Gõ địa chỉ URL của trang Web vào mục Address. Nếu chúng ta đã tạo trang mặc định cho thư mục ảo là “index.asp” thì ta chỉ cần gõ địa chỉ http://localhost/Example. 1.4. Bắt đầu với ASP qua một ví dụ nhỏ 1.4.1. Mục đích của chương trình Ta sẽ xây dựng một ứng dụng ASP có chức năng như sau : Khi user duyệt file này trên server, script sẽ kiểm tra giờ hiện tại nếu : - Trước 12 giờ trưa sẽ hiện “ Chào buổi sáng” - Từ 12 giờ trưa tới 6 giờ chiều thì hiện “ Chào buổi chiều “ - Sau 6 giờ chiều hiện “ Chào buổi tối” 1.4.2. Các bước thực hiện 1. Xác định tên máy chủ của bạn và cài đặt IIS 2. Tạo một thư mục để lưu trữ các trang .asp, .htm của bạn 3. Tạo ra một tệp văn bản thông thường (plan text) có phần mở rộng của tệp là .asp và viết các script của ASP, các client-side script (Java Script), các thẻ HTML cần thiết vào đó. Có thể dùng trình soạn thảo văn bản đơn giản như notepad để soạn nội dung của trang .asp này. 4. Tạo một thư mục ảo (Virtual Directory) bằng IIS Console để đưa (xuất bản) các trang .asp, .htm của bạn lên mạng. 5. Chạy thử bằng trình duyệt Web. Trước hết, ta phải cấu hình cho server và phải cài đặt Internet Information Services . Cấu hình cho server ví dụ như sau : Đặt tên cho server – thực chất là đặt tên cho máy tính (ví dụ là Trungtam). Để đặt tên cho server ta kích nút chuột phải vào biểu tượng Network Neighborhood trên màn hình nền rồi chọn mục Network Identification.

Kích Properties rồi nhập tên server vào Các thao tác trên chỉ cần làm duy nhất một lần đầu tiên mà thôi Tạo một thư mục trên đĩa của server, tại đây ta sẽ lưu các tệp ASP, giả sử là C:\ViduASP Mở một trình soạn thảo văn bản bất kỳ (Notepad của Windows chẳng hạn) để soạn thảo tệp ASP này. Nhập nội dung sau và ghi vào thư mục C:\ViduASP với tên là vd1.asp. Chú ý là những dòng được bôi đậm trong ví dụ dưới đây là các Server-side Script của ASP

<% TG=time() %><% If TG >= #00:00:00# And TG <= #12:00:00# Then%>

Chao buoi sang

<% else %><% if TG > #12:00:00# And TG <= #18:00:00# Then%>

Chao buoi chieu

<% else %>

Chao buoi toi

<% end if%><% end if%></body></html>

Giải thích các dòng lệnh STT dòng Mã nguồn Giải thích ý nghĩa của dòng lệnh tương ứng 1 <html> Bắt đầu 1 tệp HTML 2 <title> Ví dụ về ASP </title> Hiện tiêu đề của trang 3 <body bgcolor=”blue”> Đặt nền trang màu xanh 4 < font face=”.Vntime” size = 14 color=”yellow”> Đặt chữ kiểu .Vntime, kích cỡ 14, màu chữ vàng 5 <% TG=time() %> Bắt đầu mã lệnh ASP , phải nằm trong cặp thẻ <% và %>. Gán cho biến TG giá trị là thời gian hiện tại. Lưu ý rằng đây là thời gian hiện tại trên server chứ không phải thời gian tại máy trạm (client) 6 <% If TG >= #00:00:00# And TG <= #12:00:00# Then%> Sử dụng cú pháp if..then kiểm tra xem có phải là buổi sáng không , kiểu ngày phải cho trong #..#

7

Chao buoi sang

Nếu thoả mãn điều kiện trên thì dùng thẻ

in ra màn hình

8 <% else %> Sử dụng cú pháp else 9 <% if TG > #12:00:00 # And TG <= #18:00:00# Then%> Kiểm tra xem có phải buổi chiều không.

10

Chao buoi chieu

Nếu đúng , in ra câu chào

11 <% else %> Nếu không phải thì còn là trường hợp buổi tối

12

Chao buoi toi

13 <% end if%> Đóng lệnh if 14 <% end if%> Đóng lệnh if 15 </body></html> Các thẻ kết thúc của HTML Sử dụng IIS để xuất bản (publish) thư mục C:\ViduASP lên mạng Để cho các clients có thể duyệt đến thư mục C:\ViduASP ở trên server, ta phải tạo ra một Virtual directory (thư mục ảo) chỉ đến thư mục C:\ViduASP. Mỗi một thư mục ảo này có một bí danh (alias) tuỳ ý do ta đặt. Cách làm như sau Chạy IIS Kích phải chuột vào mục Default Web Directory và chọn Virtual directory. Sau đó ta duyệt đến thư mục C:\ViduASP. Kích Next, sau đó nhập bí danh (alias) cho thư mục ảo này ví dụ là VIDU và kích Finish Nếu máy tính tên là Trungtam Alias của thư mục C:\ViduASP là VIDU thì trên browser của client, user sẽ nhập địa chỉ sau (có thể bỏ http:// đi cũng được, chỉ cần gõ Trungtam/Vidu/vd1.asp) Chạy ứng dụng vd1.asp Trên một máy trạm bất kỳ (tất nhiên phải cùng mạng và kết nối được tới máy chủ) hoặc chính máy chủ cũng được , ta mở trình duyệt IE (hoặc Netscape Navigator) và gõ địa chỉ sau vào ô địa chỉ : Kết quả chương trình chạy (thời gian trên server lúc chạy là 20:00)

3. Kết luận : Trên đây ta đã thấy rằng việc viết và thực thi một ứng dụng ASP khá đơn giản, nếu đã làm quen với môi trường Visual Basic rồi thì sẽ không gặp nhiều khó khăn khi xây dựng 1 ứng dụng ASP. Tuy nhiên ta hãy lưu ý một số điểm sau : Nếu có nhiều câu lệnh ASP liên tục thì chỉ cần 1 cặp <%...%> là đủ

Trong phần tiếp theo, chúng ta sẽ tìm hiểu cụ thể hơn về script hay được sử dụng trong ASP là VBScritp và các đối tượng của ASP hỗ trợ lập trình Web.