Tải bản đầy đủ (.pptx) (42 trang)

nguyễn kim đức just another wordpresscom weblog

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.68 MB, 42 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Bai 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 va 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


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>1.1. Mở đầu</b>



• <sub>HTTP va HTML - Nền móng của Kỹ thuật lập trình web </sub>
• <sub>Tìm hiểu các mơ hình ứng dụng </sub>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>HTTP (Hypertext Transfer Protocol) </b>



• <sub>HTTP :</sub>


– Kỹ thuật cơ bản của lập trình ứng dụng web


– <sub>La 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 </sub>


máy tính


– <sub>Được xác định qua URLs (Uniform Resource Locators), vơi cấu trúc chuỗi có định </sub>



dạng như sau:


<b>http: // <host> [: <port>] [ <path> [? <query>]] </b>
• <sub>Một số thuật ngữ: </sub>


– ƒ<sub>Internet</sub>


– ƒ<sub>WWW</sub>


– ƒWeb Server


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>HTML (Hypertext Markup Language) </b>



<Html>
<Head>


<Title>ASP.Net</Title>
</Head>


<Body>


<P align="center">
<FONT size="6">


Chao các bạn đã đến vơi ASP.Net!!!
</FONT>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Tìm hiểu các mơ hình ứng dụng</b>



• <sub>Dữ liệu tập trung => </sub><sub>đảm bảo dữ </sub>



liệu được nhất quán


• <sub>Dữ liệu được chia sẻ cho nhiều </sub>


người dùng


• <sub>Các xử lý tra cứu va cập nhật dữ liệu </sub>


được thực hiện ở Database Server, việc
nhận kết quả va hiển thị phải được thực
hiện ở Client => Khó khăn trong vấn đề
bảo trì va nâng cấp


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

• Hỗ trợ nhiều người dùng


• Giảm bơt xử lý cho Client => Khơng
u cầu máy tính ở Client có cấu
hình mạnh


• <sub>Xử lý nhận va hiển thị dữ liệu tập </sub>


trung tại Application Server => dễ
quản lý, bảo trì va nâng cấp


• Xử lý truy cập dữ liệu tập trung tại
Database Server


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>Web Application</b>




• <sub>La 1 loại ứng dụng client/server</sub>
• <sub>Thanh phần:</sub>


– <sub>Web Client</sub>


– <sub>Web Browser</sub>


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>Web Application</b>



user


http


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>1.2. Giơi thi u ASP.NET</b>

<b>ê</b>



• <sub>Visual Studio .Net la bộ phần mềm được dùng để xây dựng va </sub>


phát triển các ứng dụng


• <sub>Đ c điểm:</sub><sub>ă</sub>


– <sub>Visual Studio .Net bao gồm các ngơn ngữ lập trình: C+</sub>


+.Net, Visual Basic.Net, ASP.Net, C# va J#


– <sub>Tất cả các ngôn ngữ nay được xây dựng dựa trên nền .Net </sub>


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

• Các ham API của Windows


• Microsoft Transaction Server (MTS)



• Internet Information Server (IIS)


• La thanh phần "kết
nối" giữa các phần
khác trong .NET


Framework vơi hệ điều
hanh


• CLR giữ vai trò quản lý
việc thi hanh các ứng
dụng viết bằng .NET
trên Windows


Thư viện các lơp
cơ bản nhất, được
dùng trong khi xây
dựng .NET


Framework


Gồm các lơp dùng để
xử lý dữ liệu


• La kỹ thuật lập trình va phát triển ứng dụng web ở
phía Server (Server-side)


• Thư viện các lơp đối tượng dùng trong việc xây
dựng các ứng dụng Web



• <sub>Web services có thể hiểu la các dịch vụ được cung </sub>


cấp qua Web (hay Internet)


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>Quan điểm l p trình web</b>

<b>â</b>



<b>L p trình phia Client:â</b>


HTML, Java Script, CSS
(Cascading Style Sheets)
Hoạt động:


– <sub>Khi Web browser yêu </sub>


cầu một trang web


– <sub>Web server tìm trang </sub>


web ma Client yêu cầu


