Dynamic Web Pages Web đ ng ộDynamic Web Pages Web đ ng ộ Note 11... GI I THI U V ASP.NET Ớ Ệ ỀGI I THI U V ASP.NET Ớ Ệ Ề Data and XML Class ADO.NET, SQL, XSLT, Xpath, XML,etc Data and X
Trang 2Các components Web Application2
Trang 4 App này ch y trên máy server b ng các đi u khi n ạ ằ ề ể
(controls) c a web server software. Đ i v i ASP.Net ủ ố ớ
App, máy server ph i ch y trên Web Server c a ả ạ ủ
Microsoft, được g i là IIS (internet information service)ọ
H u h t Web App, máy server l u Database System trên ầ ế ưMicrosoft SQL ho c Microsoft Access.ặ
4
Trang 5 Giao di n mà user s d ng 1 web App bao g m ệ ử ụ ồ
t p h p các Web pages đậ ợ ược hi n th trên Web ệ ịBrowser. M i trang web page đỗ ược g i là 1 web ọform ch a HTML tagsứ
Web browser và web server trao đ i thông tin v i ổ ớnhau b ng cách s d ng giao th c truy n d li u ằ ử ụ ứ ề ữ ệHTTP protocol
5
Trang 6Note
6
Trang 7g i tr l i cho Broweser (.htm/.html)ử ở ạ
7
Trang 8Web Broswer(trình duy t Web ) ệ
Web Broswer(trình duy t Web ) ệ
Web browser yêu c u 1 trang t web server b ng cách ầ ừ ằ
g i t i server 1 l i yêu c u đử ớ ờ ầ ược g i là HTTP ọ
Request. Http Request bao g m m i th : tên file ồ ọ ứ
HTML, đ a ch Internet c a c browser và web server.ị ỉ ủ ả
Users giao ti p v i web browser b ng nhi u cách, 1 ế ớ ằ ềtrong các cách là đánh đ a ch c a Web page (URL) ị ỉ ủ
lên thanh đ a ch (Address)ị ỉ
8
Trang 9Web Broswer(trình duy t Web ) ệ
Web Broswer(trình duy t Web ) ệ
Web browser s đáp tr l i Http Request b ng ẽ ả ạ ằcách g i câu tr l i đử ả ờ ược g i là Http Response ọthông qua Web Browser
9
Trang 10Dynamic Web Pages (Web đ ng) ộ
Dynamic Web Pages (Web đ ng) ộ
Dynamic Web Pages: bao g m nhi u trang mà vào ồ ề
m i th i đi m hi n th thì n i dung luôn thay đ i.ỗ ờ ể ể ị ộ ổ
Dynamic Web Pages: là Web Form nh ng ch a ư ứ
các Server Controls nh : Tables, Textboxes, ưButtons …
10
Trang 11Dynamic Web Pages (Web đ ng) ộ
Dynamic Web Pages (Web đ ng) ộ
Note
11
Trang 12Dynamic Web Pages (Web đ ng) ộ
Dynamic Web Pages (Web đ ng) ộ
Khi b t đ u Browser g i 1 Http request t i t i IIS ắ ầ ử ớ ớ
g m đ a ch trang đang đồ ị ỉ ượ ử ục s d ng, cùng v i ớcác thông tin mà user nh p vào t form. Khi IIS ậ ừ
nh n đậ ược yêu c u thì IIS s xác đ nh ch c r ng ầ ẽ ị ắ ằthông tin được g i t Dynamic Web. IIS l i g i ử ừ ạ ửthông tin nh n đậ ược đ n ASP.Net, ASP.Net nh n ế ậ
qu n lý và th c thi yêu c u nh n đả ự ầ ậ ược
12
Trang 13 Thông tin t ASP.Net g i t i Server, sau khi đã ừ ử ớ
x lý xong Web server g i l i thông tin cho Web ử ử ạBrowser d ng Http Response và hi n th n i ở ạ ể ị ộdung lên trang
13
Trang 14Dynamic Web Pages (Web đ ng) ộ
Dynamic Web Pages (Web đ ng) ộ
Khi user click vào 1 control nào đó đ b t đ u 1 ể ắ ầHttp request thì quá trình này được g i là “posting ọback to server”, quá trình này liên quan t i thu c ớ ộtính “postback”
14
Trang 15Các tr ng thái c a ASP.Net ạ ủ
Các tr ng thái c a ASP.Net ạ ủ
15
Trang 16Các tr ng thái c a ASP.Net ạ ủ
Các tr ng thái c a ASP.Net ạ ủ
State (tr ng thái) là tình tr ng hi n hành c a các ạ ạ ệ ủproperties (thu c tính), variables(bi n), hay các d ộ ế ữ
li u đệ ượ ư ạc l u l i trong 1 App c a 1 user. App ủ
ph i l u tr riêng cho m i user đang truy c p App ả ư ữ ỗ ậvào đúng th i đi m hi n hành.ờ ể ệ
Http là satateless Protocol. Http ko l u gi đư ữ ược thông tin
16
Trang 17Các tr ng thái c a ASP.Net ạ ủ
Các tr ng thái c a ASP.Net ạ ủ
Có 2 đ i tố ượng ASP.Net cho vi c l u tr State:ệ ư ữ
View state object: l u giá tr thu c tính c a các controls ư ị ộ ủ
mà ng d ng thay đ i gi a các phép th c thi c a các App ứ ụ ổ ữ ự ủ
Session state object: khi 1 user b t đ u 1 session thì ắ ầ
ASP.Net t o 1 session state ch a 1 sessionID. SessionID ạ ứ này đ ượ c g i t server t i browser và tr l i server đ ử ừ ớ ả ạ ể server k t h p v i browser b ng session đã t o. Session ế ợ ớ ằ ạ
ph i đ ả ượ c kh i t o giá tr , có hi u l c cho 1 user ở ạ ị ệ ự
17
Trang 18Các tr ng thái c a ASP.Net ạ ủ
Các tr ng thái c a ASP.Net ạ ủ
Application state object: khi 1 app b t đ u th c thi, ắ ầ ự thì application state b t đ u kh i t o. Appliacation ắ ầ ở ạ state ph i đ ả ượ c thi t l p giá tr Giá tr này có hi u ế ậ ị ị ệ
l c cho m i user trong app cho t i thi app k thúc ự ọ ớ ế
18
Trang 19GI I THI U V ASP.NET Ớ Ệ Ề
GI I THI U V ASP.NET Ớ Ệ Ề
ASP.NET (Active Server Pages NET) th c ự
ch t .NET là m t Frameworkấ ộ
ASP.NET là m t "ộ khung" l p trình đậ ược xây
d ng trên b th c thi ngôn ng chung (CLR ự ộ ự ữ
Common Language Runtime) và được s d ng ử ụtrên m t máy ch ph c v đ t o ra các ng ộ ủ ụ ụ ể ạ ứ
d ng Web m nh.ụ ạ
19
Trang 20GI I THI U V ASP.NET Ớ Ệ Ề
GI I THI U V ASP.NET Ớ Ệ Ề
Data and XML Class
(ADO.NET, SQL, XSLT, Xpath, XML,etc)
Data and XML Class
(ADO.NET, SQL, XSLT, Xpath, XML,etc)
Web services Web Forms Windows Forms
Windows Platform
Common Language Runtime
(debug, exception, type checking, NT compilers)
Common Language Runtime
(debug, exception, type checking, NT compilers)
Framework Base Class
(IO, string net, security, threading, text, reflection,
collection, ect)
Framework Base Class
(IO, string net, security, threading, text, reflection,
collection, ect)
.NET Framework
20
Trang 21GI I THI U V ASP.NET Ớ Ệ Ề
GI I THI U V ASP.NET Ớ Ệ Ề
.NET Enterprise Sevices
.NET Framework
.NET Framework
.NET Building Block Services
.NET Building Block Services
Visual Studio.Net
21
Trang 22GI I THI U V ASP.NET Ớ Ệ Ề
GI I THI U V ASP.NET Ớ Ệ Ề
22
Trang 2323
Trang 24Tìm hi u v .net framwork ể ề
Tìm hi u v .net framwork ể ề
Cung c p các ch c năng xây d ng ng d ngấ ứ ự ứ ụ
V i vai trò qu n lý vi c xây d ng và thi hành ng ớ ả ệ ự ứ
d ng, .NET Framework cung c p các l p đ iụ ấ ớ ố
tượng (Class) đ g i thi hành các ch c năng mà ể ọ ứ
đ i tố ượng đó cung c p. Cài đ t .NET Framework ấ ặtrên các h đi u hành Windows 2000, 2000ệ ề
Server, XP, XP.NET, 2003 Server s đ n gi n và ẽ ơ ả
ti n d ng h n trong khi l p trình.ệ ụ ơ ậ
24
Trang 25Tìm hi u v .net framework ể ề
Tìm hi u v .net framework ể ề
Trang 26GI I THI U V ASP.NET Ớ Ệ Ề
GI I THI U V ASP.NET Ớ Ệ Ề
Trang 27GI I THI U V ASP.NET Ớ Ệ Ề
GI I THI U V ASP.NET Ớ Ệ Ề
.NET Framework Class Library Support
Type Checker Exception Manager
MSIL to Native Compilers
MSIL to Native Compilers Manager Code
Code Manager Garbage Collector
Class Loader
27
Trang 28Tìm hi u v .net framwork ể ề
Tìm hi u v .net framwork ể ề
II.3. B th vi n các l p đ i tộ ư ệ ớ ố ượng Framework
Class Library (FCL)
.Net framework chính là b th vi n dành riêng cho ng ộ ư ệ ườ ậ i l p trình ASP.NET
a. Base class library – th vi n các l p c s ư ệ ớ ơ ở
Đây là th vi n các l p c b n nh t, đ ư ệ ớ ơ ả ấ ượ c dùng trong khi l p ậ trình hay b n thân nh ng ng ả ữ ườ i xây d ng .NET Framework ự cũng ph i dùng nó đ xây d ng các l p cao h n. Ví d các l p ả ể ự ớ ơ ụ ớ trong th vi n này là String, Integer, Exception,… ư ệ
b ADO.NET và XML
28
Trang 29TÌM Hi U NET FRAMEWORK Ể
TÌM Hi U NET FRAMEWORK Ể
c. Web services
Web services có th hi u khá sát nghĩa là các d ch v ể ể ị ụ
đ ượ c cung c p qua Web (hay Internet) ấ
D ch v đ ị ụ ượ c coi là Web service không nh m vào ng ằ ườ i
dùng mà nh m vào ng ằ ườ i xây d ng ph n m m. ự ầ ề
Web service có th dùng đ cung c p các d li u hay m t ể ể ấ ữ ệ ộ
ch c năng tính toán ứ
29
Trang 30 B th vi n v Window form g m các l p đ i t ộ ư ệ ề ồ ớ ố ượ ng dành cho vi c xây d ng các ng d ng Windows based. ệ ự ứ ụ
Vi c xây d ng ng d ng lo i này v n đ ệ ự ứ ụ ạ ẫ ượ c h tr t t t ỗ ợ ố ừ
tr ướ ớ c t i nay b i các công c và ngôn ng l p trình c a ở ụ ữ ậ ủ Microsoft.
Gi đây, ng d ng ch ch y trên Windows s có th làm ờ ứ ụ ỉ ạ ẽ ể
vi c v i ng d ng Web d a vào Web service. Ví d v các ệ ớ ứ ụ ự ụ ề
l p trong th vi n này là: Form, UserControl,… ớ ư ệ
30
Trang 31II.2.4. Phân nhóm các l p đ i tớ ố ượng theo lo i ạ
(Name space)
Là m t nhóm các l p đ i t ộ ớ ố ượ ng ph c v cho m t m c đích ụ ụ ộ ụ nào đó. Ch ng h n, các l p đ i t ẳ ạ ớ ố ượ ng x lý d li u s đ t ử ữ ệ ẽ ặ trong m t namespace tên là Data. Các l p đ i t ộ ớ ố ượ ng dành cho
vi c v hay hi n th ch đ t trong namespace tên là Drawing. ệ ẽ ể ị ữ ặ
M t namespace có th là con c a m t namespace l n h n ộ ể ủ ộ ớ ơ
Namespace l n nh t trong .NET Framework là System ớ ấ
31
Trang 33KI N TRÚC NG D NG WEB Ế Ứ Ụ
KI N TRÚC NG D NG WEB Ế Ứ Ụ
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, và có th xem các store ệ ơ ở ữ ệ ểprocedures nh là 1 ph n c a t ng d li u.ư ầ ủ ầ ữ ệ
33
Trang 34 M i t ng ch có th t ỗ ầ ỉ ể ươ ng tác đ ượ c v i 1 t ng li n k ớ ầ ề ề ngay sát nó. Ví d t ng trình di n ch có th t ụ ầ ễ ỉ ể ươ ng tác
đ ượ c v i t ng Business mà không th v i t ng ớ ầ ể ớ ầ DataAccess.
34
Trang 35 Đ nh nghĩa các phị ương th c t ng h p d li u ứ ổ ợ ữ ệ
Không truy nh p tr c ti p đ n c s d li u. ậ ự ế ế ơ ở ữ ệ
Các d li u đ u vào do t ng truy c p d li u ữ ệ ầ ầ ậ ữ ệ
cung c p.ấ
35
Trang 3636
Trang 3737
Trang 38Tìm hi u các mô hình ng d ng (2 l p)ể ứ ụ ớ
Tìm hi u các mô hình ng d ng (2 l p)ể ứ ụ ớ
A. u đi m Ư ể
D li u t p trung đ m b o d li u đ ữ ệ ậ ả ả ữ ệ ượ c nh t quán. ấ
D li u đ ữ ệ ượ c chia s cho 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. ề ặ
38
Trang 3939
Trang 40 Không yêu c u máy tính 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 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. ử ậ ữ ệ ậ ạ
b. Khuy t đi m ế ể
Ph i s d ng thêm m t Application Server ả ử ụ ộ
Tăng chi phí.
40
Trang 41II.4. Nh ng u đi m c a ASP.N ữ ư ể ủ
II.4. Nh ng u đi m c a ASP.N ữ ư ể ủ et
ASP.Net cho phép b n l a ch n m t trong các ngôn ng ạ ự ọ ộ ữ
l p trình mà b n yêu thích: Visual Basic.Net, J#, C#,… ậ ạ
Trang ASP.Net đ ượ c biên d ch tr ị ướ c. 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 nh ng t p tin DLL mà ị ữ ộ ữ ậ Server có th thi hành nhanh chóng và hi u qu Y u t này ể ệ ả ế ố
là m t b ộ ướ c nh y v t đáng k so v i k thu t thông d ch ả ọ ể ớ ỹ ậ ị
c a ASP. ủ
41
Trang 42II.5. Quá trình x lý t p tin ASPX ử ậ
II.5. Quá trình x lý t p tin ASPX ử ậ
42
Trang 43 Cài đ t thành công m t c s d li u (Database) ặ ộ ơ ở ữ ệ
v ng m nh tữ ạ ương ng v i OLE DBcompliant ứ ớdatabase system nh SQL Server 2000 đ l u tr ư ể ư ữ
nh ng thông tin c n thi t.ữ ầ ế
43
Trang 44PH ƯƠ NG PHÁP LÀM VI C TRÊN M NG Ệ Ạ
PH ƯƠ NG PHÁP LÀM VI C TRÊN M NG Ệ Ạ
KI U M U RESQUEST/RESPONSE:Ể Ẫ
Là toàn b phộ ương pháp làm vi c theo ki u ệ ểClient /Server hi n dùng v i ASP. G m 4 bệ ớ ồ ước
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) ủ
VD index.htm hay default.htm
44
Trang 45PH ƯƠ NG PHÁP LÀM VI C TRÊN M NG Ệ Ạ
PH ƯƠ NG PHÁP LÀM VI C TRÊN M NG Ệ Ạ
L u ýư : Khi Client đã nh n đậ ược h s thì quá trình ồ ơ
trao đ i s k t thúc ngay l p t c. Sau đó, quan h ổ ẽ ế ậ ứ ệServer và Client k t thúc (stateless model)ế
45
Trang 46GI I THI U V WEBSERVER Ớ Ệ Ề
GI I THI U V WEBSERVER Ớ Ệ Ề
Webserver 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ó th dùng IIS, ho c Tomcat đ th t l p ể ặ ể ế ậwebserver
46
Trang 47GI I THI U V WEBSERVER Ớ Ệ Ề
GI I THI U V WEBSERVER Ớ Ệ Ề
47
Trang 4848
Trang 4949
Trang 50là configuration section, cho phép đ t thông tin ặ
c u hình cho t ng ph n khác nhau c a ng d ng ấ ừ ầ ủ ứ ụ
nh Debugging, Profiling, Security, đ nh nghĩa các ư ị
bi n toàn c c trong t p tin XML ế ụ ậ
50
Trang 51C u trúc c a ng d ng ấ ủ ứ ụ
C u trúc c a ng d ng ấ ủ ứ ụ
Có nhi u thi t l p quan tr ng có th l u tr trong ề ế ậ ọ ể ư ữ
t p tin c u hình. Sau đây là m t vài c u hình đ ậ ấ ộ ấ ượ ử c s
d ng th ụ ườ ng xuyên nh t, đ ấ ượ ư c l u tr trong t p tin ữ ậ Web.config.
Trang 53varName=ConfigurationManager.AppSettings["v ariableName "] ;
53
Trang 54d ng tag <link> đ liên k t đ n t p tin .cssụ ể ế ế ậ
Trang 56Cách vi t code trong ch ế ươ ng trình Cách vi t code trong ch ế ươ ng trình
Có 2 cách vi t code trong chế ương trình:
Cách vi t Code Inline ế
Cách vi t Code Behind ế
56
Trang 57Cách vi t code trong ch ế ươ ng trình
Cách vi t code trong ch ế ươ ng trình
Cách vi t code inlineế
Trong cách vi t Code inline, mã v n đế ẫ ược vi t ếtrong các trang ASP.NET nh ng không tr n l n ư ộ ẫ
v i HTML dành cho ph n n i dung, khi đó code ớ ầ ộclient và code server cách nhau b i c p tag ở ặ <%
Trang 58Cách vi t code trong ch ế ươ ng trình Cách vi t code trong ch ế ươ ng trình
Xu t d li u cho client ấ ữ ệ :
Cú pháp:
<%=VariableName%>
58
Trang 59Cách vi t code trong ch ế ươ ng trình
Cách vi t code trong ch ế ươ ng trình
Cách vi t Code Behind ế
Là hình th c vi t code trong m t t p tin khác. Khi ứ ế ộ ậ
đó trong t p tin .aspx c n ph i khai báo rõ n i ch a ậ ầ ả ơ ứcode v i cú pháp sau:ớ
<%@Page Language=”C#” AutoEventWireup=”true” CodeFile=”FileNameCode” Inherits=”ClassContainCode”%>
<%@Page Language=”C#” AutoEventWireup=”true” CodeFile=”FileNameCode” Inherits=”ClassContainCode”%>
59
Trang 60Cách vi t code trong ch ế ươ ng trình
Cách vi t code trong ch ế ươ ng trình
Trong đó: FileNameCode là tên t p tin code. T p tin ậ ậnày có ph n m r ng là .aspx.cs, .aspx, .vb, … tu ầ ở ộ ỳtheo ngôn ng s d ng đ vi t codeữ ử ụ ể ế
Ví d :ụ
60
Trang 61Cách vi t code trong ch ế ươ ng trình Cách vi t code trong ch ế ươ ng trình
OnClick=" Button1_Click " Text="Button" />
</form>
</body></html>
VD.aspx
61
Trang 62Cách vi t code trong ch ế ươ ng trình Cách vi t code trong ch ế ươ ng trình
Trang 63Cách vi t code trong ch ế ươ ng trình Cách vi t code trong ch ế ươ ng trình
Trang 64framework.NET. Nó ch a t t c các ki u d li u ứ ấ ả ể ữ ệnguyên thu (Primitives) và các NameSpace khác.ỷ
64
Trang 65CÁC THÀNH PH N TRONG TRANG Ầ
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ể ư ư ệ ế ộ
65
Trang 66Cung c p các phấ ương th c và ứ
đ i tố ượng cho phép truy c p ậ
đ n các thông s c u hình ế ố ấ
66
Trang 67Drawing Ch a các l p cho phép s d ng kh năng v đ hoứ ề ồớ ạ ử ụ ả
67
Trang 69CÁC THÀNH PH N TRONG TRANG Ầ
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:
<%@ %>
69
Trang 71CÁC THÀNH PH N TRONG TRANG Ầ
M t s các ch th thông d ng ộ ố ỉ ị ụ :
@Page: cho phép b n có th ch ra các thu c tính và ạ ể ỉ ộgiá tr c a m t trang .aspx, đị ủ ộ ượ ử ục s d ng khi trang
được phân tích ho c biên d ch.ặ ị
Ví d :ụ
<%@ Page Language="C#"
CodeFile=“login.aspx.cs“ Inherits=“login" %>
71