Mô hình Client- 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, PH
Trang 1LẬP TRÌNH WEB ASP.NET
Ts Vũ Đức Lung
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
Website tĩnh Website động
Định
nghĩa
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
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
Ưu
điểm
Thiết kế đồ hoạ đẹp Tốc độ truy cập nhanh
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ữ
Trang 4Phân biệt web tĩnh – web động
Khuyết
điểm
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ùng Khó tích hợp, nâng cấp, mở rộng
Chi phí đầu tư cao Dễ bị tấn công
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 Trong đó, đ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
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 đến 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
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
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
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
Đâ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
quán Dữ liệu được chia sẻ cho nhiều người dùng
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
Trang 11Tổng quan công nghệ lập Trình web
Mô hình ứng dụng 03 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
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
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
Framework 1.0,1.1, 2.0, 3.0, 3.5, 4.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
Thông dịch mã lệnh ASP
Pha trộn code, HTML và text
Tương thích trình duyệt
Không hỗ trợ cache
Cơ chế debug kém
Tái sử dụng code kém
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)
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 sử 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ẳn ASP.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
Trang 28Cách thức làm việc của HTML
Trang 29Cách thức làm việc của trang ASPX
Trang 30ASP.NET
Internet Information Server (IIS) và bố trí Virtual Directory
Windows XP tích hợp IIS 5.5, win 7 – 6.5
Nếu chưa có thì phải cài thêm
MS Visual Studio.NET
trong trường hợp này thì MS Visual Studio.NET đã cài sẵn NET Framework SDK cho ta dùng với ASP.NET hoặc là dùng Web Matrix
NET Framework Software Development Kit (SDK)
Trang 31IIS – 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
Windows XP.Net Server tích hợp IIS 6.0, hỗ trợ các tính năng
Trang 32IIS – 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ộ
Trang 33Cà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 34Giớ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 36Phâ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
Trang 37Ngô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 38Cấ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 39Cấu Trúc Trang ASP.NET
Trang 40Directives
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ư:
OutputCache, PreviousPageType, Reference và Register
Cho phép Import các class vào để dùng trong trang web này
Trang 41Directives
Assembly Liên kết assembly va Page hay user control
Control Sử dụng cho user control
Import Không gian tên dùng cho Page hay user control Master Chỉ định trang chính được dùng trong trang
Master
OutputCache điều khiển chính sách sử dụng bộ nhớ cache cho
trnag ASP.NET hay user control Page Chỉ định những thuộc tính và giá trị của trang
Chỉ dẫn liên kết đến một trang khác
Trang 42Code declaration blocks
Trang 43Other attributes
Tags “< script>… </script>” cho phép các thuộc tính khác
Trang 44Code 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 45ASP.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 include directives
Dùng đặc tính file
<! #INCLUDE file=“myinclude.aspx” >
Virtual server-side include
<! #INCLUDE virtual=“/directory1/myinclude.aspx” >
Trang 48Literal text and HTML tags
Trang 49Xử lý sự kiện
Xử lý sự kiện trong ASP
Trang 50Xử lý sự kiện
Xử lý sự kiện trong ASP.NET
Trang 51Ví dụ xử lý sự kiện
Trang 52Kết Quả Của Ví Dụ
Trang 53Trang HTML tĩnh
Trang 54Trang ASPX động đơn giản
Trang 55Cách thức hoạt động
Trang 56HTML Code được trả về từ server
Trang 57Code trong Script Tag
Trang 58Code Behind
Trang 59Trang ASP.NET đầu tiên
Trang 60Trang ASP.NET đầu tiên
Trang 61Trang ASP.NET đầu tiên
Trang 62Trang ASP.NET đầu tiên
Trang 63Bài tập tìm hiểu thêm
Các công cụ hỗ trợ lập trình web:
Web Matrix, JQuery
Ajax
Công cụ phân tích mã nguồn tự động: CodeScan, Yasca,
PLSQLScanner 2008,…