– <sub>Gởi về cho Client </sub>


– <sub>Client nhận kết quả trả </sub>


về từ Server; Xử lý<b> ;</b> hiển
thị lên man hình


<b>Lập trình phia Server:</b>



ASP.Net
Hoạt động:


– <i><sub>Trang ASP sẽ được biên dịch và thi hành </sub></i>


<i>tại Web Server</i>


– <i><sub>Kết quả tự động được chuyển sang </sub></i>


<i>HTML/JavaScript/CSS </i>


– <sub>Khi Web browser yêu cầu một trang </sub>


web


– <sub>Web server tìm trang web ma Client </sub>


yêu cầu


– <sub>Trả về cho Client</sub>


– <sub>Client nhận kết quả trả về từ Server </sub>


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>Vi dụ</b>



Trang1.html


<html>
<body>



Xin chao ban
</body>


</html>


Trang2.asp


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


<html xmlns=" /><head runat="server">


<title>Các điều khiển giao diện</title>
</head>


<body>


<form id="form_chinh" runat="server">


<b><%</b>Response.Write(DateTime.Today.Date.ToShortDateString());<b>%></b>


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<b>Ưu điểm của ASP.Net </b>



• Nhiều ngơn ngữ lập trình
ma bạn yêu thích: Visual
Basic.Net, J#, C#,…


• <sub>ASP.Net hỗ trợ mạnh mẽ bộ </sub>


thư viện phong phú va đa
dạng của .Net Framework,


lam việc vơi XML, Web


Service, truy cập CSDL qua
ADO.Net, …


• <sub>ASP.Net sử dụng phong cách </sub>


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>Static Web Pages</b>



• <sub>Được thiết kế bằng kỹ thuật HTML (Hypertext Mark-up </sub>


Language)


• <sub>Chỉ đáp ứng việc giơi thiệu thơng tin cho người dùng xem</sub>
• <sub>Cao nhất la sử dụng một Form trực tuyến (Online Form) để </sub>


thu nhận ý kiến của người xem va gửi về e-mail định danh
trươc


• <sub>Website tĩnh có thể được trang bị các kỹ thuật như Java </sub>


Script, Flash Macromedia hay Animation Gif, giúp cho giao
diện của các trang web thêm sống động va hấp dẫn


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>Dynamic Web Pages</b>



• <sub>Được thiết kế bằng kỹ thuật ASP (Active Server Pages) chạy Windows hay PHP </sub>


(PHP Hypertext Preprocessor) vơi Linux.



• <sub>Phải có cơ sở dữ liệu va tùy theo mục đích của website, nó có thể có các thanh </sub>


phần như:


1. Inner search: Phần tìm kiếm


2. Member account: tai khoản danh cho Hội Viên. Vơi một Username va
Password


3. Shopping Cart: Thanh 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 va bỏ món hang đã chọn vao giỏ
mua hang. Các thơng số liên quan đến món hang sẽ được cập nhật vao tai
khoản của người Mua, giúp cho việc xác định cơng nợ va thanh tốn.


4. Online Payment: Thanh 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 va hang sẽ được chuyển cho Bên Mua


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16></div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<b>Tầng trình diễn (Presentation Tier)</b>



<sub>Người dùng có nhiều lựa chọn về nền trình diễn</sub>



<sub>Hệ thống sẽ tự động gọi các </sub>

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


– <sub>Lấy các yêu cầu, dữ liệu từ người dùng, có thể định dạng </sub>



nó theo những qui tắc đơn giản (dùng các ngơn ngữ Script)


– <sub>Gọi các component thích hợp từ tầng Business Logic để xử </sub>


lý các yêu cầu


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<b>Tầng Logic (Bussiness Logical Tier)</b>



• <sub>Web server : </sub>


– <sub>Đảm nhận nhiệm vụ đón các yêu cầu từ tầng trình diễn (u cầu phía </sub>


client) va trả về kết quả cho phía client


– <sub>Có nhiệm vụ thực thi các thanh phần điều khiển trình diễn của ứng </sub>


dụng chủ


– <sub>Quy trình xử lý nghiệp vụ va điều khiển sẽ do thanh phần thứ hai </sub>


