You are on page 1of 42

Bài 1: GIỚI THIỆU ASP.

NET

1.1. Mở đầu


1.2. Giới thiệu ASP.NET
1.3. Kiến trúc ứng dụng của web
1.4. Web server
1.5. Tạo và chạy ứng dụng
1.6. Cấu trúc các ứng dụng
1.7. Cách viết code trong chương trình
1.8. Các thành phần có thể chứa trong trang

1 /42
1.1. Mở đầu
• HTTP và HTML - Nền móng của Kỹ thuật lập trình web
• Tìm hiểu các mô hình ứng dụng
• Web Application

2 /42
HTTP (Hypertext Transfer Protocol)
• HTTP :
– Kỹ thuật cơ bản của lập trình ứng dụng web
– Là một giao thức cho phép các máy tính trao đổi thông tin với
nhau qua mạng máy tính
– Được xác định qua URLs (Uniform Resource Locators), với cấu
trúc chuỗi có định dạng như sau:

http: // <host> [: <port>] [ <path> [? <query>]]

• Một số thuật ngữ:


– ƒ
Internet
– ƒ
WWW
– ƒ
Web Server
– ƒ
Web Client
– ƒ
Web Browser
3 /42
HTML (Hypertext Markup Language)
<Html>
<Head>
<Title>ASP.Net</Title>
</Head>
<Body>
<P align="center">
<FONT size="6">
Chào các bạn đã đến với ASP.Net!!!
</FONT>
</P>
</Body>
</Html>

4 /42
Tìm hiểu các mô hình ứng dụng

• Các xử lý tra cứu và cập nhật dữ liệu


được thực hiện ở Database Server,
• Dữ liệu tập trung => đảm bảo việc nhận kết quả và hiển thị phải
dữ liệu được nhất quán được thực hiện ở Client => Khó khăn
• Dữ liệu được chia sẻ cho trong vấn đề bảo trì và nâng cấp
nhiều người dùng • Khối lượng dữ liệu truyền trên mạng
ƒ
lớn => chiếm dụng đường truyền,
thêm gánh nặng cho Database
Server. 5 /42
• Hỗ trợ nhiều người dùng
• Giảm bớt xử lý cho Client => Phải sử dụng thêm một
Không yêu cầu máy tính ở Client Application Server =>
có cấu hình mạnh
• Xử lý nhận và hiển thị dữ liệu tập
Tăng chi phí.
trung tại Application Server => dễ
quản lý, bảo trì và nâng cấp
• Xử lý truy cập dữ liệu tập trung
tại Database Server
6 /42
Web Application
• Là 1 loại ứng dụng client/server
• Thành phần:
– Web Client
– Web Browser
– Web Server

7 /42
Web Application

http

user
SQL

Access
8 /42
1.2. Giới thiệu ASP.NET
• 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
• Đặc điểm:
– Visual Studio .Net 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 được xây dựng dựa trên
nền .Net Framework

9 /42
• Là kỹ thuật lập trình và phát triển ứng dụng web ở
phía Server (Server-side) Gồm các lớp đối tượng
• Thư viện các lớp đối tượng dùng trong việc dành cho việc xây
xây dựng các ứng dụng Web dựng các ứng dụng
• Web services có thể hiểu là các dịch vụ được Windows
cung cấp qua Web (hay Internet)

• Là thành phần "kết


nối" giữa các phần Gồm các lớp dùng
khác trong .NET để xử lý dữ liệu
Framework với hệ
điều hành
• CLR giữ vai trò quản
lý việc thi hành các Thư viện các lớp
ứng dụng viết bằng cơ bản nhất,
.NET trên Windows được dùng trong
khi xây dựng
• Các hàm API của Windows .NET Framework
• Microsoft Transaction Server (MTS)
• Internet Information Server (IIS)

