1. Trang chủ
  2. » Công Nghệ Thông Tin

BÀI GIẢNG môn lập TRÌNH WEB

276 881 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 276
Dung lượng 4,78 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Ưu điểm của ASP.NET • Phần thực thi của ứng dụng web được biên dịch, do đó ứng dụng sẽ chạy nhanh hơn các ngôn ngữ thông dịch khác • Ứng dụng có thể được cập nhật liên tục mà không cầ

Trang 1

• Học xong chương này sinh viên có thể:

– Hiểu khái niệm ASP.NET và NET Framework.

– Biết sử dụng môi trường phát triển ứng dụng

Web Visual Studio Net.

– Hiểu ý nghĩa và cách bảo trì trạng thái ứng

dụng

– T ạo được ứng dụng Web, lưu giữ và sử dụng

trạng thái của các đối tượng trong ứng dụng

bằng Cookies, Session và Profile

Trang 2

Nội dung

• ASP.NET và NET Framework

• Các điều khiển ASP.NET

• Thư viện lớp trong Net Framework

• Môi trường thực thi ngôn ngữ chung

Trang 3

Giới thiệu

• ASP.NET là công nghệ nền tảng để xây

dựng ứng dụng web và dịch vụ web của

Microsoft

• ASP.NET không phải là công nghệ xây

dựng ứng dụng web duy nhất

• ASP.NET được tích hợp chặt chẽ với hệ

thống phần mềm của Microsoft, từ hệ điều

hành, web server… đến công cụ lập trình,

truy cập dữ liệu, bảo mật

– Không gian tên System.Web.

– Các điều khiển Server and HTML.

Trang 4

Ưu điểm của ASP.NET

• Phần thực thi của ứng dụng web được biên

dịch, do đó ứng dụng sẽ chạy nhanh hơn các

ngôn ngữ thông dịch khác

• Ứng dụng có thể được cập nhật liên tục mà

không cần khởi động lại web server

• Khả năng sử dụng NET Framework là phần mở

rộng của Windows API

• Khả năng sử dụng cácngôn ngữ phổ biến Visual

Basic và ngôn ng ữ mới Visual C#

• Khả năng sử dụng các điều khiển server để xây

dựng giao diện giống như các ứng dụng

Windows

Ưu điểm của ASP.NET (tt)

• Khả năng tạo ra các điều khiển server mới

• Sử dụng cơ chế bảo mật có sẵn của hệ điều

hành Windows

• Khả năng truy cập dữ liệu bằng ADO.NET

• Khả năng hỗ trợ đầy đủ Extensible Markup

Language (XML), cascading style sheets

(CSS), và các chuẩn Internet khác

• Các tính năng caching trang web, bản địa

hóa nội dung được tích hợp sẵn

Trang 5

• Các tập tin thực thi, các đoạn script

–Phần thông tin cấu hình:

• Các tập tin cấu hình, tập tin CSS, cấu

hình web server

Giới thiệu NET Framework

• NET Framework là nền tảng lập trình mới

của Microsoft để phát triển các ứng dụng

windows cũng như ứng dụng web

• NET Framework gồm 2 phần chính:

– Th ư viện các lớp cung cấp các hàm lập trình

cấp thấp (tương tự Windows API) cũng như cấp

cao để phát triển ứng dụng web (ASP.NET),

truy cập dữ liệu (ADO.NET), bảo mật…

– Phần lõi thực thi gọi là common language

runtime (CLR)

Trang 6

Cách thực thi một ứng dụng NET

Thư viện lớp của NET

• Thư viện lớp của NET cung cấp khả năng

sử dụng các tính năng của CLR

• Thư viện lớp của.NET được tổ chức theo

không gian lớp

• Mỗi không gian lớp chứa các lớp có tính

năng liên quan với nhau

Trang 7

Một số không gian tên của NET

• Namespace: Là tên gọi một nhóm các lớp

đối tượng phục vụ cho một mục đích nào đó

– Gồm các đối tượng Application, Browser,

Cache, Cookies, Exeception, Request,

Response, Server và Trace.

– Sử dụng các lớp này trong hầu hết các tác vụ

lập trình Web Các đối tượng Application định

nghĩa trong Global.asax được dựa trên lớp

Application

Trang 8

Một số không gian tên trong

ứng dụng Web (tt)

• System.Web.SessionState

– Đối tượng Session

– Sử dụng các lớp này để lưu trữ và khôi phục