đảm trách


• <sub>Thanh phần ứng dụng chủ :</sub>


– <sub>Thanh phần nay chứa các tập API để truy nhập va thao tác vơi cơ sở </sub>


dữ liệu ở tầng thứ ba - <i>tầng cơ sở dữ liệu</i>


– <sub>Các API được dùng để tạo ra các dự liệu XML va sau đó kết hợp vơi </sub>



</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

<b>Tầng dữ liệu (Data Tier)</b>



<sub>Tầng nay đảm trách việc lấy, lưu trữ va cập </sub>


nhật dữ liệu



<sub>Vì vậy có thể nhìn nhận tầng nay thể hiện cho </sub>


1 cơ sở dữ liệu



<sub>Chứa CSDL của toan trang</sub>



</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<b>Các phần mềm</b>



<sub>H điều hanh (Windows 2000, XP, 7 … ) </sub>

<sub>ê</sub>



<sub>.NET framework SDK (Software Development Kit) </sub>



</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

<b>Phương pháp lam vi c</b>

<b>ê</b>



</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

<b>Kiểu mẫu RESQUEST/RESPONSE</b>



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 đó va
thường la trang chủ (home page)


3. Server đáp ứng bằng cách hoan trả hồ sơ ma Client đã yêu cầu
4. Client nhận được hồ sơ gởi về va hiển thị (display) trong


browser của mình



<b>Lưu ý: </b>


• <sub>Cịn gọi la </sub><i><sub>'response to your request', </sub></i><sub>chờ yêu cầu từ phía client</sub>


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

<sub>Kiểu mẫu event-driven dùng vơi ASP.NET </sub>



<sub>Server sẽ không chờ client yêu cầu tham khảo 1 trang </sub>



nao đó trong mạng



<sub>Server đã bố trí sẵn trươc tất cả mọi tình huống để </sub>



có thể đáp ứng kịp thời mỗi khi Client yêu cầu lam 1


điều gì đó



<sub>Vì vậy kiểu mẫu event – driven còn được gọi la </sub>


<i>'response to your action</i>

‘, server có thể phát hiện ra


các hanh động của Client để phản ứng cho thích hợp



</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

<b>1.4. Web server </b>



• <sub>Web server :</sub>


– <sub>La một máy chủ hoặc một phần mềm trên máy ma nó có </sub>


thể đáp lại các 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



– <sub>Webserver biên dịch mã lệnh thanh trang HTML trươc khi </sub>


gửi về cho client


• <sub>Các phần mềm tạo web server thông dụng :</sub>
– <sub>IIS</sub>


</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

<b>Internet Information Services</b>



<sub>IIS có thể được sử dụng như một Web server</sub>



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



<sub>Các bươc thực hiện:</sub>



• <sub>Thiết l p Internet Information Service </sub><sub>â</sub>


• <sub>Kiểm tra</sub>


• <sub>Cấu hình Internet Information Services </sub>


</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

Thiết l p Internet Information Service

â



1. Mở <b>Control Panel</b>


2. Click <b>Programs and Features</b>



3. Click <b>Turn Windows features on or </b>
<b>of</b>


4. Click <b>Internet Information Services</b>


5. Mở rộng cây thư mục <b>Expand </b>
<b>Internet Information Services</b> >


<b>World Wide Web Services</b> >


<b>Application Development Features</b>


> Click <b>ISAPI Extensions</b>


6. Click chuột vao <b>OK </b>cho máy cai giùm
mình IIS7


</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

<b>Kiểm tra</b>



</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28>

<b>Cấu hình Internet Information Services </b>



• <sub>Để cấu hình IIS, vao Control Panel </sub><sub></sub><sub> Administrative Tool </sub><sub></sub>


Internet Information Services Manager


</div>
<span class='text_page_counter'>(29)</span><div class='page_container' data-page=29>

<b>1.5 Tạo các ứng dụng web trên IIS </b>



• <sub>Một Web Server có thể quản lý nhiều ứng dụng Web đồng </sub>


thời



• <sub>Cách quản lý:</sub>


