LờI NóI ĐầU Trong kỷ nguyên của sự bùng nổ thông tin, cùng với sự phát triển nh vũ bão của các phơng tiện truyền thông đại chúng, lĩnh vực truyền thông máy tính đã và đang phát triển không ngừng. Mạng máy tính toàn cầu Internet đang trở thành nhu cầu bức thiết cho mọi ngời. Với Internet, bức tờng ngăn cách giữa các quốc gia, giữa các nền văn hóa, giữa những con ngời với nhau đã ngày càng giảm đi. Ngày nay có khoảng 50 60 triệu ngời đang sử dụng Internet và các ứng dụng trên Internet là vô cùng phong phú. Từ các ứng dụng truy xuất từ xa nh: NC (network computer), WWW, mạng máy tính đồng thời cung cấp môi trờng truyền thông tốt cho các dịch vụ th tín điện tử (Email), tin tức, các hệ quản trị dữ liệu phân bố... Sự ra đời của các ngôn ngữ lập trình giúp ta xây dựng các ứng dụng một cách hiệu quả. Với sự hỗ trợ của các loại cơ sở dữ liệu quan hệ có thể kết hợp với một kịch bản trên trình chủ nh ASP (activex server page) là một môi trờng tốt để phát triển ứng dụng. ASP cho phép ngời lập trình kết hợp HTML, Script và các Active server component để tạo ra các Web application. Đặc biệt, ASP xây dựng sẵn một th viện cho phép giao tiếp với Database thông qua ODBC gọi là ADO (ActiveX Data Object). Hiện nay th viện ADO là một trong những công cụ mạnh nhất trong việc phát triển các ứng dụng Web. Ngân hàng với chức năng là tổ chức tài chính trung gian hoạt động trên ba lĩnh vực chính: Nợ (huy động vốn), Có (cho vay) và nghiệp vụ môi giới trung gian(dịch vụ thanh toán...). Để thu hút vốn đầu t từ dân và từ các doanh nghiệp và chuyển các vốn đó cho các nhà đầu t cần mở rộng quy mô cho mọi ngời tiếp cận. Sử dụng mạng là một giải pháp. Để đơn giản hơn trong công tác quản lý và thực hiện tốt hơn các nghiệp vụ môi giới trung gian mà ở đây là hình thức thanh toán tiền tự động. Luận văn tốt nghiệp xây dựng một hệ thống thanh toán tiền qua ngân hàng và thực hiện một số chức năng quản trị trong ngân hàng dựa trên ASPADO (activex server pager- activev data object). Trong quá trình thực hiện đề tài đã giúp cho tôi tích lũy đợc nhiều kiến thức cũng nh kinh nghiệm thực tế trong việc thiết kế các ứng dụng Web
database. Từ việc cài đặt Windows NT Server, Internet Information Server, Active Server Pages sử dụng các công cụ của Visual InterDev, ProntPage cho đến việc tìm hiểu sâu hơn những nguyên lý hoạt động, phơng thức tổ chức,
quản trị và đặc biệt là khả năng tích hợp những dịch vụ đợc cung cấp bởi các hệ thống trong một ứng dụng Web. Hiện tại, ứng dụng đã xây dựng đợc một hệ thống thanh toán tiền qua mạng và một số chức năng quản trị trong ngân hàng. Với lần đầu tiên lập trình trên mạng nên không thể tránh đợc những thiếu sót và hạn chế rất mong nhận đợc sự đóng góp của thầy cô và các bạn Cuối cùng, tôi xin chân thành cám ơn TS. PHAN LÊ NA đã tận tình hớng dẫn tôi trong quá trình làm luận văn và các thầy cô trong khoa CNTT cùng các bạn sinh viên đã có những giúp đỡ và đóng góp quí báu.
Nguyễn Thị Quỳnh Vinh
2
Giới thiệu về đề tài Ngân hàng là nơi cung ứng điều hòa khối lợng tiền tệ trong nớc. Ngày nay chúng ta không thể hình dung nổi một nền kinh tế thị trờng mà vắng bóng tổ chức trung gian, tức là các tổ chức làm chức năng nh chiếc cầu nối giữa ngời có vốn và ngời cần vốn. Công nghệ tài chính đã đợc sử dụng triệt để nhằm thu hút toàn bộ nguồn vốn dự trữ với quyền hạn và quy mô khác nhau phục vụ cho sản xuất và kinh doanh. Mô hình thanh toán qua mạng là một khái niệm không phải là mới
mẻ gì nó đã tồn tại từ lâu trên thế giới nhng nó thực sự vẫn còn mới mẻ ở Việt Nam. Hình thức thanh toán qua mạng giúp cho mỗi cá nhân hay mỗi tổ chức doanh nghiệp thuận tiện trong công việc và giảm đi chi phí bởi phơng thức thủ công vẫn làm. Với mô hình về dịch vụ thanh toán qua mạng thì ngời ta có thể yên tâm rằng ở bất cứ nơi đâu ngời ta cũng có thể thanh toán đợc tài khoản của mình nh là đang trực tiếp thanh toán với đối tợng đợc thanh toán, mọi việc trở nên đơn giản khi ngời sử dụng dịch vụ xác nhận thông tin của bản thân từ đó lập nên một phiên thanh toán không cần đến giấy tờ hóa đơn một cách rờm rà... Hệ thống này thực hiện hình thức thanh toán tiền thông qua tài khoản nằm trong ngân hàng. Ngân hàng sẽ là nơi lu giữ tài khoản còn lệnh thanh toán là do mỗi cá nhân hay tổ chức thực hiện. Với luận văn tốt nghiệp tôi đã chọn đề tài xây dựng một hệ thống thanh toán tiền qua ngân hàng và thực hiện một số dịch vụ trong ngân hàng.
Dịch vụ thanh toán Trớc tiên để sử dụng đợc dịch vụ thanh toán hóa đơn qua mạng Khách hàng phải trở thành thành viên dịch vụ tức là cung cấp các thông tin cá nhân cho hệ thống và phải đăng ký ít nhất một tài khoản thanh toán đã mở trong ngân hàng Thủ tục đăng ký thành công bớc kế tiếp đăng nhập vào hệ thống, quá trình này nhằm xác định khách hàng. Khi đăng nhập thành công khách hàng có thể gửi yêu cầu thanh toán, kết quả thanh toán sẽ đợc hệ thống trả về cho khách hàng.
Website Tiền Tệ Và Tín Dụng
Gửi tiền tiết kiệm Để gửi tiền tiết kiệm khách hàng chỉ cần cung cấp các thông tin cá nhân cùng loại hình gửi( gửi có kỳ hạn, không có kỳ hạn...) của mình cùng số tiền gửi. Hệ thống sẽ lu các thông tin này cho đến khi khách hàng đó đến rút tiền hệ thống sẽ tính số kỳ hạn ngời đó gửi vào và số tiền ngời đó sẽ rút ra. Vay trả Để có thể vay vốn ngân hàng ngời đó phải cung cấp các thông tin cá nhân Nếu là nhân viên nhà nớc thì cung cấp mức lơng tháng của mình. Nếu khách hàng có cầm cố tài sản, hàng hóa thì ngân hàng sẽ thực hiện. Việc kiểm định và nhập giá trị của tài sản này vào. Hệ thống sẽ tính giới hạn vay của ngời này. Trong quá trình vay khách hàng có thể trả tiền trong từng tháng hoặc trả tiền hết vào cuối đợt. Luận văn gồm: 2 phần - Phần I: Internet, ASP-ADO, VBScript. - Phần II: Website tiền tệ và tín dụng.
PHầN I: Internet, ASP, ADO, VBScript A. INTERNET
I. Internet là gì ? Internet là một mạng máy tính toàn cầu sử dụng một ngôn ngữ truyền thông chung nó tơng tự nh một hệ thống điện thoại quốc tế nhng nó đợc nối kết theo cách làm việc của một mạng lớn. World Wide Web (WWW) cho ta một hình ảnh dễ dàng giao tiếp và tìm kiếm dữ liệu trên Internet. Các dữ liệu này đợc liên kết với nhau thông qua trang Web. Các file, các trang đợc nối kết với nhau thông qua các mối liên kết là text hoặc hình ảnh đợc gọi là HyperLink.
Các trang Web có thể chứa văn bản, hình ảnh, phim, âm thanh. Các trang này có thể đợc đặt trên một máy tính ở nơi nào đó trên thế giới. Khi ta nối kết tới Internet ta có thể truy xuất thông tin trên toàn cầu.
Nguyễn Thị Quỳnh Vinh
2
Website Tiền Tệ Và Tín Dụng HyperLink là các text hay hình ảnh mà đợc gắn địa chỉ Web trên đó. Bằng cách click vào hyperlink ta có thể nhảy tới một trang thành phần của một Web site. Mỗi một Web site có một trang chủ của Web site đó và có một địa chỉ duy nhất đợc gọi là Uniform Resource Locator (URL). URL xác định chính xác tên của máy tính và đờng dẫn tới một trang Web xác định. II. Internet Information Server là gì ? Internet Information Server (IIS) là một Web server cho phép ta công bố thông tin trên mạng Intranet hay Internet. Internet Information Server truyền tải thông tin bằng cách dùng Hypertext Transfer Protocol (HTTP), Internet Information Server cũng có thể dùng phơng thức FTP hoặc Gopher. Internet Information Server làm việc nh thế nào ? Web là một hệ thống yêu cầu (Request) và đáp ứng (Response). Web browser yêu cầu thông tin bằng cách gửi một URL tới Web server, Web server đáp ứng lại bằng cách trả lại một trang HTML cho Web browser.
Hình 2.1 HTML có thể là một trang Web tĩnh đợc lu sẵn ở trên Web server hoặc có thể là một trang Web động mà server tạo ra khi đáp ứng yêu cầu của ngời sử dụng hoặc là một trang ở th mục nào đó trên server. Trang tĩnh (Static Page) Một trang HTML tĩnh là trang đã đợc chuẩn bị sẵn cho các yêu cầu nhất định và đợc đặt sẵn trên Web server. Ngời sử dụng yêu cầu một trang HTML tĩnh bằng cách gõ trực tiếp URL hoặc là Click vào Hyperlink
Nguyễn Thị Quỳnh Vinh
3
Website Tiền Tệ Và Tín Dụng của URL nào đó, URL đợc gửi tới server. Server đáp ứng bằng cách trả lại trang HTML tĩnh. Hình 2.2 Trang động (Dynamic Page) Các trang động đợc tạo ra trong quá trình đáp ứng cho yêu cầu của ngời sử dụng. Một Web browser thu thập thông tin bằng cách thực hiện một trang có các Textbox, Menu, Checkbox... cho phép ngời sử dụng điền vào hoặc lựa chọn. Khi ngời sử dụng click vào một nút (button) trên Form, dữ liệu từ Form đợc gửi tới Web server. Server đa dữ liệu này tới một Script hoặc một trình ứng dụng để xử lý. Sau đó server gửi lại kết quả cho browser bằng một trang HTML. Ví dụ sau đây cho phép ngời sử dụng gửi một yêu cầu tới một Internet Server API (ISAPI), ứng dụng này dùng để cộng 2 số. Ngời sử dụng ngập 2 số đợc cộng sau đó click một button để gửi
2 số đó tới web server. Web server gọi một ISAPI để cộng 2 số, sau đó trả lại kết quả cho browser bằng một trang HTML. Minh họa sau đây cho phép ngời sử dụng truy cập vào database bằng cách dùng Internet Database Conector. Ngời sử dụng hoàn thành một Form sau đó click vào một button để gửi dữ liệu tới server. Server nạp dữ liệu vào database sau đó trả lại một trang HTML kết quả cho browser. Hình 2.4
Sử dụng Internet Information Server nh thế nào ? Internet Information Server đủ khả năng đáp ứng các chức năng quan trọng cho các tổ chức khác nhau. Chúng ta có thể sử dụng một Server cho một Web site hoặc cũng có thể sử dụng nhiều server cho một Web site.
Nguyễn Thị Quỳnh Vinh
4
Website Tiền Tệ Và Tín Dụng Một trong những nhân tố để xác định cấu hình Internet Information Server là nó đợc sử dụng bên trong nội bộ của một mạng Intranet hay nó đợc nối kết tới Intetnet. Kịch bản sau đây giúp ta hiểu thêm phạm vi và khả năng sử dụng của Internet Information Server. Các kịch bản Internet : Internet Information server có thể là một Web server đơn giản trên Internet nh ví dụ minh họa sau đây:
Hình 2.5 Trong các Site lớn hơn, ta có thể cho phép các thành viên trong mạng truy xuất tới Web server và sử dụng các công cụ chế tác nh FrontPage để chế tác nội dung cho Web server.
Hình 2.8
Sự tích hợp Internet Information Server với Windows NT có thể tạo ra các server có nhiều chức năng. Ví dụ nh một công ty có nhiều site khác nhau trên thế giới, có thể dùng Internet Information Server để truyền thông giữa các site này với nhau.
Nguyễn Thị Quỳnh Vinh
5
Website Tiền Tệ Và Tín Dụng B. Active Server Pages
I. Giới thiệu Active Server Pages 1. Active Server Pages là gì? Microsoft Active Server Pages (ASP) là một môi trờng serverside scripting cho phép ta tạo ra và chạy các ứng dụng Web động, tơng tác với client một cách hiệu quả. ASP hoạt động dựa vào các script do ngời lập trình tạo sẵn. Khi ta cho script chạy trên server thay vì chạy ở client thì Web server của ta sẽ làm mọi công việc cần thiết để tạo ra một trang Hypertext Markup Language (HTML) trả về cho Browser hiển thị, nh vậy ta không
phải bận tâm rằng các Web browser có thể xử lý trang Web hay không vì server đã làm mọi việc. Active Server Pages chạy trên các môi trờng sau đây: - Microsoft Internet Information Server version 3.0 trở lên trên Windows NT Server 4.0 hoặc 5.0 - Microsoft Peer Web Sevices version 3.0 trên Windows NT Workstation. - Microsoft Personal Web Server trên Windows 95. 2. Mô hình của Active Server Pages Các Script của ASP chứa trong các text file có đuôi là .asp. Trong Script có chứa các lệnh của một ngôn ngữ script nào đó. Browser gửi một Request tới Server yêu cầu một file ASP. Khi Web Server nhận đợc request của browser, nó sẽ đọc từ đầu đến cuối file ASP sau đó thực hiện các lệnh script và trả lại kết quả cho browser dới dạng file HTML. Client
Server Request Page
HTTP Decoding
Active Server Pages
HTTP Encoding
Add the HTTP Wrapper
VBScript or JavaScript
Disk
Dynamic Page
Hình 2.6
Nguyễn Thị Quỳnh Vinh
6
Website Tiền Tệ Và Tín Dụng II. Cách viết các file ASP Script Một file ASP có tên mở rộng .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 nào sau đây:
Text
HTML tag
Các lệnh script của một ngôn ngữ script nào đó chẳng hạn VBScript hay JScript.
Một script là một chuỗi các lệnh script thực hiện một công việc nào đó, nó có thể là:
Gán trị cho biến
Yêu cầu Webserver gửi thông tin đến Browser gọi là Output expression (ví dụ: <%=MSSV%>)
Kết hợp các lệnh script thành các thủ tục hay hàm.
Việc thi hành một script là quá trình gửi chuỗi các lệnh tới Scripting Engine, tại đây ASP sẽ thông dịch các lệnh này và thi hành nó. Script đợc viết bằng một ngôn ngữ với các luật đợc đặc tả nào đó, nếu ta muốn sử dụng một scripting language nào thì trên server phải chạy Scripting Engine cho ngôn ngữ đó. Ví dụ, VBScript là ngôn ngữ script mặc định cho Active Server Pages, vì vậy scripting engine cho VBScript đợc cài đặt thờng trú trên server. ASP cũng cung cấp sẵn Scripting Engine cho 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. Delimiter (dấu ngăn cách) 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ụ:
Nguyễn Thị Quỳnh Vinh
7
Website Tiền Tệ Và Tín Dụng <%sport= climbing%> sẽ gán chuỗi climbing cho biến sport. Hoặc < %=sport%> để xuất giá trị của biến sport ra Browser (biểu thức này đợc gọi là Output Expression) 2. Statement (phát biểu) Một phát biểu, trong VBScript hay trong ngôn ngữ Script khác là một cấu trúc dùng để thực hiện một thao tác, phát biểu phải đợc khai báo hoặc định nghĩa trong ngôn ngữ script mà ta sử dụng. Ví dụ: đoạn script sau dùng phát biểu If ... Then ... Else của VBScript. <% If (Time >=#12:00:00 AM#) then greeting= Good Morning Else greeting= Hello !
End If %> <FONT Color= Green> <%=greeting%> </FONT>
3. Kết hợp HTML trong các phát biểu Chúng ta có thể chèn HTML text giữa các phát biểu của script. Ví dụ: <FONT Color= Green> <% If (Time >=#12:00:00 AM#) then%> Good Morning! <% Else %> Hello ! <%End If %> </FONT>
4. Include file Khi tạo một ứng dụng Web, bao gồm nhiều trang ASP, nếu nh toàn bộ các trang này đều cần sử dụng những thông tin chung nh các hằng, hyperlink, ... để tránh việc định nghĩa lại các giá trị này ở mỗi trang ASP cho phép ta include file bằng cách sử dụng dẫn hớng tiền xử lý sau: <!-- #include virtual | file = filename>
Nguyễn Thị Quỳnh Vinh
8
Website Tiền Tệ Và Tín Dụng Trong đó file đợc include phải có phần mở rộng là .inc, filename bao gồm cả đờng dẫn và tên file. Tham số virtual chỉ định đờng dẫn bắt đầu bằng một Virtual Directory. Tham số file chỉ định đờng dẫn bắt đầu với tên th mục chứa filename cần include. Từ khóa Virtual Dùng từ khóa Virtual để chỉ một đờng dẫn bắt đầu bằng một th mục ảo (Virtual Directory). Ví dụ tên file là dangky.inc nằm trong th mục ảo là /dangkymay, thì hàng lệnh sau đây sẽ chèn nội dung của dangky.inc vào file có chứa dòng lệnh này.
Từ khóa File Từ khóa File để chỉ đờng dẫn mà bắt đầu bằng th mục chứa file cần include. Ví dụ : <!-- #Include File=html/header.inc --!>
Ta cũng có thể dùng tham số file với đờng dẫn tơng đối . . / để include file từ th mục cha hay th mục có cấp cao hơn. Ví dụ : <!-- #Include File=. . /header.inc --!>
Các lu ý khi sử dụng Include file Một file đợc include cũng có thể gọi include một file khác. Một file ASP cũng có thể gọi include một file nhiều lần nhng với điều kiện là lệnh include không đợc sinh ra vòng lặp. Ví dụ, file First.inc gọi include file Second.inc thì file second.inc không đợc gọi include file First.inc và cũng không đợc gọi include file của chính nó. ASP thực thi include file trớc khi thực thi các lệnh script, cho nên
ta không thể dùng các lệnh script để tạo ra tên của file cần include. III. Các Built-In Object của ASP ASP cung cấp sẵn 5 đối tợng (object) khi sử dụng không cần phải tạo ra các instance cho chúng, mỗi đối tợng thực hiện một số chức năng riêng khác nhau. Các đối tợng này đợc gọi là các Built-in-Object, bao gồm: Request: lấy thông tin từ một user
Nguyễn Thị Quỳnh Vinh
9
Website Tiền Tệ Và Tín Dụng Response: gửi thông tin tới một user Server: điều khiển môi trờng hoạt động của ASP Session: lu giữ thông tin về 1 session của user Application: chia sẻ thông tin giữa các user trong cùng một ứng dụng Cú pháp của các đối tợng Cú pháp của các đối tợng không phụ thuộc vào scripting language mà ngời lập trình sử dụng. Để 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). IV. 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à các 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 là: Object.Property [parameters] parameter là các thông số của Property Parameter thờng là các biến, dữ liệu, chuỗi ký tự, hoặc là một URL. 1. Request object Request Object lấy các giá trị mà client browser gởi lên server thông qua một HTTP request. Đây là cách mà các ứng dụng ASP lấy đợc thông tin gửi tới từ user, ví dụ: khi user Submit thông tin từ một FORM.
Nguyễn Thị Quỳnh Vinh
10
Website Tiền Tệ Và Tín Dụng Request Object cho phép truy xuất tới bất kỳ thông tin nào do user gởi tới bằng giao thức HTTP nh: Các thông tin chuẩn nằm trong các biến Server (variable server) Các tham số đợc gửi tới bằng phơng thức POST Các thông tin đợc gửi tới bằng phơng thức GET Các cookies (là các thông tin của user đợc gửi kèm theo) tới từ Browser.
Các Client Certificates Request Object có 5 collection sau: QueryString
Nhận giá trị của các biến trong HTML querystring, đó là giá trị đợc gởi lên theo sau dấu chấm hỏi (?) trong HTML request.
Form
Nhận các giá trị của các phần tử trên FORM sử dụng POST method.
Cookies
Cho phép nhận những giá trị của cookies trong một HTML request
ServerVariable
Nhận các giá trị của các biến môi trờng.
ClientCertificate
Nhận certificate fields từ request của Web browser.
Cú pháp tổng quát khi sử dụng Request object là: Request.CollectionName(variable) Variable là tên biến trong Collection muốn truy xuất thông tin.
Cũng có thể sử dụng cú pháp: Request(variable) Khi đó thứ tự tìm kiếm sẽ tuân theo danh sách các collection trên và khi gặp biến đầu tiên trùng tên thì trả về giá trị của biến đó. Vì thế nếu có nhiều hơn một biến với cùng một tên trong các collection khác nhau thì
Nguyễn Thị Quỳnh Vinh
11
Website Tiền Tệ Và Tín Dụng nên sử dụng dạng cú pháp tổng quát. Sau đây là một số ứng dụng của đối tợng Request:
Lấy thông tin từ FORM HTML Form là cách thứ thông thờng để trao đổi thông tin giữa Webserver và user. HTML Form cung cấp nhiều cách nhập thông tin của user nh: text box, radio button, check box, submit, reset, password, ... và hai phơng thức gửi thông tin là POST hoặc GET. ứng dụng ASP có thể sử dụng Form để tạo ra sự liên lạc dữ liệu giữa các trang theo một trong ba cách: File .htm chứa các form và gửi (submit) giá trị của nó tới một file .asp File .asp có thể tạo Form và gửi giá trị tới một file .asp khác. File .asp có thể tạo Form và gửi thông tin tới ngay chính nó. Khi lấy thông tin từ Form, đối tợng Request có thể lấy các loại thông tin khác nhau, bằng cách:
Sử dụng QueryString QueryString collection chứa toàn bộ thông tin đợc gửi tới từ Form bằng phơng thức GET. Các giá trị gởi từ Form chứa trong một chuỗi query (query string) và đợc add vào URL (bắt đầu từ dấu chấm hỏi (?) trở về sau là phần query string đợc thêm vào). Điều này có thể thấy rõ khi quan sát hộp Address của Browser. Ví dụ: NAME= METHOD=GET>
Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ có dạng nh sau: http://company/asptest/GetDetails.asp?txtName=Minh&txtAge=30
Nguyễn Thị Quỳnh Vinh
12
Website Tiền Tệ Và Tín Dụng Hạn chế của phơng thức GET : Chiều dài tối đa của URL là 1000 ký tự, nh vậy nếu gởi một loạt thông tin từ form, thông tin sẽ bị cắt bớt.
Sử dụng Form collection Thay vì add thông tin gửi đi từ Form vào URL nh một querystring, một phơng thức khác là POST, đặt thông tin gửi đi vào bên trong HTTP header. Ví dụ: NAME= METHOD=POST>
Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ trông có dạng nh sau: http://company/asptest/GetDetails.asp Tại thời điểm này, các giá trị gửi từ Form không thể truy xuất bằng QueryString collection. Thay vào đó, Active Server Pages hiện thực một Form collection chứa toàn bộ thông tin gửi từ Form sử dụng phơng thức POST. Gửi thông tin trong cùng một file .asp ASP cho phép một file .asp có chứa Form, khi user điền các giá trị
vào Form rồi gửi (Submit) thì chính file .asp đó sẽ nhận các thông tin này và xử lý. Ví dụ: file examp.asp có nội dung nh sau: <HTML> <BODY> <% If IsEmpty(Request(Email)) Then Msg= hãy đánh lại địa chỉ email Else If InStr(Request(Email), @)=0 Then Msg= bạn nhập sai rồi mời bạn nhập lại End If
Nguyễn Thị Quỳnh Vinh
13
Website Tiền Tệ Và Tín Dụng %> <FORM METHOD=POST ACTION=examp.asp> Email: VALUE = <%=Request(Email)%> <%=Msg%><P> <INPUT TYPE=SUBMIT VALUE=Submit> </FORM> </BODY> </HTML>
Khi user điền vào Form địa chỉ Email examp.asp này sẽ nhận thông tin bằng phát biểu:
và Submit thì file
VALUE = <%=Request(Email)%>
Đoạn script sẽ tuỳ thuộc giá trị chuỗi ký tự nhận đợc có ký tự @ hay không để trả lời với user cũng chính bằng văn bản HTML nhúng trong examp.asp. Gửi thông tin giữa các file .asp Ví dụ: Form đợc để trong vd1.asp dùng để nhập thông tin, file vd22.asp nhận thông tin từ vd1 và xử lý. Để làm đợc điều này, trong trang vd1.asp có đoạn code HTML sau: <FORM name=form1 Action=vd1.asp method=POST> Name: <Input type=TEXT Name=txtName> </FORM>
và đoạn code sau trong trang vd2.asp dùng để nhận các thông tin sẽ submit từ form1. <% name=Request(txtname) %> Khi đó giá trị mà user đã gõ vào Form1 sẽ đợc lấy và lu vào biến Name ở vd2.asp.
Nguyễn Thị Quỳnh Vinh
14
Website Tiền Tệ Và Tín Dụng 2. Response object Việc gửi thông tin tới cho user đợc thực hiện nhờ đối tợng Response qua việc gọi các phơng thức sau: Response.Write : Gửi thông tin trực tiếp tới user Response.Redirect : Gửi thông tin trực tiếp tới user ở một URL khác với URL đã yêu cầu. Response.ContentType: Thay đổi kiểu của nội dung cần gửi. Response.Cookies : Thiết lập các giá trị cookies. Response.Buffer: Đệm thông tin xuất. Response.Write[variant]: Gửi văn bản tới user: trong đó variant là dữ liệu bất kỳ mà ngôn ngữ script đang sử dụng chấp nhận. Response.Redirect URL: Chuyển hớng kết nối đến URL khác. Response.ContentType=ContentType: ContentType.
Thiết
lập
HTTP
Ví dụ: <%Response.ContentType=text/plain%> Browser sẽ hiển thị trang nhận đợc nh một văn bản bình thờng chứ không phải nh một văn bản HTML.
Sử dụng Cookies Cookies đợc tạo ra để khác phục vấn đề nhận biết ngời truy cập nhằm duy trì tính liên tục giữa những lần truy cập. Không một cấu trúc Word Wide Web gúi công bố PC đang gửi yêu cầu. Một cookies đợc coi nh một dấu hiệu đi kèm theo user trong quá trình trao đổi thông tin giữa Web client và Web server. Các script của ASP có thể dùng Response để lấy hoặc thiết lập giá trị của cookies bằng cách sử dụng cookies colletion theo cú pháp: Response.Cookies(cookie)[(key)][.attribute]
Nguyễn Thị Quỳnh Vinh
15
Website Tiền Tệ Và Tín Dụng trong đó cookie là tên của cookie. key là thông số tùy chọn. Nếu key đợc đặc tả thì cookie là từ điển và key sẽ đợc thiết lập giá trị, .attribute là các thuộc tính của cookie đó.
Bufferring Response Thuộc tính Buffer chỉ định rằng trang xuất (page out) có đợc đệm lại hay không. Khi một trang bị đệm lại thì server sẽ không gửi đáp ứng nào tới client cho đến khi tất cả các server script trong trang hiện hành đã đợc xử lý, hoặc là cho đến khi phơng thức Flush hoặc End đợc gọi. Thuộc tính Buffer mặc định cho tất cả trang ASP là False. Để thiết lập trị Buffer gọi: <%Response.Buffer=True%>
3. Session object Đối tợng Session dùng để lu trữ các thông tin của một usersession. Các giá trị lu trữ trong session sẽ không bị loại bỏ đi khi user chuyển từ trang này sang trang khác trong một ứng dụng, chúng chỉ bị loại bỏ khi user session-end. Web server tự động tạo ra Session object khi một trang web trong ứng dụng đợc yêu cầu bởi một user mà user này cha có một session. Server sẽ tự động hủy bỏ user-session khi nó hết hạn hoặc bị bỏ (abandon). Cú pháp: Session.Properties | Method Properties SessionID
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
chỉ thời gian sống của session object, nếu user không refresh hay request một trang trong khoảng thời gian qui định, session sẽ kết thúc.
Method Abandon
hủy bỏ một session.
Events
Nguyễn Thị Quỳnh Vinh
16
Website Tiền Tệ Và Tín Dụng Session_OnStart
xảy ra khi user request lần đầu tiên 1 trang của ứng dụng
Session_OnEnd
xảy ra khi session end, hoặc khi không có request nào trong khoảng timeout (mặc nhiên là 20 phút)
Các thông tin lu giữ trong Session đợc giữ nguyên trong suốt thời gian session tồn tại và có giá trị trong cả tầm vực của session. Ví dụ: <%Session(username)=John Session(age)=35%> 4. Application object Application dùng để 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 sẻ bởi nhiều user, nên hai phơng thức Lock và Unlock bảo đảm nhiều user không thể thay đổi một property đồng thời. 5. Server object Property ScriptTimeOut
khoảng thời gian chạy của một script
Methods CreateObject
tạo một instance cho một server component Cú pháp: trong cần tạo.
Server.CreateObject(ProgID), đó ProgID là tên của đối tợng
HTMLEncode
áp dụng sự mã hóa HTML lên một string đợc chỉ định
MapthPath
ánh xạ một đờng dẫn tơng đối hoặc virtual tới một th mục vật lý trên server.
URLEncode
mã hóa một string thành dạng URL
Nguyễn Thị Quỳnh Vinh
17
Website Tiền Tệ Và Tín Dụng V. Sử dụng các Component của ASP Ngoài các Built-in object, ASP còn cung cấp sẵn một số ActiveX Server component, đợc thiết kế để chạy trên các Web server nh là một phần của các ứng dụng Web. Mỗi một server component là một th viện các Class (hay Object) đợc thiết kế ở dạng Automation Server, thực hiện một nhóm công việc chung nhất cho một thao tác nào, ví dụ nh việc truy xuất cơ sở dữ liệu, truy xuất file... nhờ đó ta không phải tạo lại các chức năng này nữa. Tuy nhiên, ASP vẫn cho phép ngời lập trình có thể tạo riêng server component của mình và add vào ứng dụng Web. Các component đợc cài sẵn trong Active Server Pages gồm: Adrotator Browser Capabilities Database Access Content Linking File Access Tạo các instance của các component Dùng phơng thức CreateObject của đối tợng Sever, cú pháp nh sau: Server.CreateObject(ComponentName) Ví dụ: tạo một đối tợng connection là Conn từ ADO component <% Set Conn=Server.CreateObject(ADODB.Connection)%>
C. ADO-ACTIVEX DATA OBJECT
Database Access component còn gọi là th viện ADO (ActiveX Data Object), các object của ADO cung cấp cơ chế tạo kết nối (connection) với hầu hết các kiểu database, cũng nh việc truy xuất, cập nhật các
database này. I. ADO Interface Các đối tợng trong ADO giao tiếp với database thông qua ODBC (Open Database Connectivity), chúng có thể đợc sử dụng với bất kỳ loại
Nguyễn Thị Quỳnh Vinh
18
Website Tiền Tệ Và Tín Dụng database nào nếu nh có ODBC driver hỗ trợ. ASP cài đặt sẵn hầu hết các driver thông dụng nh: Foxpro, Access, SQL server, Oracle. Active Server Pages
Data Source
ActiveX Database Component
ActiveX Data Objects
ODBC Driver
Data Provider
Interface
Hình 2.2 Với Data Provider đại diện cho các phần mềm driver, nó cho phép ta giao tiếp với các loại dữ liệu khác nhau. II. Các Object trong ADO Gồm: Connection, RecordSet và Command. Sử dụng Connection ta có thể thiết lập sự liên kết với cơ sở dữ liệu, thông qua đó ta có thể lấy ra các record hoặc cập nhật một record bằng cách sử dụng Command object. Kết quả thực hiện các query trên database sẽ đợc lu vào đối tợng RecordSet, trên đối tợng này ta có thể duyệt và lấy ra một hay nhiều record. 1. Connection object Trớc tiên ta phải tạo instance cho đối tợng connection bằng phát biểu sau: <% Set Connection_Name=Server.CreateObject(ADODB.Connection) %>
Các phơng thức của đối tợng connection a) Open method : đợc sử dụng để mở một liên kết với Database. Ngay sau khi tạo instance cho Connection object, ta có thể mở một kết nối tới Data Source để truy xuất dữ liệu, cú pháp nh sau: Connection.Open ConnectionString [User] [Password] Trong đó:
Nguyễn Thị Quỳnh Vinh
19
Website Tiền Tệ Và Tín Dụng ConnectionString là chuỗi định nghĩa tên của Data Source (DSN), tên này do ODBC tạo ra. [User] và [Password] là tên User và Password đợc database cho phép mở. b) Execute method: cho phép thực thi một câu lệnh tác động lên Data Source. Connection.Execute(CommandText,RecordsAffected,Opt ions) Trong đó: CommandText là chuỗi lệnh cần thực hiện, thông số option các các giá trị khác nhau qui định loại CommandText
Giá trị 0 1 2 4
Danh hiệu hằng tơng Loại của ứng CommandText adCmdUnknown Mặc định khi định nghĩa adCmdText Là một câu lệnh ví dụ
nh SQL adCmdTable Tên của table mà ta sẽ tạo một Recordset từ đó adCmdStoreProc Một Stored procedure trong Data source
Thông thờng các giá trị trên đợc gán sẵn vào các danh hiệu hằng và đợc đặt trong file include có tên adovbs.inc. c) Close method: đóng các kết nối đã mở. Connection.Close Connection Pooling Các ứng dụng database trên Web mở và đóng các connection với database thông qua ODBC ở mỗi trang Web. Chúng ta có thể tạo một connection mới cho mỗi Session và dùng nó cho tất cả trang Web. Tuy nhiên, với một site mà có số lợng hàng trăm user kết nối vào cùng lúc, thì việc tạo một connection mới cho mỗi user có thể làm server quá tải (overhead). Để giải quyết vấn đề này, ODBC 3.0 cung cấp một phơng thức
Nguyễn Thị Quỳnh Vinh
20
Website Tiền Tệ Và Tín Dụng mới để quản lý các connection với các database của ứng dụng Web gọi là Connection Pooling. ODBC sẽ mở và quản lý tất cả các connection, nhằm
giảm bớt số lợng connection rảnh rỗi. Mỗi khi có một yêu cầu kết nối mới thì nó kiểm tra xem có connection nào trong Connetion Pooling rảnh không. Nếu không có thì sẽ tạo connection mới, nếu có thì nó sẽ lấy connection rảnh này mà không tạo thêm connection. Nếu có một connection rảnh nào trong Connection Pooling tồn tại quá 60s thì nó sẽ tự động bị loại bỏ. Connection Pooling không đợc kích hoạt mặc định trong ASP. Muốn thiết lập Connection Pooling ta phải sửa đổi Registry, tại mục: HKEY_LOCAL_MACHINE\System\CurrentControlset\Services\ W3SVC\ASP\Parameters Tìm StartConnectionPool và thay đổi trị từ 0 thành 1. 2 . Command object Thay vì dùng phơng thức Execute của Connection để query hay update data source, ta có thể sử dụng đối tợng Command Methods CreateParameter: dùng để tạo một đối tợng Parameter Execute
dùng để thực thi câu lệnh đợc đặc tả trong thuộc tính CommandText.
Properties ActiveConnection Chỉ định đối tợng connection nào đợc sử dụng trong đối tợng Command CommandText
Chỉ định câu lệnh cần thực hiện trên cơ sở dữ liệu
CommandTimeout Xác định thời gian thực thi lệnh, giá trị thời gian này tính theo second.
CommandType
Cho biết kiểu của query đặc tả trong CommandText
Prepared
Tạo ra lệnh chuẩn bị trớc khi thực thi.
3. Recordset object
Nguyễn Thị Quỳnh Vinh
21
Website Tiền Tệ Và Tín Dụng Là kết quả trả về khi thực thi một query, thực chất nó là một bảng trong bộ nhớ, ta có thể truy xuất các record của nó qua các phơng thức và thuộc tính. Methods Open
Mở recordset mới
AddNew
Tạo một record trong Recordset loại rUpdatable
Update
Cập nhật các thay đổi vào record hiện hành
Delete
Xóa record hiện hành
Move
Dịch chuyển con trỏ record hiện hành
MoveFirst
Đến record đầu tiên
MoveNext
Đến record kế tiếp
MovePrevious Trở về record trớc đó MoveLast
Đến record cuối cùng
Requery
Thực hiện lại query tạo ra recordset
GetRow
Chứa các record vào một array
Close
Đóng lại đối tợng Recordset
Properties AbsolutePosition
Số thứ tự vị trí (vật lý) của record hiện tại
BOF
Là True nếu con trỏ nằm trớc record đầu tiên
EOF
Là True nếu con trỏ nằm ở sau record cuối cùng
CursorType
Kiểu của con trỏ đợc sử dụng trong recordset
RecordCount
Trả về tổng số record trong recordset
Tạo Recordset
Trớc tiên ta tạo instance cho recordset bằng phát biểu: Recordset_name= Server.CreateObject(ADODB.Recordset)
Sau đó dùng phơng thức Execute của đối tợng Connection hay Command để tạo ra recordset Recordset_name=ConnectionObject.Execute(CommandText, Recordaffected, Options)
Nguyễn Thị Quỳnh Vinh
22
Website Tiền Tệ Và Tín Dụng hoặc Recordset_name=CommandObject.Execute(CommandText,Recordaff ected, Options)
Ta cũng có thể dùng phơng thức Open của Recordset: Recordset_name.Open(Source,ActiveConnection,CursorType, LockType, Options)
Trong đó: - Source là một CommandObject hay một lệnh SQL hoặc là Stored Procedure. - ActiveConnection là tên của Connection đã đợc mở kết nối với database. - CursorType là kiểu con trỏ sử dụng với recordset, thông số này có
kiểu số và đợc gán trị qua các tên hằng tơng ứng nh sau: adOpenForwardOnly = 0 là giá trị mặc định, chỉ cho phép duyệt các record theo một chiều từ trên đầu đến cuối, không cho phép cập nhật hay xóa bỏ các record trong đó. adOpenKeyset = 1 Chế độ này cho phép cập nhật các record, nhng cấm truy xuất đến record của user khác thêm vào recordset. adOpenDymamic = 2 Chế độ này cho phép tất cả thao tác trên nh: thêm vào, loại bỏ, cập nhật và duyệt theo tất cả chiều lên xuống tùy ý. adOpenStatic = 3 Gần giống nh chế độ OpenForwardOnly. LockType là kiểu Locking sử dụng khi mở Recordset. adLockreadOnly = 1 không thể thay đổi dữ liệu khi mở với khóa này adLockpessimistic = 2 cho phép thay đổi dữ liệu trên Recordset, sự thay đổi này sẽ có tác dụng ngay lập tức trên data source adLockOptimistic = 3 locking record hiện hành chỉ khi ta gọi phơng thức Update. adLockBatchOptimistic = 4 thực hiện việc cập nhật theo lô (batch update)