Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

TKLT web

I) Mô hình 3 lớp trong lập trình web

1) Khái niệm

Trong phát triển ứng dụng, để dễ quản lý các thành phần của hệ thống, cũng như không bị ảnh hưởng bởi các thay đổi, người ta nhóm các thành phần có cùng chức năng lại với nhau và phân chia trách nhiệm cho từng nhóm để công việc không bị chồng chéo và ảnh hưởng lẫn nhau tạo thành các lớp. Mô hình 3 lớp đc sử dụng phổ biến nhất bao gồm Presentation, Business Logic, và Data Access. Các lớp sẽ giao tiếp với nhau thông qua các dịch vụ (services) mà mỗi lớp cung cấp để tạo nên ứng dụng, lớp này cũng không cần biết bên trong lớp kia làm gì mà chỉ cần biết lớp kia cung cấp dịch vụ gì cho mình và sử dụng nó mà thôi.

  + Presentation Layer: Lớp này làm nhiệm vụ giao tiếp với ngƣời dùng Lớp này sẽ sử dụng các dịch vụ do lớp Business Logic cung cấp. 

+ Business Logic Layer: sử dụng các dịch vụ do lớp Data Access cung cấp, và cung cấp các dịch vụ cho lớp Presentation. Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mình.

+ Data Access Layer: Lớp này thực hiện các nghiệp vụ liên quan đến lưu trữ và truy xuất dữ liệu sử dụng các  dịch vụ của các hệ quản trị cơ sở dữ liệu như SQL Server, Oracle,… để thực hiện nhiệm vụ của mình. Trong lớp này có các thành phần chính là Data Access Logic, Data Sources, Servive Agents). .

  MVC  là một  trong những mô hình các  lớp đƣợc sử dụng rộng rãi  .MVC có ba  thành phần giống nhƣ  tên gọi    - controller,views và model. Mặc dù các  thành phần này  là những khái niệm logic nhƣng thƣờng là để làm cho chúng rõ ràng hơn, các ứng dụng thƣờng chia nó làm 3 thành phần vật l . Mô hình này có tất cả các thao tác nghiệp vụ, bao gồm cả các giao tiếp với  lớp  truy cập cơ sở dữ liệu. View biểu diễn Model dƣới dạng các mẫu tƣơng  tác với nguời dùng, thông thƣờng là các phần tử giao diện ngƣời dùng. Controller đáp ứng lại các sự kiện, thƣờng là các thao tác của ngƣời dùng và gọi tới các Model và View thích hợp. Luồng hoạt động cơ bản của MVC bao gồm các bƣớc sau:

1.  Nguời dùng tƣơng tác với giao diện ngƣời dùng (User Interface) theo một số cách nào đó ( vd: nhấn một nút).

2.  Controller nhận đƣợc thông điệp của ngƣời dùng từ giao diện ngƣời dùng.

3.  Controller truy cập và Model, để cập nhật các thay đổi thích hợp tuơng ứng với hành động của ngƣời dùng.

4.  Model đáp ứng lại các thay đổi của View

5.  View sử dụng Model để tạo ra giao diện thích hợp với ngƣời dùng.

6.  Giao diện nguời dùng chờ các  thao  tác  tiếp  theo của ngƣời dùng để  tiếp  tục một chu kỳ mới.

Tổng quát về MVC, các yêu cầu đƣợc chuyển trực tiếp tới Controller, nơi nó sẽ thực thi Model  (hoặc điều gì đó)  liên quan  tới hành động cần đáp ứng, và cuối cùng nó  thực  thi View (hoặc điều gì đó) liên quan tới các hành động đó.

2) Ưu điểm:

+ Phát triển phần mềm: Có tính chuyên nghiệp hóa, có thể chia cho nhiều nhóm được đào tạo nhiều kỹ năng khác nhau, giúp phát triển ứng dụng nhanh, đơn giản, dễ nâng cấp..

+ Bảo trì: các thành phần của một hệ thống dễ được thay đổi, sự thay đổi có thể được cô lập trong từng lớp, hoặc chỉ ảnh hưởng đến lớp ngay gần kề của nó, chứ không phát tán náo loạn trong cả chương trình.