– <sub>Thơng thường bạn sẽ tổ chức một thư mục con trong </sub>


wwwroot cho mỗi ứng dụng (IIS sẽ tự động liệt kê nó trong
mục Default Web Site)


– <sub>Bạn cũng có thể tạo ánh xạ từ một thư mục khác (tạo một </sub>


</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30></div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31>

<b>1.6 Cách tạo va chạy ứng dụng</b>



<b>Tạo ứng dụng web trong Visual Studio.NET</b>



<sub>Khởi động Visual Studio.NET</sub>


<sub>Chọn File –> New –> Website </sub>


<sub>Trong hộp thoại New Website</sub>



</div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32></div>
<span class='text_page_counter'>(33)</span><div class='page_container' data-page=33>

<b>Cách tạo va chạy ứng dụng</b>



</div>
<span class='text_page_counter'>(34)</span><div class='page_container' data-page=34>

<b>1.5. Cấu trúc các ứng dụng </b>



Folder chứa các trang phụ liên quan đến Account
Folder chứa dữ liệu


File cấu hình; Định dạng file nay theo kiểu XML
File CSS (Xác định các kiểu hiển thị)


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



</div>
<span class='text_page_counter'>(35)</span><div class='page_container' data-page=35>

<b>1.7. Cách viết </b>


<b>code</b>



HTML hoặc XML
va server controls


Bất kỳ ngơn ngữ lập
trình nao được hỗ trợ


bởi CLR


Giao diện
người dùng


Xử lý logic
bên trong


</div>
<span class='text_page_counter'>(36)</span><div class='page_container' data-page=36></div>
<span class='text_page_counter'>(37)</span><div class='page_container' data-page=37>

<b>Code Behind</b>



</div>
<span class='text_page_counter'>(38)</span><div class='page_container' data-page=38>

<b>1.8. Các thanh phần có thể chứa trong trang </b>



• <i><b><sub>Khơng gian tên (Namespaces)</sub></b></i>


• <i><b><sub>Khai báo Namespace</sub></b></i>


• <i><b><sub>Namespaces và chức năng</sub></b></i>


</div>
<span class='text_page_counter'>(39)</span><div class='page_container' data-page=39>

<i><b>Khơng gian tên (Namespaces)</b></i>



• <b><sub>NameSpace</sub></b><sub> la một tập hợp Logic các nhóm thư viện có liên quan </sub>



đến nhau, giúp người lập trình dễ sử dụng va dễ tìm kiếm


• <sub>Namespaces</sub><sub> có kiến trúc phân cấp. Muốn truy nhập vao một chức </sub>


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 đó


• <sub>Mỗi </sub><sub>NameSpace</sub><sub> được chứa trong các file gọi la file Assembly, có </sub>
phần mở rộng la .dll. NameSpace có thể xem như các file thư viện
liên kết động DLL


</div>
<span class='text_page_counter'>(40)</span><div class='page_container' data-page=40>

<i><b>Khai báo Namespace</b></i>



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



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



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



</div>
<span class='text_page_counter'>(41)</span><div class='page_container' data-page=41>

<i><b>Namespaces và chức năng</b></i>



Collections Chứa các đối tượng như Danh sách, hàng đợi và bảng băm


ComponentModel Chứa các lớp cho phép thay đổi các control và component trong cả <sub>lúc chạy và lúc thiết kế.</sub>


Configuration Cung cấp các phương thức và đối tượng cho phép truy cập đến các <sub>thơng số cấu hình cho .NET</sub>


Data 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 <sub>ADO.NET</sub>
Math Chứa các hàm và hằng số liên quan đến xử lý tốn học.



Web Cung cấp cơ chế truyền thơng giữa Client/Browser; Nó mơ tả các đối <sub>tượng được sử dụng với ASP.NET</sub>


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


</div>
<span class='text_page_counter'>(42)</span><div class='page_container' data-page=42>

<i><b>Các chỉ thị (instructions)</b></i>



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ự

<b>@</b>



Cú pháp:



<%@IntructionsName Listattribute%>



</div>

<!--links-->
Just Another Fairy Tale?
  • 4
  • 249
  • 0
  • ×