các thông tin trạng thái chứa trong Session.

– Đối tượng Page và Control

– Sử dụng các lớp này trong một Web form để

tạo và điều khiển giao diện người dùng Web

forms được dựa trên lớp Page

• System.Web.UI.WebControls

– Tất cả các đối tượng server control

– Sử dụng các lớp này trong các Web form.

Trang 9

Một số không gian tên trong

ứng dụng Web (tt)

• System.Web.UI.HTMLControls

– Tất cả các đối tượng HTML control

– Sử dụng các lớp này trong Web forms.

• System.Web.Caching

– Đối tượng Cache

– Sử dụng các lớp này để điều khiển quá trình

caching trên server để cải thiện tốc độ thực thi

Trang 10

• Là các file dll trên đĩa cứng, lưu trữ các lớp

của NET

– Ví dụ: tất cả các lớp trong ASP.NET Framework

đều nằm trong Assembly System.web.dll.

• Trước khi sử dụng các lớp trong dll, cần tạo

một tham chiếu đến file dll này

– Right click lên thư mục Website trong cửa sổ

Solution Explorer, chọn Add Reference…

Môi trường thực thi ngôn ngữ chung

• Commom Language Runtime (CLR): chịu

trách nhiệm thực thi mã nguồn ứng dụng: mã

nguồn của ứng dụng NET được biên dịch

thành ngôn ngữ đặc tả của Microsoft

(Microsoft intermediate language - MSIL) và

chứa trong tập tin gọi là assembly

• Khi chạy ứng dụng, MSIL sẽ được biên dịch

sang mã máy máy bởi JITTER (just in time

compiler)

• Trong quá trình thực thi, CLR sẽ tự động

thực hiện các tác vụ quản lý bộ nhớ, kiểm tra

kiểu dữ liệu, và một số tác vụ khác cho ứng

Trang 11

Bài 2 Các điều khiển ASP.NET

• Giới thiệu

• Các điều khiển server

• Các biến cố của các điều khiển

• Mỗi điều khiển ASP.NET là một lớp, khi thực

thi trên server sẽ được trả về dạng mã HTML

hiển thị nội dung trên trình duyệt

• ASP.NET cung cấp rất nhiều điều khiển có

thể sử dụng trong xây dựng ứng dụng web

và tổ chức thành các nhóm dựa vào chức

năng và bản chất của điều khiển

Trang 12

Các điều khiển server

• Standard control: bao gồm các điều khiển

chuẩn như: Label, Button, TextBox…

• Validator Control: là các điều khiển được sử

dụng đề kiểm tra tính hợp lệ của dữ liệu

nhập trước khi gởi về server

• Rich Control: là những điều khiển như

FileUpload, Calendar…

• Data Control là các điều khiển cho phép thao

tác với cơ sở dữ liệu

Các điều khiển server (tt)

• Navigation Control: là những điều khiển cho

phép di chuyển giữa các trang trong website

• Login control: Là các điều khiển về bảo mật

ứng dụng cho phép tạo các form đăng ký,

đăng nhập, thay đổi mật khẩu…

• HTML Control: cho phép chuyển các điều

khiển HTML thành các điều khiển có thể

thực thi trên server

Trang 13

Các điều khiển server (tt)

View State

• View state của Web form là dữ liệu đươc ASP.NET

bảo toàn giữa các yêu cầu của trình duyệt

• ASP.NET lưu trữ các thông tin được đưa vào thuộc

tính ViewState của trang dưới dạng các field ẩn

trên trang

• View state chỉ sử dụng được cho từng web form

• View State lưu trữ dữ liệu ngay trên trang à chỉ có

một số kiểu đối tượng có thể được lưu

• Muốn lưu trữ các đối tượng phức tạp hơn trong

ViewState à chuyển đổi chúng thành các chuỗi.

Trang 14

View State (tt)

• ASP.NET mã hóa các dữ liệu nhập vào các

điều khiển thành các field ẩn được lưu trữ

trên trang Nếu ta chọn View Source từ trình

duyệt, đoạn mã HTML của trường ẩn có

đoạn code sau:

27

GV

View State (tt)

• Ví dụ

–Đoạn mã sau cho phép thêm văn bản

nhập từ một text box vào các ô của một

bảng trên trang Web

• Lưu trữ các chuỗi trong hàm Button1_Click

• Tạo ra các ô và dòng trong bảng từ các chuỗi

này, như trình bày trong thủ tục

Page_PreRender