+ Mở rộng: việc thêm chức năng vào cho từng lớp sẽ dễ dàng hơn

3)  Nhược điểm:

-Đối với dự án nhỏ mô hình MVC gây cồng kềnh, tốn thời gian trong quá trình phát triển.

-Tốn thời gian trung chuyển dữ liệu của các tầng

5.2.1. ASP  (Active Server Page)

  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  đuợ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 nhu Sun Chili!Soft. 

  Những uu điểm và nhuợ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 tuợ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 nguờ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

5.2.2. Trang ASP

Trang ASP  là một  text file có phần mở  rộng  là  .asp, có cấu  trúc nhu một  tệp  ta  liệu HTML, trong trang ASP còn các thẻ khác để nhúng các mã kịch bản để làm việc với dữ liệu nhu một ngôn ngữ lập trình thật sự. Khi webserver nhận đƣợc yêu cầu từ client về một trang asp, nó sẽ yêu cầu trình xử l  trang asp (ASP engine) để tạo ra một tệp ta liệu HTML gửi về cho client.

Ngôn ngữ kịch bản mặc nhiên trong môi trƣờng ASP là VBScript, ngoài ra có thể sử dụng các ngôn ngữ khác nhƣ Perl, Python, Jscript ... nếu webserver có cài đặt bộ xử l  ngôn ngữ này. Một trang ASP thông thƣờng gồm có các thành phần :

Khai báo ngôn ngữ kịch bản đuợc sử dụng : 

<%@ language= ngôn_ngữ%>

Các thẻ HTML

Các script cho phía client đuợc đặt trong cặp thẻ <Script> và </Script>

Mã chuơng trình đuợc đặt trong cặp thẻ <% và %>

Với cấu trúc nhu vậy, ta có thể xem trang asp là một tƣ liệu HTML đƣợc nhúng phần xử ly  viết bằng mã ASP.

II) Nguyên tức hoạt động của website

- Từ máy client gõ địa chỉ URL của trang web vào thanh địa chỉ của web browser,khi đó web browser sẽ dựa vào tên domain để tim kiếm ip của web Server (bằng cách dò trên DNS Server)

- Khi có IP, web browser sẽ gửi yêu cầu đến web Server để lấy nội dung trang web

- web Server sẽ xử lý yêu cầu của client: lấy nd của website mà client yêu cầu để gửi client

- Khi nhận đc nd trang web thì web browser sẻ hiện thị lên cho ng dùng

-Trình duyệt web sẽ tách địa chỉ website ra làm 3 phần:

            + Giao thức (http)

            + Máy chủ tên miền (www.webname.com)

            + Tên tệp (file.htm)      

- Trình duyệt web liên hệ với máy chủ tên miền (DNS Server) để phân giải tên miền  “www.webname.com” thành địa chỉ IP của web Server (Internet protocol)

- Trình duyệt sẽ gửi tiếp 1 kết nối tới máy chủ địa chỉ IP tương ứng cổng 80

- Dựa trên giao thức HTTP, trình duyệt gửi yêu cầu đến máy chủ, yêu cầu tệp “http://www.webname.com/ file.htm”

- Máy chủ sẽ gửi đoạn text dạng HTML đến trình duyệt của web client.Trình duyệt đọc các thẻ HTML, định dạng trang web và kết xuất ra màn hình web client

III) Web tĩnh

- Trang web tĩnh thường được xây dựng bằng các ngôn ngữ HTML, DHTML,…

- Trang web tĩnh thường được dùng để thiết kế các trang web có nội dung ít cần thay đổi và cập nhật.

- Website tĩnh là website chỉ bao gồm các trang web tĩnh và không có cơ sở dữ liệu đi kèm.

- Website tĩnh thích hợp với cá nhân, tổ chức, doanh nghiệp vừa và nhỏ mới làm quen với môi trường Internet.   

* Ưu điểm:

Thiết kế đồ hoạ đẹp: Trang Web tĩnh thường được trình bày ấn tượng và cuốn hút hơn trang web động về phần mỹ thuật đồ hoạ vì chúng ta có thể hoàn toàn tự do trình bày các ý tưởng về đồ hoạ và mỹ thuật trên toàn diện tích từng trang web tĩnh.