10 /42
Quan điểm lập trình web
Lập trình phía Server:
ASP.Net
Hoạt động:
Lập trình phía Client:
– Trang ASP sẽ được biên dịch và thi
HTML, Java Script, CSS hành tại Web Server
(Cascading Style Sheets) – Kết quả tự động được chuyển sang
Hoạt động: HTML/JavaScript/CSS
– Khi Web browser yêu – Khi Web browser yêu cầu một
cầu một trang web trang web
– Web server tìm trang – Web server tìm trang web mà
web mà Client yêu cầu Client yêu cầu
– Gởi về cho Client – Trả về cho Client
– Client nhận kết quả trả – Client nhận kết quả trả về từ
về từ Server; Xử lý ; Server và hiển thị lên màn hình
hiển thị lên màn hình

11 /42
Ví dụ
Trang1.html Trang2.asp

<%@ Page Language="C#" %>


<html> <html xmlns="http://www.w3.org/1999/xhtml">
<body> <head runat="server">
Xin chao ban <title>Các điều khiển giao diện</title>
</body> </head>
<body>
</html>
<form id="form_chinh" runat="server">
<%Response.Write(DateTime.Today.Date.ToShortDateString());%>
</form>
</body>
</html>

12 /42
Ưu điểm của ASP.Net
• Nhiều ngôn ngữ lập trình
mà bạn yêu thích: Visual
Basic.Net, J#, C#,…
• 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 CSDL qua
ADO.Net, …
• ASP.Net sử dụng phong
cách lập trình mới Code
behide
13 /42
Static Web Pages
• Được thiết kế bằng kỹ thuật HTML (Hypertext Mark-up
Language)
• Chỉ đáp ứng việc giới thiệu thông tin cho người dùng xem
• Cao nhất là sử dụng một Form trực tuyến (Online Form) để
thu nhận ý kiến của người xem và gửi về e-mail định danh
trước
• Website tĩnh có thể được trang bị các kỹ thuật như Java
Script, Flash Macromedia hay Animation Gif, giúp cho giao
diện của các trang web thêm sống động và hấp dẫn
• Ví dụ: http://namchautourist.com/

14 /42
Dynamic Web Pages
• Được thiết kế bằng kỹ thuật ASP (Active Server Pages) chạy Windows hay
PHP (PHP Hypertext Preprocessor) với Linux.
• Phải có cơ sở dữ liệu và tùy theo mục đích của website, nó có thể có các
thành phần như:
1. Inner search: Phần tìm kiếm
2. Member account: tài khoản dành cho Hội Viên. Với một Username và
Password
3. Shopping Cart: Thành phần giúp cho việc mua bán trên mạng (online
trading) được thực hiện thông qua giả định việc chọn và bỏ món
hàng đã chọn vào giỏ mua hàng. Các thông số liên quan đến món
hàng sẽ được cập nhật vào tài khoản của người Mua, giúp cho việc
xác định công nợ và thanh toán.
4. Online Payment: Thành phần giúp cho việc buôn bán trên mạng được
khả thi: Tiền được trao cho Bên Bán và hàng sẽ được chuyển cho Bên
Mua
5. Forum: Diễn đàn trực tuyến

15 /42
1.3. Kiến trúc ứng dụng của web

16 /42
Tầng trình diễn (Presentation Tier)
• Người dùng có nhiều lựa chọn về nền trình diễn
• Hệ thống sẽ tự động gọi các tệp cấu hình sẵn cho tầng nền
• Tầng trình diễn chịu trách nhiệm :
– Cung cấp giao diện cho nhiều loại người dùng khác nhau
– Lấy các yêu cầu, dữ liệu từ người dùng, có thể định dạng nó
theo những qui tắc đơn giản (dùng các ngôn ngữ Script)
– Gọi các component thích hợp từ tầng Business Logic để xử
lý các yêu cầu
• Kết quả sau xử lý được trả lại cho người dùng