Trang 15

View State (tt)

29

GV

Bài 3 Trang ASP.NET

• Tạo ứng dụng web trong môi trường VS.Net

• Biên dịch động

• Trang code-behind

• Biến cố mức trang

• Thuộc tính Page.IsPosBack

Trang 17

Thêm Trang ASP.NET

Vào Web Site

Thêm Trang ASP.NET

Vào Web Site

Trang 18

Chọn trang web làm trang

mặc định

Biên dịch

Trang 19

Chạy thử trang web

Trang code-behind

• Khi một website được tạo, mặc định ứng

dụng sẽ tạo ra một tập tin Default.aspx và

một tập tin Default.aspx.cs

– Tập tin Default.aspx: cho phép thiết kế các thành

phần giao diện trên Web Form

– Tập tin Default.aspx.cs: là một class kết hợp với

tập tin Default.aspx, cho phép viết code một

cách độc lập tương tự như ứng dụng Windows

Form, thay vì phải viết code trong thẻ <script

runat=”sever”/> </script>

Trang 20

Chỉ dẫn của tập tin aspx

Chỉ dẫn của tập tin aspx

Trang 21

Chỉ dẫn của tập tin aspx

• ErrorPage: url đến trang web khác khi xảy ra lỗi

• ValidateRequest: cho phép nhập các giá trị đặc

biệt

– @Import: chỉ định không gian tên cần import

vào trang web

Trang 22

Tập tin ứng dụng Global.asax

• Thêm vào ứng dụng tập tin Global.asax

– Từ menu Website, chọn Add New Item, Global

• Sử dụng sự kiện mức ứng dụng để khởi tạo

các đối tượng chung cho tất cả người dùng

của ứng dụng web

– Application_Start: Chỉ xảy ra một lần đầu tiên

khi bất kỳ trang nào trong ứng dụng được gọi.

– Application_End: Xảy ra khi dừng hoạt động

của WebServer.

– Application_Error: Xảy ra khi có lỗi phát sinh

trong quá trình thực thi.

– Application_BeginRequest: xảy ra mỗi khi trình

duyệt di chuyển đến một trang của ứng dụng

– Application_EndRequest – Kết thúc xử lý yêu

cầu của trình duyệt

Trang 23

Sự kiện mức phiên làm việc

• Sử dụng sự kiện mức phiên làm việc để

khởi tạo các đối tượng được sử dụng chung

trong phạm vi một phiên làm việc

– Session_Start: Xảy ra khi có một người dùng

mới yêu cầu đến bất kỳ trang aspx của ứng

dụng, một SessionID sẽ được tạo ra và được

s ử dụng để quản lý người dùng trong quá trình

làm việc với ứng dụng.

– Session_End: Xảy ra khi phiên làm việc không

có gởi yêu cầu hoặc làm tươi trang aspx của