- Tốc độ truy cập nhanh: vì không mất thời gian trong việc  truy vấn cơ sở dữ liệu như web động.

- Thân thiện hơn với các máy tìm kiếm (search engine) : Bởi vì địa chỉ URL của các .html, .htm,… trong trang web tĩnh không chứa dấu chấm hỏi (?) như trong web động. 

- Chi phí đầu tư thấp:  Chi phí xây dựng website tĩnh thấp vì không phải xây dựng các cơ sở dữ liệu, lập trình phần mềm cho website và chi phí cho việc thuê chỗ cho cơ sở dữ liệu, chi phí yêu cầu hệ điều hành tương thích (nếu có).

* Nhược điểm:

- Khó khăn trong việc thay đổi và cập nhật thông tin

- Thông tin không có tính linh hoạt, không thân thiện với người dùng

- Khó tích hợp, nâng cấp, mở rộng:  Khi muốn mở rộng, nâng cấp một website tĩnh hầu như  là phải làm mới lại website.

4) Web động

- Web động là thuật ngữ được dùng để chỉ những website có cơ sở dữ liệu và được hỗ trợ bởi các phần mềm phát triển web.

-  Thông tin hiển thị được gọi ra từ một cơ sở dữ liệu khi người dùng truy vấn tới một trang web. Trang web được gửi tới trình duyệt gồm những câu chữ, hình ảnh, âm thanh hay những dữ liệu số hoặc ở dạng bảng hoặc ở nhiều hình thức khác nữa.

- Web động thường được phát triển bằng các ngôn ngữ lập trình tiên tiến như PHP, ASP, ASP.NET, Java, CGI, Perl, và sử dụng các cơ sở dữ liệu quan hệ mạnh như Access, My SQL, MS SQL, Oracle, DB2, 

- Thông tin trên web động luôn luôn cập nhật thông qua việc sử dụng các công cụ cập nhật của các phần mềm quản trị web. Vì vậy website được hỗ trợ bởi cơ sở dữ liệu là phương tiện trao đổi thông tin nhanh nhất với người dùng Internet.

- Web động có tính tương tác với người sử dụng cao.Web độngcó thể dễ dàng quản trị nội dung và  điều hành website của mình thông qua các phần mềm hỗ trợ mà không nhất thiết phải có kiến thức nhất định về ngônngữ  html, lập trình web

IV) Mô hình hướng đối tượng

  Mô hình đối tượng mô tả mối liên hệ giữa các đối tượng trong ASP nhằm tạo ra các thành phần động cho các trang web viết bằng ASP. Mỗi đối tượng có một tập hợp các phương thức, thuộc tính và sự kiện/ Chúng cung cấp tất cả các chức năng cho đối tượng. Dưới đây chúng ta cùng xem xét 5 đối tượng chính trong mô hình đối tượng của ASP. 

Đối tượng sinh mã ngữ cảnh (Scripting Context Object)

  Nó là tập các các đối tượng sinh mã ngữ cảnh đặt là gốc của mô hình đối tượng của ASP.

Không thể tham chiếu tới nó vì nó được sinh ra tự động mỗi khi một đoạn mã ASP nào đó được chạy. Nó tạo ra các vùng để các đoạn mã đó được thực thi. Và tự động hủy khi đoạn mã ASP được thực thi xong.

Các đối tượng giao tiếp – Resquest và Response

  Web tĩnh sẽ không có các tương tác giữa người dùng với server. Server chỉ đơn thuần là nơi chứa các tài liệu HTML và đáp ứng lại các yêu cầu của người dùng một cách bị động. ASP cung cấp thêm các đối tƣợng Request và Response cho phép người dùng  (trình duyệt) tương tác với Server. Nhằm tạo ra các trang web động. Đối tượng Request thực hiện việc lắng nghe các yêu cầu từ phía máy khách gửi tới máy chủ. Còn Respone có nhiệm vụ gửi các kết quả sau khi đã được server xử lý và gửi trả về client. 

  Các đối tượng trạng thái – Application và Session

