Mô hình Client- Side Lập trì nh Client-side Ngôn ngữ được sử dụng để lập trình xử lý ở phía client gọi là Client – side script, thông dụng nhất là Java Script.. Chỉ có thể lập tr
Trang 1LẬP TRÌNH WEB ASP.NET
Ts Vũ Đức Lung
Ks Huỳnh Cao Tuấn
Ks Phan Hữu Tiếp
Trang 2Nội dung giới thiệu
Phân biệt Web tĩnh và Web động
Mô hình Client- side, Server-side
Công nghệ lập trì nh web
Giới thiệu NET
Mục đích NET
ASP & ASP.NET
Cơ bản về ASP.NET
Trang 3Phân biệt web tĩnh – web đ ộng
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 Dùng nhiều ngôn ngữ lập trì nh khác nhau và nhiều hệ cơ sở dữ liệu khác nhau
Thiết kế đ ồ hoạ đ ẹp Tốc độ truy cập nhanh Chi phí đầu tư thấp
Ưu
điểm
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
website chỉ bao gồm các trang web tĩnh và không có
cơ sở dữ liệu đi kèm nên thường được xây dựng bằng các ngôn ngữ HTML, DHTML
Định
nghĩa
Website động Website tĩnh
Trang 4Phân biệt web tĩnh – web đ ộng
Chi phí đầu tư cao
Dễ bị tấn công
Khó khăn trong vi ệc thay đổi cập nhật Thông tin không có tính linh hoạt, không thân thiện với người dùngKhó tích hợp, nâng cấp, mở rộng
Khuyết
điểm
Website động Website tĩnh
Trang 5Mô hình Client- Side
Lập trì nh Client-side
Ngôn ngữ được sử dụng để lập trình xử lý ở phía client gọi là
Client – side script, thông dụng nhất là Java Script Tronf đó, đoạn code được nhúng vào trang HTML hay đặt trong một tập tin riêng biệt và tập tin này sẽ được khai báo trong trang HTML.
Quá trình yêu cầu và trả về cho máy client của một trang web
sử dụng kỹ thuật lập trình client – side như sau : khi máy client gửi yêu cầu một URL đến Web Server thông qua trình duyệt Web ( Web Browser), Web Server sẽ tìm kiếm trang web đó Nếu tìm thấy, Web Server sẽ trả về kết quả về máy client đồng thời gửi kèm các đoạn lệnh xử lý của các tập tin cần thiết (*.js,
*.css ) đính kèm của trang web đó Sau đó, ngay tại trình duyệt của máy client, các đoạn xử lý đ ó sẽ được thực thi Do đó, điều
Trang 6Mô hình Client- Side
Đặc điểm khi xử lý tại client:
Nhanh, không mát nhiều thời gian chuyển vể Server rồi quay lại client do dữ liệu cần dùng để xử lý có tại client.
Chỉ có thể lập trình thực hiện những xử lý đơn giản và độc lập
Không cần phải cài đặt phần mềm tại Web Server, tuy nhiên trình duyệt phải hỗ trỡ ngôn ngữ script mà trang HTML đang s ử dụng
Rất hữu ích cho DHTML
Trang 7Mô hình Client- Side
Lập trình Server – side :
Ngôn ngữ được sử dụng để lập trình xử lý ở phía server gọi là Server – side cript Chúng ta có 01 số ngôn ngữ lập trình phía server như: ASP, ASP.NET, PHP…
Kỹ thuật lập trình phía server khác so với client, đó là các đoạn
mã lệnh (source code) sẽ đư ợc biên dịch và thi hành ngay tại Web Server Sau đó trả về client dư ới dạng HTML, JavaScript hay CSS
Kỹ thuật này thường được áp dụng cho các trang web động và
có sự tương tác với cơ sở dữ liệu
Trang 8Mô hình Client- Side
Đặc điểm khi xử lý tại Server :
Chậm, do dữ liệu phải chuyển về server và chờ nhận kết quả trả
về rồi thể hiện trên client
Thực hiện những xử lý phức tạp, cần truy cập cơ sở dữ liệu và
xử lý tập tin
Trang web linh động, phục vụ đa yêu cầu của người dùng.
Phải cài đặt phần mềm tại web server
Tóm lại :
Trang 9Tổng quan công nghệ lập Trình web
HTML ( HyperText Markup Language)
Trang web HTML là 01 tập tin văn bản được viết bằng ngôn
ngữ HTML, ngôn ngữ này còn được biết đến với tên gọi: ngôn ngữ đánh dấu văn bản
Ngôn ngữ HTML sử dụng các ký hiệu quy định sẵn (được gọi là
Tag) để trì nh bày nội dung văn bản
Nội dung + Định dạng = Kết quả hiển thị
Trang 10Tổng quan công nghệ lập Trình web
Mô hình ứng dụng 02 lớp
Đây là mô hình đơn giản, khá phổ biến của 01 ứng dụng phân tán
Trong mô hình này, việc xử lý dữ liệu được thực hiện trên Database Server, việc nhận và hiển thị dữ liệu được thực hiện ở client
Ưu điểm: Dữ liệu tập trung do đó đ ảm bảo dữ liệu được nhất
quán Dữ liệu được chia sẻ cho nhiều người dùng
Khuyết điểm: Cách xử lý tra cứu và truy cập dữ liệu được thực
hiện ở Database Server, việc nhận kết quả và hiển thị phải được thực hiện ở Client Do đó khó khăn trong vi ệc bảo trì và nâng cấp Khối lượng, dữ liệu truyền trên mạng lớn do đó chiếm dụng
Trang 11Tổng quan công nghệ lập Trình web
Mô hình ứng dụng 02 lớp:
Mô hình hai lớp phần nào đáp ứng được yêu cầu khắt khe của
01 ứng dụng phân tán, tuy nhiên khi khối lượng dữ liệu lớn, ứng dụng đòi hỏi nhiều xử lý phức tạp, số người dùng tăng, mô hình
02 lớp không thể đáp ứng được
Mô hình 03 lớp sử dụng thêm Apllication Server giữ nhiệm vụ
tương tác giữa Client và Server, giảm bớt các xử lý trên Database Server, tập trung các xử lý nhận và hiển thị dữ liệu tại Application Server
Ưu điểm: Hỗ trợ người dùng Giảm bớt xử lý cho client, không yêu
cầu máy Client có cấu hình mạnh Xử lý nhận và hiện thị dữ liệu tập trung tại Application Server -> dễ dàng quản lý, bảo trì và nâng cấp
Trang 12Giới thiệu NET
NET là gì ?
A new software platform for the desktop and the Web
Nguồn gốc của NET
Hệ điều hành: tập hợp các COM (Component Object Model) tương tác với nhau
Chương trì nh=COM
1998 IIS ver.4 => Project: Khung dịch vụ web thế hệ kếtiếp (Next Generation Web Service Framework - NGWSF)
Trang 13Giới thiệu NET
NET Platform là gì ?
NET Platform bao gồm NET Framework và những công cụ được dùng để xây dựng, phát triển ứng dụng và dị ch vụ ASP.NET
Những sản phẩm công nghệ NET của Microsoft bao gồm: MSN.NET, OFFICE.NET, VISUAL STUDIO.NET, WINDOWS SERVER 2003
VISUAL STUDIO.NET là bộ phần mềm được dùng để xây dựng và phá t triển các ứng dụng bao gồm các ngôn ngữ lập trì nh: C++.NET, Visual Basic.NET, ASP.NET, C# và j#
Tất cả cá c ngôn ngữ nà y đều được xây dựng trên nền NET
Trang 14Giới thiệu NET
Trang 15Giới thiệu NET
Các phần chính của Microsoft.NET Framework
Framework 1.0,1.1, 2.0, 3.0,…
Integrated Development Environment (IDE)
Kiến trúc NET có 3 tầng:
Common Language Runtime (CLR)
Bộ thư vi ện các lớp cơ sở (.NET Framework Base Classes): String, Integer, Exception,…
ASP.NET và Windows Forms
Trang 16Giới thiệu NET
NET application được chia ra làm hai loại:
Cho Internet gọi là ASP.NET, gồm có Web Forms và Web
Web Forms có những Server Controls làm việc giống như các
Controls trong Windows Forms, nhất là có thể dùng codes để
xử lý Events y hệt như của Windows Forms.
Trang 17Giới thiệu NET
NET Framework là gì ?
NET Framework là nền tảng cho Microsoft.NET Platform
NET Framework là môi trư ờng cho việc xây dựng, triển khai và vận hành các ứng dụng Web cũng như Web Service
NET Framework giúp đơn giản hóa quá trình phát triển cũng như tích hợp sản phẩm
NET Framework không phụ thuộc vào ngôn ngữ Các ngôn ngữ đang được hỗ trợ: C++, C#, VB.NET, J#
NET Framework chứa Common Language Runtime (CLR) và các lớp thư viện cung cấp các dịch vụ cơ s ở đ ể xây dựng các ứng dụng
Trang 18Mục đích của NET
Mô hình đồng nhất cho lập trì nh Form(Desktop) và Web
Trang 19Mục đích của NET
Trước đây: rất hạn chế
NET: binary compatibility between more than 20 languges
(C#, C++, VB.NET, Java, Eiffel, Fortran, Cobol, ML, Haskell, Pascal, Oberon, Perl, Python, )
Trang 20Mục đích của NET
Tương tác giữa các ngôn ngữ lập trì nh:
Trang 21Lợi ích dùng CIL
Trang 22Lợi ích của việc sử dụng ASP
Công nghệ Server-side scripting
Tự động biên dịch
Cho phép tạo các ứng dụng web đơn giản nhanh chóng và dễdàng
Tạo trang web có tích hợp nội dung động
Sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object), xử lý dữ liệu, FSO (File System Object), làm việc với
hệ thống tập tin,…
Hỗ trợ nhiều ngôn ngữ: JavaScript, VBScript
Trang 23Những bất lợi khi sử dụng ASP
Chỉ hỗ trợ 2 loại ngôn ngữ : VBScript và JavaScript
Trang 24Giới thiệu ASP.NET
ASP.NET là một công nghệ có tính cách mạng dùng để phát triển các ứng dụng về mạng hiện nay cũng như trong tương lai (ASP.NET is a revolutionary technology for developing web applications)
ASP.NET là kỹ thuật lập trì nh và phá t triển ứng dụng web ở phí a server (Server – side ) dựa trên nền tảng của Microsoft.NET Framework
Một công nghệ server-side mới, mạnh để tạo các trang web động (A new and powerful server-side technology for creating dynamic web pages)
ASP.NET sử dụng kỹ thuật lập trì nh ở phí a server, mã lệnh ở
Trang 25Các điểm nổi bật của ASP.NET
Hỗ trợ đa ngôn ng ữ : >20 C#, C++, VB.NET, Java, Eiffel, Fortran, Cobol, ML, Haskell, Pascal, Oberon, Perl, Python,
Biên dịch các trang trước, giúp làm tăng tốc độ thực hiện Thay vì phả i đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.NET biên dịch những trang web động thành tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả
ASP.NET hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của NET Framework, làm việc với XML, Web Service , truy cập cơ sở dữ liệu qua ADO.NET
ASPX và ASP có thể cùng hoạt động trong một ứng dụng
ASP.NET sử dụ ng phong cách lập trì nh mới: code behide Tách code riêng, giao diện riêng => Dễ quản lý, dễ đọc và bảo
Trang 26Các điểm nổi bật của ASP.NET
Hỗ trợ trạng thái của các control
Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser
Hỗ trợ nhiều cơ chế cache
Triển khai cài đặt không cần lock, không c ần đăng ký DLL Cho phép nhiều hình thức cấu hình ứng dụng
Hỗ trợ quản lý ứng dụng ở mức toàn cục
Global.aspx có nhiều sự kiện hơn
Quản lý session trên nhiều Server, không cần Cookies
Trang 27Khác biệt giữa ASP.NET và ASP
Tập tin của ASP.NET - ASPX, còn tập tin của ASP - ASP
- Tập tin của ASP.NET được phân tích ngữ pháp (parsed) bởi XSPISAPI.DLL, còn ASP ASP.DLL
ASP.NET dùng event driven, còn ASP được thi hành theo thứ
tự tuần tự từ trên xuống dưới
ASP.NET xử dụng trình biên dịch (compiled code) nên rất nhanh, còn ASP dùng trình thông dịch (interpreted code) do
đó hiệu suất và tốc độ phát triển cũng thua sút hẳnASP.NET :
25 ngôn ngữ lập trình mới với NET và chạy trong môi trường biên dịch (compiled environment), còn ASP: VBScript vàJavaScript
ASP.NET yểm trợ tất cả các browser và quan trọng hơn nữa
Trang 28Cách thức làm việc của HTML
Trang 29Cách Thức Của Trang Web Động
Trang 30Cách thức làm việc của trang ASPX
Trang 31 NET Framework Software Development Kit (SDK)
Trang 32IIS – Internet Information Server
IIS có thể sử dụng như web server, kết hợp với ASP để xây dựng các ứng dụng web, tận dụng các điểm mạnh của Server-side script, COM component… theo mô hình Client/Server
IIS chuyển giao thông tin bằng giao thức chuyển đổi siêu văn bản HTTP
IIS có rất nhiều phiên bản
Phiên bản Windows 2000 tích hợp IIS 5.0
Windows XP tích hợp IIS 5.5
Trang 33IIS – Internet Information Server
IIS làm được gì?
Xuất bản 1 Home page lên internet
Tạo các giao dịch thương mại trên internet
Truy xuất cơ sở dữ liệu từ xa
Hoạt động của IIS
IIS dịch URL sang path cục bộ (vd: d:\domains\thisSite\wwwroot\site\index.aspx)
Sử dụng Common LanguageRuntime compiler dịch sang ngôn ngữ trung gian MSIL, rồi sang mã nhị phân để thực thi.
Mã nhị phân được chứa tạm vào 1 vùng Nếu lần gọi sau cần sử dụng mà trang web ko có gì thay đ ổi thì sẽ lấy sử dụng mà ko cần dịch lại Nếu có thay đ ổi thì sẽ dịch lại và cập nhật vào vùng này.
Server trả về kết quả tương ứng với trình duyệt của client.
Trang 34Cài đặt IIS trong WinXP
Start->Settings-> Control Panel-> Add/Remove Programs vànhấp đơn (click) Add/Remove Windows Components, xong chọn Internet Information Server như sau:
Trang 35Giới thiệu về WEB MATRIX
Web Studio Mongoose Project Saturn Tahiti Project Microsoft ASP.NET Web Matrix
- Free ware
- Tạo ra từ C#
- 800 class (.NET Framework >3000)
- Rất nhỏ: 1.3MB (dạng đóng gói)
Trang 37Phân loại tập tin Trong ASP.NET
asax: tập tin global.asax trong ASP.NET thay th ế cho tập tin global.asp trong ASP, là tập tin quản lý cá c sự kiện của ứng dụng (application), session, và các sự kiện khi có các yêu cầu tới trang web
ascx: các điều khiển do người dùng tự tạo được lưu trữ với phầ mở rộng ascx
asmx: tập tin web service của ứng dụng ASP.NET
aspx: phần mở rộng mặc định của trang ASP.NET
config: tập tin cấu hình ứng dụng theo định dạng XML Web.config chứa hầu hết các cấu hình của ứng dụng
cs: tập tin mã nguồn viết theo ngôn ngữ C#
Trang 38Ngôn ngữ lập trình ASP.NET
VB.NET : dễ hiểu và được cho là đơn gi ản nhất, nên đi theo
cách này nếu đã sử dụng thành thạo VB
C# : Gần với Java và C++, có nhiều chức năng hơn Nên
chọn C# nếu am hiểu sâu về C++ và Java
J#: Ít được sử dụng, nhưng sẽ tốt với ai thông thạo Java
Các ngôn ngữ khác: C++.NET, Smalltalk.NET, COBOL.NET, Eiffel.NET, Perl.NET, Component Pascal.NET, Mercury.NET, Oberon.NET, Python.NET,…
Trang 39Cấu trúc trang ASP.NET
Ngôn ngữ lập trình trong ASP.NET
Directives
Code declaration blocks
Code render blocks
ASP.NET server control
Server-side comments
Server-side include directives
Literal text and HTML tags
Trang 40Cấu Trúc Trang ASP.NET
Trang 41 Tự động khai báo mỗi khi trang aspx được tạo ra
Cung cấp cho ASP.NET những thông tin đặc biệt đểASP.NET biết cách mà đối xử cũng như những thông tin dùng trong tiến trình biên dịch (during the compiling process)
Cung cấp các chỉ dẫn thường được sử dụng trong trang
như: Page, Assembly, Control, Implements, Import, Master,
Cho phép Import các class vào để dùng trong trang web này
Ví dụ:
<%@ Page Language=“VB” AutoEventWireUp=“true”
Trang 43Code declaration blocks
Trang 44Other attributes
Tags “< script>… </script>” cho phép các thuộc tính khác
Trang 45Code render blocks
Dùng trực tiếp trong html code trong <% và %>
Là phương pháp cổ điển ASP, thường dùng Response.Write()
Trang 46ASP.NET Server Control
Có 4 dạng Server control cơ bản:
ASP.NET controls
HTML controls
Validation controls
User control
Tất cả ASP.NET controls phải nằm trong <form runat=“server”>
để thực hiện đúng chức năng ngoại trừ HtmlGenericControl vàLabel Web control
Trang 47Server-Side Comments
Tương tự như HTML truyền thống dùng <! … >,
ASP.NET dùng <% …. %>
Trang 48Server-Side include directives
Dùng đặc tính file
<! #INCLUDE file=“myinclude.aspx” >
Virtual server-side include
<! #INCLUDE virtual=“/directory1/myinclude.aspx” >
Trang 49Literal text and HTML tags
Trang 50Xử lý sự kiện
Trang 51Xử lý sự kiện
Trang 52Ví dụ xử lý sự kiện
Trang 53Kết Quả Của Ví Dụ
Trang 54Trang HTML tĩnh
Trang 55Trang ASPX động đơn giản
Trang 56Cách thức hoạt động