Đề tài Thiết kế trang web động hỗ trợ dạy học

MỤC LỤC

Lời nói đầu .5

Chương 1: Giới thiệu đề tài .7

I. Mô tả đề tài .7

II. Khảo sát sơ bộ .8

III. Cấu trúc đồ án .8

IV. Phương pháp nghiên cứu .9

Chương 2: Các vấn đề về mạng máy tính .9

I. Internet là gì ?.9

II. Intranet là gì ?.10

III. Internet Information Server là gì ?.10

Chương 3: Ngôn ngữ lập trình ASP và chuỗi kết nối ADO .19

I. Giới thiệu ASP .19

1. Active Server Page là gì .19

2. Hoạt động của Active Server Page .19

3. Các hoạt động của ASP .20

4. Cấu trúc các File ASP .22

5. Các tính chất của ASP .22

II. Ngôn ngữ sử dụng lập trình với ASP .23

1. Các lệnh Script của ASP .23

2. Ngôn ngữ Script và Script Engine .24

3. Viết các thủ tục với ngôn ngữ .26

III. Những vấn đề liên quan đến xây dựng ứng dụng ASP 27

1. File Global.asa .27

2. Khai báo đối tượng và biến cố .29

IV. Các đối tượng trong ASP 32

1. Đối tượng Request .33

2. Đối tượng Response .34

3. Đối tượng Session .35

4. Đối tượng Application .36

5. Đối tượng Server .37

V. ADO (ActiveX Data Object) .38

A. Thành phần truy cập cơ sở dữ liệu .38

B. Giao diện ADO .38

C. Các đối tượng trong ADO .39

1. Đối tượng Connection .39

2. Đối tượng Command .43

3. Đối tượng Recordset .46

Chương 4: Phân tích và thiết kế hệ thống Website .51

1. Sơ đồ phân cấp chức năng .51

2. Định nghĩa các chức năng .52

2.1. Chức năng trang phổ biến kiến thức 52

2.2. Chức năng trang báo điện tử 53

 

 

2.3. Chức năng đăng nhập 53

2.4. Chức năng quản trị hệ thống .54

2.4.1. Chức năng quản lý người dùng .54

2.4.2. Chức năng quản lý bài học .55

2.4.3. Chức năng quản lý trang tin 56

3. Thiết kế cơ sở dữ liệu .57

3.1. Bảng user 57

3.2. Bảng phân quyền 57

3.3. Bảng môn học 57

3.4. Bảng bài học .58

3.5. Bảng cấu hình 58

3.6. Bảng chủ đề tin .58

3.7. Bảng nội dung tin .58

3.8. Các quan hệ cơ bản giữa các bảng trong cơ sở dữ liệu .59

Chương 5: Cài đặt và sử dụng Website .60

1. Bảo mật Password đối với hệ thống website .60

1.1. Quá trình xử lý Password khi tạo người dùng mới .60

1.2. Quá trình kiểm tra Password khi người dùng đăng nhập .60

1.3. Bảo mật từng trang .61

2. Các Modul cơ sở dữ liệu 63

 

 

2.1. Trang ADO.asp 63

2.2. Các modul phần trang báo điện tử .63

2.3. Các trang web được xuất ra để truy cập .64

3. Các trang mô tả chức năng quản trị người dùng 66

3.1. Trang mô tả chức năng thêm người dùng mới 66

3.2. Trang tìm kiếm, update và xoá user .67

4. Các trang mô tả chức năng quản trị môn học 68

4.1. Trang mô tả chức năng thêm môn học mới .68

4.2. Trang mô tả chức năng tìm kiếm, update và xoá môn học .69

5. Các trang mô tả chức năng quản trị bài học .70

5.1. Trang mô tả chức năng thêm bài học mới 70

5.2. Trang mô tả chức năng tìm kiếm, update và xoá bài học .71

6. Các trang mô tả chức năng quản trị trang báo .72

6.1. Trang mô tả chức năng soạn tin bài mới .72

6.2. Trang mô tả chức năng hiển thị, cập nhật và xoá tin bài 75

 