17 /42
Tầng Logic (Bussiness Logical Tier)
• Web server :
– Đảm nhận nhiệm vụ đón các yêu cầu từ tầng trình diễn
(yêu cầu phía client) và trả về kết quả cho phía client
– Có nhiệm vụ thực thi các thành phần điều khiển trình diễn
của ứng dụng chủ
– Quy trình xử lý nghiệp vụ và điều khiển sẽ do thành phần
thứ hai đảm trách
• Thành phần ứng dụng chủ :
– Thành phần này chứa các tập API để truy nhập và thao tác
với cơ sở dữ liệu ở tầng thứ ba - tầng cơ sở dữ liệu
– Các API được dùng để tạo ra các dự liệu XML và sau đó
kết hợp với các tham số được định sẵn trong bộ Stylesheet
để tạo ra các trang HTML, WML theo từng nền trình diễn

18 /42
Tầng dữ liệu (Data Tier)
• Tầng này đảm trách việc lấy, lưu trữ và cập nhật dữ liệu
• Vì vậy có thể nhìn nhận tầng này thể hiện cho 1 cơ sở dữ liệu
• Chứa CSDL của toàn trang
• Ngoài ra tầng này còn có thể chứa CSDL của các ứng dụng
được tích hợp khác

19 /42
Các phần mềm
• Hệ điều hành (Windows 2000, XP, 7 … )
• .NET framework SDK (Software Development Kit)
• Cài đặt một cơ sở dữ liệu (Database) vững mạnh

20 /42
Phương pháp làm việc
• Kiểu mẫu RESQUEST/RESPONSE
• Kiểu mẫu EVENT-DRIVEN

21 /42
Kiểu mẫu RESQUEST/RESPONSE

1. Client (thông qua Internet Browser) xác định vị trí của Web
Server qua URL (Universal Resource Locator)
2. Client sẽ yêu cầu được tham khảo 1 trang trong mạng đó và
thường là trang chủ (home page)
3. Server đáp ứng bằng cách hoàn trả hồ sơ mà Client đã yêu cầu
4. Client nhận được hồ sơ gởi về và hiển thị (display) trong
browser của mình
Lưu ý:
• Còn gọi là 'response to your request', chờ yêu cầu từ phía client
• Khi Client đã nhận được hồ sơ thì quá trình trao đổi sẽ kết thúc ngay lập tức

22 /42
Kiểu mẫu EVENT-DRIVEN

• Kiểu mẫu event-driven dùng với ASP.NET


• Server sẽ không chờ client yêu cầu tham khảo 1
trang nào đó trong mạng
• Server đã bố trí sẵn trước tất cả mọi tình huống để
có thể đáp ứng kịp thời mỗi khi Client yêu cầu làm 1
điều gì đó
• Vì vậy kiểu mẫu event – driven còn được gọi là
'response to your action‘, server có thể phát hiện ra
các hành động của Client để phản ứng cho thích hợp

23 /42
1.4. Web server
• Web server :
– Là một máy chủ hoặc một phần mềm trên máy mà nó có
thể đáp lại các yêu cầu dữ liệu từ phía trình duyệt sử dụng
giao thức HTTP cho phép người dùng có thể truy cập file
HTML
– Webserver biên dịch mã lệnh thành trang HTML trước khi
gửi về cho client
• Các phần mềm tạo web server thông dụng :
– IIS
– Tomcat

24 /42
Internet Information Services
• IIS có thể được sử dụng như một Web server
• IIS 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
• Các bước thực hiện:
• Thiết lập Internet Information Service
• Kiểm tra
• Cấu hình Internet Information Services
• Tạo các ứng dụng web trên IIS

25 /42
Thiết lập Internet Information Service
1. Mở Control Panel
2. Click Programs and Features
3. Click Turn Windows features on
or off
4. Click Internet Information
Services
5. Mở rộng cây thư mục Expand
Internet Information Services >
World Wide Web Services >
Application Development
Features > Click ISAPI Extensions
6. Click chuột vào OK cho máy cài
giùm mình IIS7
7. Khi Windows Features đóng lại
thì cũng là lúc IIS7 được cài xong

26 /42
Kiểm tra

Web Server mặc định


ánh xạ vào //localhost

27 /42
Cấu hình Internet Information Services
• Cài Internet Information Services

• Để cấu hình IIS, vào Control Panel  Administrative Tool 