HTTP là giao thức phi trạng thái. Nó không thể lưu lại các hành động đã thực hiện. Vì vậy các đối tượng Application và Session được dùng để cung cấp bộ nhớ ảo cho ứng dụng web chạy chính xác và lưu giữ lại các trạng thái đó. 

 Đối tượng Server

Đối tượng Server là đối tượng hữu dụng nhất trong tất cả.  Nó gồm 4 phưưng thức khác nhau hỗ trợ server thực thi các tác vụ, sử dụng nhiều nhất trong số đó là CreateObject - cho phép tạo ra một thể hiện của một thành phần trong ASP.

2) Các đối tượng trong ASP:

     ASP  cung  cấp  7  đối  tượng  dựng  sẵn  cho  lập  trình  ứng  dụng  web  phía  server: Application, ASPError, ObjectContext, Request, Response, Server và Session.   

a) Đối tượng Request

   Request cho phép lấy về các thông tin từ client. Khi browser gửi một yêu cầu trang web lên server ta gọi là 1 request. Chúng ta thường sử dụng các lệnh request sau:

+ Request.QueryString: Cho phép server lấy về các giá trị được gửi từ người dùng qua URL hoặc form (method GET).

request.querystring("tên biến/chuỗi query")

+ Request.Form: Cho phép server lấy về các giá trị được gửi từ người dùng qua form (method POST).

Request.form("User")

  + ClientCertificate : tập hợp này được lưu trong trường client certificate và gửi kèm trong một HTTP request. Nếu browser dùng giao thức SSL3.0 để kết nối với server và server yêu  cầu  certificate thì  browser mới  gửi  trường  này,  ngược  lại  ClientCertificate có  giá trị EMPTY 

 +  ServerVariables : chứa tất cả thông tin về biến môi trường và ta sử dụng những biến này để truy cập vào HTTP header.

b) Đối tượng Response

Đối tượng Response dùng để gửi tất cả các thông tin vừa được server xử lý trả về cho client. Chúng ta có thể xử dụng đối tượng này để giao tiếp với người sử dụng. Chúng ta thường dùng một số lệnh Response sau:

+ Response.Write: Đưa thông tin ra màn hình trang web

<%response.write "Hello"%>

+ Response.Redirect:Chuyển xử lý sang một trang Asp khác.

<% Response.redirect "error.asp" %>

+ Response.End: Ngừng xử lý các Script. Dùng lệnh này khi muốn dừng xử lý ở một vị trí nào đó và bỏ qua các mã lệnh ASP ở phía sau. Đây là cách rất hay dùng trong một số tình huống, chẳng hạn như debug lỗi

- Các thuộc tính :

    Buffer : giá trị mặc định là false, nếu thuộc tính này là true thì web server chỉ trả kết quả cho client khi tất cả các script được xử lý  hoặc phương thức Flush hay End được gọi.

c) Đối tượng Session

    Session là một phiên làm việc giữa từng người dùng và web server, nó bắt đầu khi người đó lần đầu tiên truy cập tới 1 trang web trong website và kết thúc khi người đó rời khỏi website hoặc không tương tác với website trong một khoảng thời gian nhất định (time out). Giá trị của biến kiểu session có phạm vi trong tất cả các trang ASP của ứng dụng, nhưng không có tác dụng đối với phiên làm việc khác.

Session.Collecton | Property | Method

- Các thuộc tính :

    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.

    LCID :  xác định Id của địa chỉ (LoCation IDentifier) sẽ sử dụng nội dung động, là một con số duy nhất một vị trí địa lý hay vùng miền, 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.

 SessionID : là một con số kiểu LongInteger được phát sinh bởi webserver khi một session được tạo.

  Abandon : dùng để hủy đối tượng Session và giải phóng tài nguyên của webserver. 

d) Đối tượng Application

Đối tượng Application lưu trữ toàn bộ các biến, các đối tượng của toàn bộ ứng dụng, mỗi ứng dung chạy trên server chỉ có duy nhất một thể hiện của đối tượng Application, mọi trang ASP của ứng dụng có thể truy xuất các biến, đối tượng được lưu trữ trên đối tượng này. Nói cách khác, đối tượng Application dùng để chia sẻ dữ liệu cho mọi client.