doc74 trang | Chia sẻ: maiphuongdc | Lượt xem: 1396 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế trang web động hỗ trợ dạy học, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ược cài đặt trên máy chủ (Server) cùng với Web Server. Một ứng dụng viết bằng ASP là một File hay nhiều File văn bản (File text) có phần mở rộng là .ASP, các File này được đặt trong một thư mục ảo (Vitual Dirrectory) của Web Server. Các ứng dụng ASP dễ tạo vì chúng ta dùng các ASP script để viết các ứng dụng. Khi tạo các script của ASP ta có thể dùng bất kỳ ngôn ngữ nào, chỉ cần có script Engine là Visual Basic Script (VBscript) và Java Script (Jscript). Ngoài ra ASP còn cung cấp sẵn các ActiveX Component rất hữu dụng, ta có thể dùng chúng để thực hiện các công việc phức tạp như truy xuất cơ sở dữ liệu, truy xuất file,… không những thế mà ta còn có thể tự mình tạo ra các thành phần (component) của riêng mình và thêm vào để sử dụng trong ASP. ASP tạo ra các trang HTML tương thích với Web Browser chuẩn. Ngôn ngữ lập trình sử dụng với ASP. 1. Các lệnh Script (Sript Command) của ASP : Một script là một chuỗi các lệnh gán biến, các lệnh yêu cầu Web Server gửi thông tin đến một trình duyệt (Browser) (Như giá trị biến). Các lệnh này kết hợp lại thành thủ tục (Procedure) hay (Function) để thực hiện một công việc cụ thể. Mỗi script của ASP được chứa trong một file .ASP. Mỗi file của .ASP có thể coi như một file HTML có thể chèn vào các lệnh của ngôn ngữ Script nào đó. Thực ra nó là một file văn bản (File text) nhưng các văn bản (Text) đó có những vùng mà khi Web Server đọc tới thì nó hiểu đó là những vùng script chứa những lệnh của một ngôn ngữ script nào đó, Web Server sẽ gọi tới các Script Engine để thực thi các lệnh Script trong khi đó. ASP quy định một vùng script nằm giữa hai dấu hoặc trong vùng của hai thẻ và . Script là đoạn chương trình thể hiện các yêu cầu của người lập trình đối với ASP, nó chứa các câu lệnh mà người lập trinh muốn ASP thực hiện và nội dung người đó muốn tạo ra trên các trang HTML kết quả trả về cho Web Browser gọi đến ứng dụng. Ta thấy Script giống như một chương trình được người lập trình viết ra để thực thi trên môi trường hoạt động của ASP, cũng giống như mọi ngôn ngữ lập trình khác như C, Pascal…, chỉ có điều khác là chương trình của ngôn ngữ khác phải biên dịch ra dạng thực thi được và dùng dạng thực thi được để chạy trên một môi trường cụ thể (DOS, Windows,..);Còn script thì không phải biên dịch trước ra dạng thực thi được mà đem dạng văn bản (Text) chạy thẳng trên môi trường của ASP. Ví dụ minh hoạ : <% myname=”tang thanh cao” If Time >=#12:00:00 am # AND time < #12:00:00 pm # then %> Goodmorning “&myname” Chào bạn 2. Ngôn ngữ Script (Script language) và Script Engine : Script của ASP được cấu thành từ các lệnh của ngôn ngữ Script (Script Language) nào đó, xen lẫn vào đó là nội dung dạng HTML, để trả về kết quả cuối cùng ở dạng HTML. Ngôn ngữ (Script Languague) nằm ở khoảng ngôn ngữ siêu văn bản(HTML) và các ngôn ngữ lập trình như Java, C, C++, Visual Basic…Ta biết HTML dùng để định dạng và liên kết các văn bản, còn các ngôn ngữ lập trình có khả năng tạo ra chuỗi các lệnh phức tạp cho máy tính thực hiện. Đối với script language, nó nằm ở giữa, tuy nhiên nó gần với ngôn ngữ lập trình hơn là HTML. Khác nhau cơ bản giữa ngôn ngữ Script(Script Language) và các ngôn ngữ lập trình là ở chỗ các luật và cú pháp của ngôn ngữ Script (Scripting Language) linh hoạt và hiểu hơn ngôn ngữ lập trình. Script Engine là các đối tượng có nhiệm vụ xử lý các Script. ASP cung cấp một môi trường chủ cho các script Engine và phân phối các script trong các file. ASP cho các máy (Engine) này để xử lý. Để sử dụng được một ngôn ngữ lập trình Script (Script Language) cùng với ASP ta phải cài đặt Script Engine tương ứng với Web Server. Ví dụ như Visual Basic Script (VBscript) là Script Language mặc định của ASP, do đó ta phải có VBscript. Tương tự ASP có thể cung cấp môi trường Script cho các ngôn ngữ script (Scripting Language) như Jscript, Rexx, Perl,… ASP cho phép nhà lập trình dùng nhiều ngôn ngữ script (Scripting Language) cùng lúc để tạo các thủ tục phức tạp mà không phải bận tâm các Browser có trợ giúp các ngôn ngữ script (Scripting Language) hay không. Vì tất cả các Script đều được thực thi ở máy chủ (Server). Không những thế ta còn có thể dùng nhiều ngôn ngữ script (Scripting Language) trong cùng một file .ASP chỉ cần bằng cách một thẻ HTML (HTML Tag) để khai báo ngôn ngữ Script nào được dùng. ASP mặc định sử dụng ngôn ngữ script (Scripting Language) chính (Primary Scripting Language) là VBscript. Tuy nhiên ta vẫn có thể định dạng lại ngôn ngữ script (Scripting Language) chính trong cả hai phạm vi là toàn bộ môi trường ASP, hay chỉ trong một file .ASP nào đó. Để thay đổi ngôn ngữ script (Scripting Language) chính trong toàn bộ môi trường ASP ta phải thay đổi tên ngôn ngữ script (Scripting Language) trong giá trị của một Registry Entry của hệ thống có tên là Default Script Language. Ví dụ như mặc định là VBscript, ta có thể thay đổi lại hay Jscript,… Để thay đổi ngôn ngữ script (Script Language) chính chỉ trong một file .ASP nào đó, ta chỉ cần đặt ở đầu File một thẻ đặc biệt có dạng : với một ngôn ngữ script (Scripting Language) là tên ngôn ngữ script (Scripting Language) muốn đặt làm ngôn ngữ script (Scripting Language) chính như VBscript, Jscript,… 3. Viết các thủ tục và ngôn ngữ : Một trong các đặc tính mạnh của ASP là khả năng kết hợp nhiều ngôn ngữ script (Scripting Language) trong một file .ASP. Nếu biết tận dụng khả năng này ta có được một công cụ rất mạnh để thực hiện những công việc phức tạp. Một thủ tục (Procedure) là một nhóm các dòng lệnh Script thực hiện một tác vụ nhất định. Ta có thể tạo ra các thủ tục (Procedure) để dùng nhiều lần trong các script. Có thể định nghĩa các thủ tục (Procedure) bên trong các dấu phân cách (Delimeter) nếu như có được viết bằng ngôn ngữ script (Scripting Language) chính. Nếu không thì có dùng trong các thẻ (Tag). Ta có định nghĩa các thủ tục (Procedure) trong các file .ASP có gọi đến nó trong các file riêng chỉ chứa các thủ tục (Procedure) rồi Include File đó vào khi cần gọi thủ tục (Procedure) đó. Thường các file Include trong ASP quy ước có đuôi .INC. Những vấn để liên quan tới việc xây dựng ứng dụng ASP : Khi xây dựng một ứng dụng trên môi trường ASP để chương trình sinh động ta cần lưu ý : Xây dựng file Global.asa. Viết mã script. Thêm các đối tượng (Object) có sẵn vào trong chương trình. Sử dụng các ActiveX Component. Lấy thông tin người sử dụng (User), gửi thông tin người sử dụng. 1. File Global.asa : File global.asa là một file tuỳ chọn, trong đó bạn có thể khai báo các Script đáp ứng biến cố, các biến có tầm hoạt động là Application hay Session (Phiên). Đây không phải là file nhìn thấy bởi người sử dụng (User), trái lại nó chứa thông tin được sử dụng bởi ứng dụng một cách toàn cục. File này phải cài đặt tên là Global.asa duy nhất. Một file global.asa có thể chứa các thành phần sau : Application Event, Session Event, định nghĩa các đối tượng. Nếu bạn viết các Script không được bao bởi thẻ (tag) , hoặc định nghĩa các đối tượng không có tầm hoạt động Application hay Session thì máy chủ (Server) sẽ trả về lỗi. Server sẽ bỏ qua những script có chứa những thành phần HTML mà các biến cố Application và Session không thể xử lý như trong một file HTML thông thường. Những Script trong file global.asa có thể viết bằng bất cứ ngôn ngữ nào có hỗ trợ script. Nếu các script được viết bởi cùng một ngôn ngữ thì có thể hợp chúng trong cùng một thẻ (Tag) duy nhất. Khi ta thay đổi file global.asa và ghi lại thì server hoàn tất việc xử lý những nhu cầu ứng dụng hiện thời trước khi nó biên dịch lại file global.asa, trong khoảng thời gian này server từ chối và ra thông báo : “The request cannot be processed while the application is being restarted”, sau khi yêu cầu được xử lý xong server xoá bỏ tất cả các phiên (session) đang chạy, gọi biến cố Session_Onend tương đương phiên mà nó đã xoá, tiếp theo gọi biến cố Application_Onend. File global.asa được biên dịch lại, yêu cầu của người sử dụng tiếp theo sẽ khởi động ứng dụng trở lại (gọi biến cố Application_Onstart và Session_Onstart). Tuy nhiên khi lưu lại những file được Include trong file global.asa thì không gây nên biến cố này, muốn khởi động lại phải ghi lại file global.asa. Các thủ tục trong file global.asa chỉ có thể được gọi trong từ các script trong biến cố : Application_Onstart, Application_Onend, Session_Onstart, Session_Onend. Các thủ tục này không thể gọi trong các trang ASP trong ứng dụng dựa trên ASP. Để share (chia sẻ) các thủ tục giữa các file ASP khác nhau trong một ứng dụng, cần định nghĩa chúng trong một file riêng rồi dùng Include để chèn chúng vào các trang ASP có gọi thủ tục đó. Những File Include thường có phần mở rộng .INC. 2. Khai báo đối tượng và biến cố : Biến cố Application : Application_Onstart : Xảy ra trước khi Session đầu tiên được tạo, nghĩa là trước biến cố Session_Onstart, khi có yêu cầu đầu tiên đến trang ASP của ứng dụng. Chỉ có các đối tượng ứng dụng (Application) và các đối tượng cài đặt trong server là có thể sử dụng. Các tham khảo đến đối tượng Session, Request, Response sẽ gây ra lỗi. Cú pháp : Sub Application_Onstart … End Sub Tham số Script Language : chỉ định ngôn ngữ Script dùng để viết Script. Thường sử dụng biến cố để khởi động một số biến toàn cục, thông tin hệ thông. Application_Onend : xảy ra trước khi đóng ứng dụng, sau khi biến cố Session_Onend cuối cùng xảy ra chỉ có các đối tượng ứng dụng (Applition) hay các đối tượng được cài đặt sẵn trong máy chủ (Server Build-In) là có thể sử dụng. Cú pháp Application_onend … End sub Tham số script language chỉ định ngôn ngữ script dùng để viết Script. Thường sử dụng biến cố này để xoá, cập nhật lại thông tin của hệ thống. Biến cố Session : Web Server tự động tạo một session cho một người sử dụng cho một trang Web tương ứng khi được yêu cầu. Máy chủ (Server) sẽ xoá bỏ một session khi nó vượt thời gian (Time-Out) hoặc phương thức (Method) được gọi. Những biến cố của phiên (Session) : Session_Onstart : Xảy ra khi máy chủ (Server) tạo một session mới. Bạn phải khai báo biến cố tầm hoạt động trong biến cố. Ta có thể tham khảo tất cả các đối tượng được cài đặt (Buil-In) trong biến cố này. Cú pháp : Sub Session_Onstart … End Sub Tham số : Script Language chỉ định ngôn ngữ Script. Ta có gọi phương thức Redirect trong biến cố Session_Onstart, chẳng hạn để bảo đảm người sử dụng muốn mở ngay sang một trang khác trang được chỉ định, thì Redirect sang trang chỉ định. Tuy nhiên cần chú ý là những Browser không hỗ trợ Cookies thì nó sẽ không lưu lại Session ID của nó nên bất cứ khi nào mở một trang mới thì server lại tạo một trang Session mới. Ví dụ : Sub Session_Onstart Application.lock Application (“accessnumber”) = Application (“accessnumber”) + 1 Application.unlock End sub Session_Onend : Xảy ra khi một session được đóng hoặc vượt quá thời gian (Timeout). Dùng biến cố để xoá các biến đã đặt trong quá trình sử dụng của người sử dụng (User). Cú pháp : Sub Session_Onend … End Sub Khái báo đối tượng . Ta có thể tạo các đối tượng tầm hoạt động là session hay application trong các file global.asa. Đối tượng này thực sự được tạo ra khi server xử lý một Script có tham khảo đến đó. Cú pháp : <Object Runat = Server Scope = Scope ID = Indentifier {progid = proid | classid = “classid”/> … trong đó : - Scope : chỉ định tầm hoạt động của đối tượng, là “Session” hay “Application”. - Identifiler : Tên Instance của đối tượng. - ProgID : Một định danh được kết hợp với định danh Class, ProgramID hay classID phải được chỉ định trong khai báo . - ClassID : Định danh duy nhất cho một đối tượng lớp OLE, ProgramID hay classID phải được chỉ định trong khai báo . Ví dụ : ClassID = “clsid : 79076FBO-B72” ID = “spntest” codebase = “ microsoft.com.control”> . Các đối tượng trong 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 nào đó. Khi đó thường 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 những nhu cầu tạo ra những đố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 liên kết hợp giữa lập trình và dữ liệu mà có thể xử lý thống nhất. Đối với phần lớn các đối tượng, để sử dụng được nó ta 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 phải tạo Instance. Chúng ta gọi là các đối tượng được cài đặt sẵn (Build-In Object), bao gồm : Request : là đối tượng chứa các thông tin ở Web Browser gửi yêu cầu tới Web Server. Response : là đối tượng chứa thông tin từ server gửi cho Web Browser. Server : là môi trường 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 dụng Web của ASP, chứa Script hiện hành. Session : là một biến đại diện cho người sử dụng (User). 1. Đối tượng Request : Định nghĩa : với đối tượng Request, các ứng dụng ASP có thể lấy dễ dàng các thông tin gửi tới từ người sử dụng (User). Ví dụ khi sử dụng gửi (User submit) từ một Form Đối tượng Request cho phép truy xuất tới bất kỳ thông tin nào do người sử dụng (User) gửi tới bằng giao thức HTTP như sau : Các thông tin chuẩn nằm trong các biến Server Các tham số gửi tới bằng phương thức POST Các tham số gửi tới bằng phương thức GET Các Cookies Các Client Certificates. Cú pháp tổng quát : request.(collectionname)(variable) Đối tượng Request : có 5 Collection. Client Certificate : Nhận Certificate Fields từ Request của Web Browser. Nếu Web Browser sử dụng http:// để kết nối với server, Browser sẽ gửi Certificate Fields. Query string : Nhận giá trị của các biến trong HTML Query String. Đây là một giá trị được gửi lên theo sau dấu hỏi (?) trong HTML Request. Form : Nhận giá trị của các phần tử trên Form sử dụng phương thức POST. Cookies : Cho phép nhận những giá trị của cookies trong HTML Request . Server Variable : Nhận giá trị của các biến trong môi trường. 2. Đối tượng Response : Định nghĩa : việc gửi thông tin tới người dùng sẽ được thể hiện nhờ đối tượng Response. Cú pháp tổng quát : Response.collection\property\method Collection của đối tượng Response: Cookies : xác định giá trị biến Cookies. Nếu Cookies được in ra không tồn tại, nó sẽ được tạo ra, nếu có tồn tại thì nó nhận giá trị mới. Các thuộc tính (Properties): Buffer: chỉ ra Web Output được giữ lại đệm Buffer hay không. Khi một trang được đệm lại, máy chủ sẽ không gửi một đáp ứng nào cho trình duyệt cho đến khi tất cả các Script trên trang hiện tại đã được thực thi xong hay phương thức FLUSH hay END được gọi. Content Type: chỉ ra HTML Contenttype cho đáp ứng (Response). Nếu không có Contenttype được chỉ ra, chỉ mặc định là “Text/HTML”. Expires: chỉ định số thời gian trước khi một trang được đệm (Cached) trên một trình duyệt (Browser) hết hạn. ExpiresAbsolute: chỉ ra ngày giờ của một trang được đệm (Cached) trên trình duyệt (Browser) hết hạn. Status: chỉ ra trạng thái của máy chủ. Giá trị trạng thái được định nghĩa trong đặc tả HTTP. Các phương thức (Methods): AddHeader (Tên, Nội dung): tạo ra một phần đầu (Header) HTTP tuỳ biến sử dụng các giá trị tên và nội dung và thêm nó vào đáp ứng. Không thể thay đổi một phần tử đầu (Header) đã tồn tại có cùng tên. Một khi đã thêm một phần đầu (Header), không thể thu hồi nó. Cần phải sử dụng trước khi gửi bất cứ trang nội dung nào (text hay html) đến máy khách (client). Binarywite: xuất thông tin Output HTML dạng nhị phân (binary). Clear : xoá đệm Output HTML. Tuy nhiên, phương thức này chỉ xoá đáp ứng phần thân (Response Body) mà không xoá đáp ứng phần đầu (Response header). Phương thức này sẽ lỗi nếu như đáp ứng (Response) chưa thiết lập thành true. End dừng xử lý file .asp và trả kết quả hiện tại. Flush: gửi thông tin trong Buffer cho client. Phương thức này sẽ sinh lỗi nếu Response.Buffer chưa thiết lập thành true. Redirect: gửi một thông báo cho trình duyệt (Browser) định hướng lại cho đến một URL khác. Ghi một biến ra HTML Output như là một chuỗi. 3. Đối tượng Session: Định nghĩa: chúng ta có thể sử dụng một đối tượng phiên (Object Session) để lưu trữ thông tin cần thiết cho một người sử dụng (User). Những biến được lưu trữ trong đối tượng (Object) vẫn tồn tại khi người sử dụng nhảy từ trang này sang trang khác trong ứng dụng. Web Server tự động tạo đối tượng phiên khi người sử dụng chưa có phiên yêu cầu một trang Web. Khi session này kết thúc thì các biến trong nó được xoá để giải phóng tài nguyên. Các biến session có tầm hoạt động trong session đó mà thôi. Cú pháp tổng quát: Session.Property | Method Các thuộc tính (Property): SessionID: trả về SessionID cho người sử dụng (User). Mỗi phiên (Session) sẽ được cho một định danh duy nhất khi nó tạo ra. Timeout: khoảng thời gian tồn tại của một session, tính bằng phút, mặc định 20 phút. Các phương thức (Method): Abandom: xóa bỏ một đối tượng phiên, trả về tài nguyên hệ thống. Session (“Login”): cho biết người yêu cầu truy xuất đến trang có login chưa. Session (“Username”): tên của Account tạo ra session hiện tại. Session (“Selectedtopic”): tên chủ đề đang được chọn để thực hiện một thao tác nào đó. 4. Đối tượng Application: Định nghĩa: ta có thể sử dụng đối tượng ứng dụng (Object Application) để cho phép nhiều người sử dụng một ứng dụng chia sẻ thông tin với nhau. Bởi vì đối tượng ứng dụng được dùng chung bởi nhiều người sử dụng, do đó đối tượng có hai phương thức Lock và Unlock để cấm không cho người khác sử dụng đồng thời thay đổi thuộc tính (Property) của đối tượng (Object) này, các biến ứng dụng (Application) là toàn cục, có tác dụng trên toàn ứng dụng. Cú pháp tổng quát: Application.Method. Các phương thức (Method): Lock: phương thức này cấm không cho client khác thay đổi thuộc tính của đối tượng ứng dụng. Unlock: phương thức này cho phép máy khách (client) khác nhau thay đổi thuộc tính property của đối tượng ứng dụng. Events: gồm có hai event được khai báo trong file blobal.asa. Ngoài ra chúng ta có thể đặt các biến trong đối tượng Application để lưu những thông tin toàn cục, hay các tờ báo hiệu. Application_Onstart: xảy ra khi khởi động ứng dụng. Application_Onend: xảy ra khi ứng dụng đóng, sau đó khi máy chủ tắt (Server Shutdown). 5. Đối tượng Server: Định nghĩa: cho phép truy xuất đến các thuộc tính và phương thức của server như những hàm tiện ích. Cú pháp tổng quát: server.method. Các thuộc tính (Properties): Creatobject: tạo Instance của server Component. HTML Encode: mã hoá chuỗi theo dạng HTML. Mappath: ánh xạ đường dẫn ảo (là đường dẫn tuyệt đối trên server hiện hành hoặc đường dẫn tương đối đến trang hiện tại) thành đường dẫn vật lý. URLEncode: mã hoá một chuỗi (cả Escape) theo quy tắc mã hoá URL. Activex Data Object (ADO). Thành phần truy cập cơ sở dữ liệu (Data Access Component). Một ứng dụng Web cơ sở dữ liệu (Web Database) viết bằng ASP có thể truy xuất dữ liệu trong một cơ sở dữ liệu (Database), bằng cách sử dụng Component Data Access của ActiveX mạnh nhất của ASP trong việc phát triển ứng dụng Web Database. Các đối tượng của ADO cung cấp có thể tạo ra các kết nối với hầu hết các kiểu cơ sở dữ liệu (Database), cũng như việc truy xuất, cập nhật các cơ sở dữ liệu này. Hiện nay thư viện ADO là công cụ mạnh nhất trong việc phát triển các ứng dụng cơ sở dữ liệu trên Internet. Trong phần này ta sẽ xem xét các thành phần trong thư viện công cụ này. Giao diện của ADO: ADO được thiết kế một cách đơn giản nhất, nó giao tiếp với các cơ sở dữ liệu thông qua phương thức ODBC (Open Database Connectivity), chúng ta có thể sử dụng chúng với bất kỳ loại cơ sở dữ liệu nào nếu như ODBC có driver hỗ trợ. Sự giao tiếp giữa ADO và các thành phần khác trong hệ thống có thể mô tả theo hình vẽ sau: DATA Data Provider Interface ODBC Driver Active Server Pages Active Database Component Active Data Object Hình : Quy trình truy xuất dữ liệu qua ODBC Các đối tượng (Object) trong ADO: Các đối tượng chính trong đó là: Connection, Recordset, Command, ngoài ra đối tượng chính còn có các đối tượng, tham số , thuộc tính, phương thức sử dụng con. 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ể thực hiện các Query để lấy ra các Record hoặc tập hợp các Record bằng cách sử dụng Command Object. Kết quả thực hiện trên cơ sở dữ liệu (Database) sẽ được lưu vào Recordset, trên đối tượng này ta có thể duyệt và lấy ra một hay nhiều Record. Sau đây ta sẽ xem xét cụ thể cách sử dụng của từng đối tượng (Object). 1. Đối tượng Connection: Để sử dụng đối tượng Connection, trước tiên ta phải tạo ra một Instance cho nó, đây thực sự là một thể hiện của đối tượng này trong ASP. Phát biểu tạo ra Instance cho Connection cú pháp như sau: <% connection_name = Server.Creatobject (“ADODB.Connection”) %> Thông thường trong một ứng dụng nếu ta cần có một liên kết với DataSource cố định cho tất cả các trang thì khi đó ta sẽ đặt Instance của Connection có mức hoạt động ở mức độ Application, bằng cách phát biểu Instance ở trên vào các thủ tục Application_Onstart() <% Sub Application_Onstart () Set Connection_name = Server.Creatobject (“ADODB.Connection”) End Sub %> hoặc thiết lập cho Connection ở mức độ Session như sau: <% Sub Session_Onstart () Set Connection_name = Server.Creatobject (“ADODB.Connection”) End Sub %> Hoặc tạo File sử dụng chung. Tuy nhiên có thể xem xét thêm việc tối ưu cho các Connection trong một ứng dụng có nhiều người sử dụng (User) truy xuất tới cơ sở dữ liệu (Database), đó là khả năng Connectionpooling của ODBC. Connection Pooling: Các ứng dụng cơ sở dữ liệu truyền thống đều tạo một liên kết cơ sở dữ liệu (Database) mà nó sử dụng, còn các ứng dụng cơ sở dữ liệu (Database) trên Web lại mở và đóng các liên kết, các liên kết này ở mỗi trang Web. Một phương pháp cho các ứng dụng cơ sở dữ liệu trên web là tạo ra một sự liên kết liên tục với cơ sở dữ liệu của từng người sử dụng và lưu trữ trong đối tượng Session. Tuy nhiên phương pháp này có thể làm gia tăng số lượng các người sử dụng kết nối tới cơ sở dữ liệu mà không làm việc và chỉ đạt được độ tin cậy đối với các Website có sự lưu thông dữ liệu thấp. Connection pooling được kích hoạt mặc nhiên trong ASP, ta có thể loại bỏ bằng cách thiết lập giá trị Register Entry Start Connection về giá trị 0. Các phương thức của đối tượng Connection. Open Method: sử dụng để mở một kết nối với cơ sở dữ liệu (Database). Sau khi tạo một Instance cho đối tượng liên kết dữ liệu (Connectionobject), ta có thể mở kết nối với Data Source để có thể truy xuất dữ liệu, cú pháp cho phương thức trong VBscript như sau: Connection.Open connecstring User Password Trong đó Connecstring là chuỗi định nghĩa Data Source Execute Method: Phương thức này cho phép thực thi một câu lệnh, tác động lên DataSource. Theo trình tự sau khi đã có một kết nối tới DataSource, ta có thể sử dụng nó với phương thức Execute với cú pháp trong VBscript như sau Connection.Execute Command, Recordaffected,Option Trong đó thông số Option có giá trị khác nhau tương ứng với mỗi loại Commandtext. Các giá trị của Option theo bảng sau: Giá trị Danh hiệu tương ứng Mô tả command text 0 Adcmdunknown Giá trị này mặc định khi định nghĩa 1 Adcmdtext Commandtext là một câu lệnh (ví dụ như SQL) 2 Adcmdtable Tên của table mà ta sẽ tạo một Recordset từ đó 3 Adcmdstoredpro Một Stored Procedure Thông thường các giá trị trên sẽ được gán cho tên (danh hiệu), hằng và được cài đặt trong file Include. Close method: trong các trang ASP, sau khi đã xử lý xong dữ liệu trên DataSource, trước khi kết thúc trang sử dụng phải đóng lại các kết nối đã mở. Việc đóng kết nối nhờ phương thức Close Cú pháp như sau: Connection.Close Nếu chương trình không thực hiện việc này thì ASP sẽ tự động đóng Connection đã mở trong trang, mỗi khi người sử dụng tham khảo qua trang khác (đi khỏi tầm hoạt động của biến Instance). Nếu ta tạo Instance và mở kết nối trong các thủ tục Application_Onstart hoặc Session_Onstart thì đóng các Connection này sẽ được thể hiện trong thủ tục Onend. 2. Đối tượng Command. Thay vì phải sử dụng phương thức Execute của đối tượng Connection để Query hay Update data Source, ta có thể sử dụng đối tượng Command để thi hành các thao tác với cơ sở dữ liệu. Việc tạo Instance cho đối tượng Command cũng giống như đối tượng Connection. Command_name = Server.Creatobject (“ADODB.Command”) Tuy nhiên để sử dụng đối tượng này ta cần xem xét các phương thức và thuộc tính kèm theo. Các phương thức (Method): Creat Paramater: dùng để tạo một đối tượng (thông số) trong tập thông số. Execute: dùng để thực thi lệnh được đặc tả trong thuộc tính Commandtext. Các thuộc tính (Properties): Activeconnection: chỉ định đối tượng nào được sử dụng trong đối tượng Command. Commandtext: chỉ định câu lệnh cần thực thi trên cơ sở dữ liệu. Commandtimeout: xác định thời gian thực thi lệnh, giá trị thời gian thực thi lệnh tính bằng giây. Commandtype: cho phép kiểu query đặc tả trong commandtext. Prepared: tạo ra lệnh chuẩn trước khi thực thi. Tạo Activeconnection: Sau khi đã có các Instance của các đối

Các file đính kèm theo tài liệu này:

  • docWeb day hoc-76.doc