ứng dụng web trong một khoảng thời gian (mặc

Trang 24

Sự kiện mức trang (tt)

• Page_Init: Khởi tạo trang: các điều khiển

được khởi tạo và gán giá trị từ view state

• Page_Load: Nạp trang: các điều khiển đã

được khởi tạo, gán giá trị và sẵn sàng để sử

dụng trong mã lệnh

• Page_PreRender: xảy ra khi trang Web

chuẩn bị được trả về cho Client

Trang 25

Sự kiện mức trang

• Các sự kiện chính thường được sử dụng

của web form là Page_Load và Page_Error

• Có thể kết hợp thuộc tính IsPostBack với sự

kiện Page_Load để khởi tạo các đối tượng

cho web form trong lần đầu tiên (tương tự

như Session_Start nhưng ở mức trang)

• Cho biết trạng thái của trang web khi được

load: Load lần đầu -> IsPostBack = false

• Ví dụ:

private void Page_Load(object sender,

System.EventArgs e) { if( ! IsPostBack) {

// init … }

Trang 26

Sự kiện các điều khiển Server

• Các điều khiển Server, như Button, TextBox,

DropDownList … có các sự kiện riêng của mình,

các sự kiện này xảy ra trong quá trình tương tác

với người dùng (tương tự trong windows form)

• Có 3 loại sự kiện điều khiển server:

• Được xử lý ngay tại phía client mà không cần post-back Chủ

yếu sử dụng bới các điều khiển kiểm chứng dữ liệu

51

GV

Sự kiện các điều khiển Server (tt)

• Các điều khiển Button, Link Button, và

Image Button tạo ra các sự kiện

post-back

• Các điều khiển TextBox, DropDownList,

ListBox, RadioButton, và CheckBox tạo ra

các sự kiện cached

• Tuy nhiên, ta có thể thay đổi điều này bằng

cách thay đổi thuộc tính AutoPostBack của

các điều khiển

Trang 27

Trình tự xử lý sự kiện các điều khiển Server

53

GV

Bài 4 Các trạng thái ứng dụng

• Vòng đời của ứng dụng web

• Vòng đời của webform

Trang 28

Vòng đời của ứng dụng web

• Khi người dùng đóng trình duyệt hoặc

chuyển sang một web site khác, session

của người dùng kết thúc

• Nếu không tồn tại session của người dùng

nào, ứng dụng web sẽ kết thúc

• Lưu ý: Điều này không xảy ra tức thời do cơ

chế quản lý bộ nhớ của ASP.NET Do đó

không thể nói chính xác khi nào sự kiện

Trang 29

Vòng đời của webform

• Khi người dùng yêu cầu một trang web, trình

duyệt hiển thị mã HTML nhận được, người

dùng có thể tương tác với các điều khiển

như gõ vào textbox, lựa chọn trong listbox,…

cho đến khi thực hiện tác vụ làm phát sinh

sự kiện post-back (nhấn vào button,…)

• Sự kiện post-back khiến trình duyệt gửi lại

dữ liệu của trang (dưới dạng view state) về

cho server

Vòng đời của webform (tt)

• Sau khi nhận được view state, server sẽ khởi

tạo phiên bản mới của web form, đổ dữ liệu

từ view state vào web form, sau đó thực hiện

việc xử lý các sự kiện đã phát sinh

• Sau khi xử lý xong, server sẽ trả kết quả lại

cho trình duyệt dưới dạng HTML và hủy

phiên bản vừa tạo ra của web form

Trang 30

Vòng đời của webform (tt)

Cách bảo toàn dữ liệu trên Webform

• Web forms được tạo ra và được huỷ tại mỗi

thời điểm mà trình duyệt trên máy khách tạo

ra một yêu cầu

• Do đó, các giá trị biến bên trong Web form

không giữ lại giá trị của chúng sau khi trang

Web được hiển thị

• Để giải quyết vấn đề này ASP.NET cung

cấp một số cách thức để giữ lại giá trị các

biến giữa các yêu cầu

Trang 31

Query strings

• Chuyển thông tin giữa các yêu cầu và phản

hồi thông qua một phần của địa chỉ Web

• Query strings có thể nhìn thấy được bởi

người sử dụng, vì vậy chúng không nên

chứa các thông tin bảo mật như mật khẩu

• Gửi một query string bằng cách thêm nó

vào địa chỉ của phương thức Redirect

Trang 32

Query strings (tt)

• Để nhận thông tin từ query string trong mã

lệnh, sử dụng phương thức QueryString của

đối tượng Request

63

GV

Cookies

• Lưu trữ các thông tin đơn giản trên máy client

• Các máy client có thể không chấp nhận

cookie, do đó cần kiểm tra trước khi sử dụng

• Khi trình duyệt web tạo một Cookie, một nội

dung sẽ được lưu vào header của trang web

với nội dung có dạng:

Set-Cookie: Message = value

• Phần tiêu đề Set-Cookie này yêu cầu trình

duyệt web tạo một Cookie có tên là Message

coq giá trị là value

Trang 33

• Sau khi một Cookie được tạo trên trình

duyệt, mỗi khi trình duyệt yêu cầu một trang

web trong ứng dụng, trình duyệt sẽ gửi một

header có dạng :

Cookie: Message = value

• Tiêu đề Cookie chứa đựng tất cả các Cookie

được tạo trên Web Server Cookie được gửi

trở lại mỗi khi một yêu cầu được đưa ra trên

trình duyệt web

Cookies (tt)

• Có hai loại cookie:

– Session cookies chỉ tồn tại khi trình duyệt web

còn làm việc, và bị hủy khi đóng trình duyệt web

– Persistent Cookies: có thể tồn tại khá lâu Khi

một Persistent Cookies được tạo, nó sẽ được

lưu trữ trên một tập tin trên máy tính

Trang 34

• Kiểm tra xem một trình duyệt có cho phép

cookies hay không:

– if ( Request.Browser.Cookies) { //do…}

Cookies (tt)

Trang 35

– Có th ể lưu trữ nhiều giá trị trong một cookie

bằng cách sử dụng bộ [Name] [Value] được gọi

là khóa.

– Để tạo một Persistent Cookies, ta chỉ định thời

hạn kết thúc cho Cookies:

aCookie.Expires = DateTime.Now.AddDays(2);

– Ví dụ: Thay vì tạo ra hai tập tin cookie riêng biệt

có tên là userName và lastVisit,ta có thể tạo ra

một cookie đơn đặt tên UserInfo và có hai giá trị

là userName, lastVisit

Trang 37

Application, Session state

• Application state

– Lưu trữ các thông tin chung cho tất cả các người

sử dụng

• Session state

– Lưu trữ các thông tin riêng biệt cho phiên làm

việc hiện hành (riêng cho một người dùng).

– Session cho phép lưu trữ dữ liệu với khối lượng

lớn, điều này không được cho phép khi sử dụng

Cookies

Application, Session state (tt)

• Các biến trạng thái Application và Session

được tạo ra một cách tức thời, mà không

kiểm tra tên biến hoặc kiểm tra kiểu dữ liệu

Ta nên giới hạn các điểm truy xuất đến các

Trang 38

Sử dụng Session

• Lưu dữ liệu vào session:

– Cú pháp: Session[“session_name”]=value;

– VD: Session[“uname”] = “my name”;

• Lấy dữ liệu từ session:

– Kiểm tra sự tồn tại của session

– Lấy dữ liệu từ session và chuyển đổi về kiểu dữ

– Abandon: Kết thúc Session của một người dùng.

– Clear: Cho phép xoá toàn bộ dữ liệu trong Session State.

– Remove: cho phép xoá từng phần tử trong Session State

• Một số thuộc tính thường dùng của lớp

HttpSessionState

– SessionID: giá trị nhận dạng session

– Timeout: thời gian kết thúc một seesion

– cookieless

• AutoDetect: SessionID được lưu trữ trong một cookie khi trình

duyệt có cho phép Cookie, ngược lưu trữ vào địa chỉ URL.

• UseCookies: Session ID luôn luôn lưu trữ trong cookie

• UseUri: Session ID luôn luôn được thêm vào URL

Trang 39

Thiết lập thời gian cho Session

• Mặc định, ASP.Net duy trì trạng thái session

là 20 phút, ta có thể thay đổi giá trị này bằng

cách cấu hình trong trang web.config

• Được dùng để thay thế cho Session hoặc

cookie để lưu trữ thông tin của người sử

dụng

• Tạo Profile bằng cách định nghĩa một danh

sách các thuộc tính Profile trong ứng dụng ờ

trang web.config trong thư mục website

Trang 40

Profile (tt)

• Một số thuộc tính

– Name: tên của thuộc tính.

– Type: kiểu dữ liệu của thuộc tính

– Defaultvalue: giá trị mặc định của thuộc tính

– ReadOnly: tạo thuộc tính chỉ đọc

– allowAnonnyMous: cho phép ng ười dùng nặc

danh đọc và thiết lập thuộc tính

– Provider: kết hợp thuộc tính với một Profile

Provider riêng biêt

Ngày đăng: 15/08/2016, 19:29

HÌNH ẢNH LIÊN QUAN

Hình web server - BÀI GIẢNG môn lập TRÌNH WEB
Hình web server (Trang 5)
Bảng trên trang Web. - BÀI GIẢNG môn lập TRÌNH WEB
Bảng tr ên trang Web (Trang 14)
Hình ảnh - BÀI GIẢNG môn lập TRÌNH WEB
nh ảnh (Trang 179)
Hình kết nối chúng ta cần sử dụng đến - BÀI GIẢNG môn lập TRÌNH WEB
Hình k ết nối chúng ta cần sử dụng đến (Trang 214)
Bảng cơ sở dữ liệu trong bộ nhớ. - BÀI GIẢNG môn lập TRÌNH WEB
Bảng c ơ sở dữ liệu trong bộ nhớ (Trang 227)
Hình phi kết nối chúng ta cần sử dụng - BÀI GIẢNG môn lập TRÌNH WEB
Hình phi kết nối chúng ta cần sử dụng (Trang 235)
Bảng cơ sở dữ liệu trong bộ nhớ. - BÀI GIẢNG môn lập TRÌNH WEB
Bảng c ơ sở dữ liệu trong bộ nhớ (Trang 266)

TỪ KHÓA LIÊN QUAN

w