Internet Information Services Manager

28 /42
1.5 Tạo các ứng dụng web trên IIS
• Một Web Server có thể quản lý nhiều ứng dụng Web
đồng thời
• Cách quản lý:
– Thông thường bạn sẽ tổ chức một thư mục con trong
wwwroot cho mỗi ứng dụng (IIS sẽ tự động liệt kê nó
trong mục Default Web Site)
– Bạn cũng có thể tạo ánh xạ từ một thư mục khác (tạo
một thư mục nằm ngoài thư mục wwwroot)

29 /42
Tạo Virtual Directory

30 /42
1.6 Cách tạo và chạy ứng dụng
Tạo ứng dụng web trong Visual Studio.NET
 Khởi động Visual Studio.NET
 Chọn File –> New –> Website
 Trong hộp thoại New Website

2
1

3
31 /42
Cách tạo và chạy ứng dụng

32 /42
Cách tạo và chạy ứng dụng

• Nhấn F5 để chạy ứng dụng

33 /42
1.5. Cấu trúc các ứng dụng
Folder chứa các trang phụ liên quan đến Account

Folder chứa dữ liệu

Các File sử dụng cho các tiến trình phía Client

File CSS (Xác định các kiểu hiển thị)

Trang mặc định khi chạy website

File cấu hình; Định dạng file này theo kiểu XML

34 /42
Trang 1.7. Cách viết
Asp.net code

Giao diện Xử lý logic


người dùng bên trong

Bất kỳ ngôn ngữ lập


HTML hoặc XML
trình nào được hỗ trợ
và server controls
bởi CLR

35 /42
Code Inline

36 /42
Code Behind

Khai báo nơi chứa Code

File chứa Code


37 /42
1.8. Các thành phần có thể chứa trong
trang
• Không gian tên (Namespaces)
• Khai báo Namespace
• Namespaces và chức năng
• Các chỉ thị (instructions)

38 /42
Không gian tên (Namespaces)
• NameSpace là một tập hợp Logic các nhóm thư viện có liên quan
đến nhau, giúp người lập trình dễ sử dụng và dễ tìm kiếm
• Namespaces có kiến trúc phân cấp. Muốn truy nhập vào một chức
năng hay một đối tượng của NameSpace cần phải biết được sõ đồ
phân cấp của NameSpace đó
• Mỗi NameSpace được chứa trong các file gọi là file Assembly, có
phần mở rộng là .dll. NameSpace có thể xem như các file thư viện
liên kết động DLL
• System là một NameSpace gốc của framework.NET. Nó chứa tất cả
các kiểu dữ liệu nguyên thuỷ (Primitives) và các NameSpace khác

39 /42
Khai báo Namespace

<%@import NameSpace=<Tên NameSpace>%>

<%@import Namespace = "System.Data" %>


<%@import Namespace = "System.Data.OleDb" %>

40 /42
Namespaces và chức năng
Collections Chứa các đối tượng như Danh sách, hàng đợi và bảng băm
Chứa các lớp cho phép thay đổi các control và component trong cả
ComponentModel
lúc chạy và lúc thiết kế.
Cung cấp các phương thức và đối tượng cho phép truy cập đến các
Configuration
thông số cấu hình cho .NET

Chứa các lớp cho phép tương tác với nguồn dữ liệu, Hình thành nên
Data
ADO.NET
Math Chứa các hàm và hằng số liên quan đến xử lý toán học.

Cung cấp cơ chế truyền thông giữa Client/Browser; Nó mô tả các


Web
đối tượng được sử dụng với ASP.NET

XML Chứa các lớp để xử lý dữ liệu XML

Drawing Chứa các lớp cho phép sử dụng khả năng về đồ hoạ

41 /42
Các chỉ thị (instructions)

Các chỉ thị được sử dụng để khai báo các kế thừa


từ framework hoặc từ những source code khác,
một chỉ thị đựơc bắt đầu bởi ký tự @

Cú pháp:
<%@IntructionsName Listattribute%>

42 /42

You might also like