- Việc khởi tạo và kết thúc 1 biến application có thể viết trong các hàm sự kiện Application_onStart và Application_onEnd được định nghĩa trong file global.asa

- Khóa Application: Do biến application có thể được dùng chung bởi nhiều phiên nên sẽ có trường hợp xảy ra xung đột khi có 2 phiên cùng thay đổi giá trị một biến application.

Để ngăn chặn điều này chúng ta có thể dùng phương thức Application.lock để khóa biến application trước khi thay đổi nó. Sau khi sử dụng xong biến này có thể giải phóng khóa bằng phương thức application.unlock.

- Các tập hợp của đối tượng Application 

  Đối tượng Contents : là tập hợp các đề mục được tạo ra và thêm vào đối tượng Application  trong  phiên  làm  việc  của  client  thông  qua  các  câu  lệnh  script  như Server.CreateObject mà không sử dụng thẻ <OBJECT> của HTML .

  Application.Contents(key)

Key là tên của thuộc tính (biến, đối tượng) cần nhận về

-  Đối tượng StaticObjects : là tập hợp các đề mục được tạo ra và thêm vào đối tượng Application trong phiên làm việc của client thông qua sử dụng thẻ <OBJECT> của HTML ..

e) Đối tượng AspError

  Đối tượng AspError chỉ chứa các thuộc tính chỉ đọc, mô tả chi tiết các lỗi trong quá trình sử dụng các đối tƣợng của ASP.

- ASPCode : trả về mã lỗi được phát sinh do IIS

- ASPDescription : trả về một chuỗi mô tả chi tiết về lỗi

- Category : trả về một chuỗi mô tả chi tiết về lỗi được phát sinh từ IIS do quá trình sử

dụng một đối tƣợng hay script không đúng.

- Column : Trả về một số nguyên chỉ vị trí xảy ra lỗi trong tệp tin ASP

- File : Trả về tên tệp ASP bị xuất hiện lỗi.

f) Đối tượng ObjectContext

  Đối tượng ObjectContext chỉ chứa các phương thức dùng để điều khiển các giao tác (transaction) của ASP mà các giao tác này được quản lý bởi  trình MTS (Microsoft Transaction Server). Muốn sử dụng đối tượng này phải khai báo dòng lệnh @Transaction = “Required” ở dòng đầu tiên của trang ASP.

 Các phương thức :

 -  SetAbort : xác định giao tác không hoàn thành và nguồn tài nguyên có thể không được cập nhật.

  - SetComplete : ngược lại với phương thức SetAbort. Khi phương thức SetComplete được gọi thì webserver sẽ bỏ qua bất kỳ lệnh SetAbort được gọi trước đó.

  Các  sự kiện :

- OnTransactionAbort : xảy ra khi giao tác bị huỷ bỏ

- OnTransactionCommit : xảy ra khi giao tác được hoàn thành. Đối tượng này chủ yếu sử dụng khi có sự tương tranh cơ sở dữ liệu bởi nhiều client.

g) Đối tượng Server

Đối tượng Server được dùng để truy cập các thuộc tính và phương thức của server .Ta thường dùng các lệnh sau:

- Server.CreateObject:Khởi tạo 1 đối tượng

Tạo một đối tượng Connection:

<%Set conn=Server.CreateObject("ADODB.Connection")%>

Tạo một đối tượng Dictionary:

<%set d=server.createObject("Scripting.Dictionary")%>

- Server.Mappath: Biến đường dẫn tương đối thành tuyệt đối.

<%str= server.mappath("nhanvien.mdb")

Response.write str%>

Thường áp dụng server.mappath trong những trường hợp xử lý đường dẫn tương đối, ví dụ là chuỗi kết nối vào database

connstr="provider=microsoft.jet.oledb.4.0; data

source="&server.mappath("nhanvien.mdb")&";"

- 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.

- 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.   

Bạn đang đọc truyện trên: Truyen247.Pro

Tags: #tklt#web