Giáo trình Lập trình web cung cấp cho người học những kiến thức như: Tổng quan về lập trình web; lập trình web với ASP.NET; làm việc với dữ liệu; bảo mật website; web services. Mời các bạn cùng tham khảo!
Trang 1ỦY BAN NHÂN DÂN TỈNH ĐỒNG THÁP
TRƯỜNG CAO ĐẲNG CỘNG ĐỒNG ĐỒNG THÁP
GIÁO TRÌNH
MÔ ĐUN: LẬP TRÌNH WEB
NGÀNH, NGHỀ: CÔNG NGHỆ THÔNG TIN
TRÌNH ĐỘ: CAO ĐẲNG
(Ban hành kèm theo Quyết định số /QĐ-CĐCĐ ngày tháng năm 20…
của Hiệu trưởng trường Cao đẳng Cộng đồng Đồng Tháp)
Trang 3LỜI NÓI ĐẦU
Trong xu thế hiện nay, website không còn là một khái niệm xa lạ đối với mọi người Hầu hết các cơ quan, doanh nghiệp đều có riêng cho mình một website để đưa tin tức hay cung cấp các dịch vụ cho người dùng Thậm chí ở một số doanh nghiệp, website không chỉ là một công cụ cập nhật tin tức mà nó còn là một công cụ chiến lược quan trong để quảng bá hình ảnh công ty trong xu thế cạnh tranh gắt gao hiện nay
Việc thiết kế, quản trị một website là một công việc không hề đơn giản cho bất cứ lập trình viên nào Tuy nhiên, với sự hỗ trợ của các công nghệ hiện nay, đặc biệt là công nghệ ASP.NET của Microsoft thì công việc này đã trở nên đơn giản rất nhiều Chính vì
lẽ đó mà đề cương môn Lập Trình Web đã được xây dựng dựa trên công nghệ ASP.NET nhằm giúp sinh viên tìm hiểu và có thể sử dụng thành thạo công nghệ này để tạo ra các website phục vụ cho nhu cầu của mình
Bài giảng bao gồm các Bài sau:
Bài 1: TỔNG QUAN VỀ LẬP TRÌNH WEB
Bài 2: LẬP TRÌNH WEB VỚI ASP.NET
Bài 3: LÀM VIỆC VỚI DỮ LIỆU
Bài 4: BẢO MẬT WEBSITE
Bài 5: WEB SERVICES
Cuối cùng, xin gửi lời cảm ơn chân thành nhất đến bạn bè, đồng nghiệp đã có những ý kiến đóng góp sâu sắc cho bài giảng này Mọi ý kiến đóng góp xin vui lòng gửi đến địa chỉ mail: pqcuong@dtcc.edu.vn Xin chân thành cảm ơn!
Đồng Tháp, ngày 01 tháng 10 năm 2013
Tác giả Phan Quốc Cường
Trang 4MỤC LỤC
LỜI NÓI ĐẦU i
MỤC LỤC ii
DANH MỤC CÁC BẢNG iv
DANH MỤC CÁC HÌNH v
Bài 1 1
TỔNG QUAN VỀ LẬP TRÌNH WEB 1
1.1 Giới thiệu về ứng dụng web 1
1.2 Giới thiệu một số công cụ về lập trình web 6
1.3 Giới thiệu NET Framework 21
1.4 Giới thiệu ASP và ASP.NET 23
1.5 Giới thiệu Visual Studio 26
CÂU HỎI ÔN TẬP BÀI 1 28
Bài 2 29
LẬP TRÌNH WEB VỚI ASP.NET 29
2.1 Web Form 29
2.2 Web Controls 31
2.3 Validation Controls 67
2.4 Quản lý trạng thái (State) 96
2.5 Master Pages và Themes 115
2.6 Website Navigation 129
CÂU HỎI ÔN TẬP BÀI 2 133
BÀI TẬP THỰC HÀNH BÀI 2 134
Bài 3 135
LÀM VIỆC VỚI DỮ LIỆU 135
3.1 Giới thiệu ADO.NET 135
3.2 Data Binding 137
3.3 Data Controls 144
Trang 53.4 XML 174
CÂU HỎI ÔN TẬP BÀI 3 177
BÀI TẬP THỰC HÀNH BÀI 3 178
Bài 4 179
BẢO MẬT WEBSITE 179
CÂU HỎI ÔN TẬP BÀI 4 190
BÀI TẬP THỰC HÀNH BÀI 4 191
Bài 5 192
WEB SERVICES 192
5.1 Cấu trúc Web Services 192
5.2 Tạo Web Services 200
5.3 Nâng cấp Web Services 214
CÂU HỎI ÔN TẬP BÀI 5 218
BÀI TẬP THỰC HÀNH BÀI 5 219
TÀI LIỆU THAM KHẢO 220
Trang 6DANH MỤC CÁC BẢNG
Bảng 1 – Lịch sử phát triển NET Framework 23
Bảng 2 – Bảng mô tả các thẻ nằm trong <Ad> 37
Bảng 3 – Bảng thuộc tính của Button 40
Bảng 4 - Bảng thuộc tính CalendarDay 44
Bảng 5 – Bảng thuộc tính Checkbox 45
Bảng 6 – Bảng thuộc tính CheckBoxList 47
Bảng 7 – Bảng thuộc tính Label 53
Bảng 8 – Thuộc tính ListBox 57
Bảng 9 – Bảng thuộc tính Panel 60
Bảng 10 – Bảng thuộc tính RadioButton 62
Bảng 11 – Bảng thuộc tính Table 65
Bảng 12 – Bảng thuộc tính TextBox 67
Bảng 13 – Bảng cột Gridview 145
Bảng 14 – Bảng thuộc tính Gridview 146
Bảng 15 - Các style áp dụng cho GridView 147
Bảng 16 – Bảng sự kiện Gridview 148
Bảng 17 – Bảng sự kiện Gridview (tt) 149
Bảng 18 – Các phương thức Gridview 150
Trang 7DANH MỤC CÁC HÌNH
Hình 1 – Truy cập ứng dụng web 2
Hình 2 – Trang siêu văn bản HTML 3
Hình 3 - Mô hình 2 lớp 4
Hình 4 – Mô hình 3 lớp 5
Hình 5 - Notepad 8
Hình 6 - Intype 9
Hình 7 - phpDesigner 10
Hình 8 - Dreamweaver 11
Hình 9 - E-Texteditor 12
Hình 10 - Komodo 13
Hình 11 - Aptana 14
Hình 12 - Netbean 15
Hình 13 - Bluefish 16
Hình 14 - CoffeeCup 17
Hình 15 – HTML – Kit 18
Hình 16 - Eclipse 19
Hình 17 - SeaMonkey 20
Hình 18 - Amaya 21
Hình 19 - Quá trình biên dịch trang ASP.NET 25
Hình 20 – Quá trình xử lý tập tin aspx 26
Hình 21 – Biểu tượng Visual Studio 27
Hình 22 - Page Directives 31
Hình 23 - Scripts 32
Hình 24 – Danh sách các sự kiện của trang ASP.NET 33
Hình 25 – Cấu trúc của Web Controls 35
Hình 26 – Web Server Controls trên thanh công cụ Visual Studio 36
Hình 27 – Kết quả thực thi AdRotator 39
Trang 8Hình 28 – Kết quả thực thi Button 41
Hình 29 – Kết quả hiện thị Calendar 44
Hình 30 – Kết quả thực thi Checkbox 46
Hình 31 – Kết quả thực thi CheckBoxList 49
Hình 32 – Kết quả thực thi DropDownList 51
Hình 33 – Kết quả thực thi Hyperlink 53
Hình 34 – Kết quả thực thi Label 55
Hình 35 – Bảng thuộc tính LinkButton 55
Hình 36 – Kết quả thực thi LinkButton 57
Hình 37 – Kết quả thực thi ListBox 59
Hình 38 – Kết quả thực thi Panel 62
Hình 39 – Kết quả thực thi RadioButton 64
Hình 40 – Kết quả thực thi table 66
Hình 41 – Cơ chế xác nhận của Validation Controls 69
Hình 42 – Giao diện trang RequireField Validation 72
Hình 43 – Thông báo lỗi khi không nhập Credit Card Information 73
Hình 44 – Thông báo lỗi không xuất hiện khi nhập đầy đủ thông tin 73
Hình 45 – Giao diện thiết kế trang RangeValidator.aspx 76
Hình 46 – Kết quả hiển thị trang RangeValidator.aspx 77
Hình 47 – Kết quả hiển thị trang RangeValidator.aspx 82
Hình 48 - Giao diện trang RegularExpressionValidatorEx.aspx 86
Hình 49 - Kết quả thực thi cho hai trường hợp dữ liệu nhập không hợp lệ và hợp lệ 87
Hình 50 - Giao diện thiết kế trang CustomValidatorEx.aspx 90
Hình 51 - Kết quả thực thi sau khi nhập giá trị trong khung nhập và click nút Validate, cho hai trường hợp dữ liệu nhập không hợp lệ và hợp lệ 90
Hình 52 – Danh sách thông báo lỗi 91
Hình 53 – Danh sách các lỗi 91
Hình 54 - Giao diện trang ValidationSummary.aspx 95
Trang 9Hình 55 - Kết quả thực thi cho hai trường hợp dữ liệu nhập không hợp lệ và hợp lệ 96
Hình 56 – Trang SimpleCounter.aspx 98
Hình 57 – Trang SimpleCounter.aspx trên localhost 99
Hình 58 – Kết quả hiển thị Counter 100
Hình 59 - Kết quả hiển thị sau khi click nút [Create Cookie] 104
Hình 60 – Tạo form đăng nhập 106
Hình 61 – Kết quả hiện thị khi click nút đăng nhập 107
Hình 62 – Quan hệ giữa Session và Application 108
Hình 63 – Ví dụ minh họa 109
Hình 64 – Kết quả thực hiện trang ví dụ minh họa 110
Hình 65 – Thông báo lỗi 113
Hình 66 - Hiển thị trang báo lỗi nhưng không có hiển thị mã lỗi và mô tả lỗi 113
Hình 67 – Hiển thị thông báo lỗi 114
Hình 68 – Master Page 116
Hình 69 – ContentPlaceHolder 117
Hình 70 - Trang DefaultContent.master chứa ContentPlaceHolder bên trong thẻ Body 118
Hình 71 - Tạo trang DefaultContentPage.aspx 119
Hình 72 – Trang Master Page thiết kế theo Table Layout 126
Hình 73 – Web Navigation 130
Hình 74 – Tạo Site Maps 131
Hình 75 – Kiến trúc ADO.NET 135
Hình 76 – Tổng quát về ADO.NET 137
Hình 77 - Kết quả thực thi trang SimpleDataBinding.aspx 140
Hình 78 - Sự kết nối dữ liệu từ tập dữ liệu List<string> đến các điều khiền dữ liệu của ASP.NET 144
Hình 79 – Thiết lập Gridview 151
Hình 80 – Chọn mẫu cho Gridview 154
Trang 10Hình 81 – Lựa chọn các Template cho Gridview 154
Hình 82 - Phần thiết kế giao diện trang 157
Hình 83 – Thêm cột cho Gridview 158
Hình 84 – Kết quả thực thi 159
Hình 85 – Thiết kế giao diện 160
Hình 86 – Kết quả thực hiện chức năng Select 164
Hình 87 – Details View 165
Hình 88 – Kết quả thực thi Details View 169
Hình 89 – Thiết kế giao diện Form View 170
Hình 90 - Thiết kế mẫu tùy chọn 173
Hình 91 - Khung Item Template 173
Hình 92 - Kết quả thực thi FormViewTest.aspx.cs 174
Hình 93 – Cơ chế bảo mật trong ASP.NET 179
Hình 94 - Form-Based Authentication 180
Hình 95 - Passport Authentication 181
Hình 96 - Windows authentication 182
Hình 97 – Thí dụ minh họa Form Authentication 183
Hình 98 – Thêm trang Web Configuration 185
Hình 99 - Viết lệnh xử lý các sự kiện cho các trang 186
Hình 100 - Viết thêm vào sự hiện Page_Load và sự kiện cho link button Đăng Xuất 187 Hình 101 – Màn hình đăng nhập 188
Hình 102 – Đăng nhập vào hệ thống 188
Hình 103 – Tạo Web Service 204
Hình 104 – Khởi tạo web service 205
Hình 105 – Web Service trong Explorer Solution 206
Hình 106 – Web service trên localhost 207
Hình 107 – Nhập các giá trị a, b 207
Hình 108 – Nhập giá trị 5, 6 tương ứng cho a, b 208
Trang 11Hình 109 – Tập tin XML được tạo ra 208
Hình 110 – Tạo trang web thử nghiệm dịch vụ web 209
Hình 111 – Add web reference 210
Hình 112 – Add web reference (tt) 211
Hình 113 – Thêm dịch vụ web vào website 211
Hình 114 – Thiết kế website kiểm tra dịch vụ web 212
Hình 115 – Website trên localhost 213
Hình 116 – Nhập số vào các textbox 213
Hình 117 – Kết quả được lấy từ web service 214
Hình 118 – Session cookies với một web client 216
Trang 12Bài 1 TỔNG QUAN VỀ LẬP TRÌNH WEB
MỤC ĐÍCH
Cung cấp những kiến thức tổng quát về lập trình web Giúp sinh viên biết được xu thế
về công nghệ trong lĩnh vực lập trình web hiện nay Kết thúc Bài này các bạn có thể:
Trình bày được khái niệm ứng dụng thương mại điện tử
Mô tả được các khái niệm cơ bản về Web,kiến trúc Client-Server 2 lớp và 3 lớp
Mô tả được các ngôn ngữ lập trình Web: HTML, DHTML, VBScript, JavaScript
Trình bày và cài đặt được Web Server IIS
Trình bày được các đặc điểm của ASP và ASP.Net
Sử dụng được Visual Studio Net để tạo ứng dụng Web
1.1 Giới thiệu về ứng dụng web
Cùng với sự phát triển mạnh mẽ về công nghệ thông tin, đặc biệt là sự phát triển hệ thống mạng intranet, internet Trong các lĩnh vực ngày nay như: thương mại, y tế, giáo dục thì nhu cầu trao đổi thông tin thực sự là cần thiết, giúp cho công việc được triển khai nhanh, chính xác, dễ dàng và tiết kiệm chi phí, thông tin được cập nhật kịp thời Do đó, vấn đề đặt ra là chúng ta cần phải có một ứng dụng cho phép trao đổi thông tin mọi lúc, mọi nơi, dễ sử dụng thông qua mạng Ứng dụng Web đáp ứng được các yêu cầu đặt ra và sau đây là các lý do tại sao chúng ta phải sử dụng Web: Dễ dàng trao đổi và chia sẽ thông tin thông tin qua mạng
Sử dụng giao diện đồ họa giúp cho người dùng dễ sử dụng
Hỗ trợ về multimedia như: hình ảnh, âm thanh, phim ảnh
Hỗ trợ nhiều Bài trình (web-browser) để truy cập Web
Hỗ trợ truy cập web trên các thiết bị đi động: PocketPC, SmartPhone
Hỗ trợ nhiều ngôn ngữ để phát triển Web: ASP, ASP.NET, JSP, PHP
Trang 13Web client (Browser)
Máy khách (Client) sẽ sử dụng Bài trình để truy cập đến các trang web gọi là trình duyệt web hay browser Hiện rất nay có nhiều trình duyệt web như: Internet Explorer, Nescape, Mozila FireFox
Web server
Các máy chủ (Server) chứa các ứng dụng Web, sẳn sàng truy xuất các trang web hay các tài liệu và gửi về cho client khi nhận được yêu cầu từ phía Client Hiện nay có rất nhiều Web server và chạy trên nhiều hệ thống như: Apache, Microsoft, Sun
Giao thức HTTP
Quá trình giao tiếp giữa client và server được thực hiện thông qua giao thức chuẩn HTTP(HyperText Transfer Protocol).Hình minh họa sau mô tả việc truy cập ứng dụng Web
Hình 1 – Truy cập ứng dụng web
Web được phát triển trên mô hình client-server
Trang 14Mô hình gồm hai thành phần chính là: máy khách (client) và máy phục vụ (server) Máy phục vụ (server) sẽ chứa các ứng dụng Web và các ứng dụng Web này sẽ được quản lý tập trung bởi trình quản lý gọi là Web Server Các máy khách (client) truy cập đến ứng dụng web sử dụng trình duyệt web (browser)
Client sử dụng giao thức HTTP Request để gửi yêu cầu trang web lên Server, Server
xử lý và sử dụng giao thức HTTP Response để gửi kết quả về cho Client
Ngôn ngữ HTML
Ngôn ngữ chuẩn để tạo một trang Web HTML cho phép người viết có thể phân chia
và trình bày thông tin trên một trang tin HTML đơn giản, dễ học HTML đơn giản là tập tin có phần mở rộng htm (.html), sử dụng các thẻ (tag): kiểu văn bản, danh sách, các liên kết (hyperlinks) Chúng ta có thể dùng FrontPage, DreamWeaver… để thiết kế các trang HTML
Ngôn ngữ đánh dấu 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
Hình 2 – Trang siêu văn bản HTML
Client Scripting và Server Scripting
Trang 15Các ngôn ngữ dùng để viết mã cho trang web Một trang web được xử lý ở Server và trả kết quả về cho Client Do đó các ngôn ngữ viết mã cho trang web được chia thanh hai dạng:
ClientScript: được xử lý tại trình duyệt (Browser) trên máy Client Các ngôn ngữ dùng
để viết là:VBScript, JavaScript, DHTML…
JavaScript là ngôn ngữ phỗ biến sử dụng nhiều nhất hiện nay JavaScript được dùng để kiểm tra việc nhập liệu, kiểm tra trình duyệt
DTHML:là sự kết hợp của HTML,Style Sheet(CSS) và JavaScript nhằm làm cho trang web dễ tương tác, điều khiển và giảm bớt việc xử lý phía Server
VBScript là ngôn ngữ script của Microsoft Chức năng của VBScript cũng giống như JavaScript
Server Scripting: được xử lý tại Web server trên máy Server Các ngôn ngữ dùng để viết là: ASP, ASP.NET, PHP, JSP
Các mô hình ứng dụng
Mô hình ứng dụng 2 lớp
Hình 3 - Mô hình 2 lớp
Trang 16Đây là một dạng mô hình đơn giản, khá phổ biến của một ứ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
Ưu điểm:
Dữ liệu tập trung do đó đảm bảo dữ liệu được nhất quán
Dữ liệu được chia sẻ cho nhiều người dùng
Khuyết điểm:
Các xử lý tra cứu và cập nhật dữ liệu được thực hiện ở Database Server, việc nhận kết quảvà hiển thị phải được thực hiện ở Client nên khó khăn trong vấn đề bảo trì và nâng cấp
Khối lượng dữ liệu truyền trên mạng lớn vì vậy chiếm dụng đường truyền, thêm gánh nặng cho Database Server
Mô hình ứng dụng 3 lớp
Hình 4 – Mô hình 3 lớp
Trang 17Mô hình 2 lớp phần nào đáp ứng được các yêu cầu khắc khe của một ứ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 2 lớp không thể đáp ứng được
Mô hình 3 lớp sử dụng thêm Application Server giữ nhiệm vụ tương tác giữa Client và Database 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
Phải sử dụng thêm một Application Server vì vậy chi phí tăng
1.2 Giới thiệu một số công cụ về lập trình web
Lập trình web là xu hướng mới đang được sử dụng ngày càng phổ biến Có 2 loại lập trình Web:
Lập trình Web chạy trên máy client: cho ta viết các đoạn code (thường bằng
ngôn ngữ Javascript hay VBscript, Applet Java, ActiveX) để chúng chạy trên máy người dùng, các đoạn code này thường là các hàm xử lý sự kiện mà người dùng kích hoạt Cơ sở của lập trình Web chạy trên máy client là tính chất của ngôn ngữ DHTML (Dynamic HTML) Tuy nhiên lập trình Web chạy trên máy client có nhiều nhược điểm như khó bảo mật mã nguồn, khó chạy ổn định vì không biết khả năng chính xác của máy người dùng, khó truy xuất dữ liệu được quản lý ở máy server, Hiện nay, thường ta lập trình Web chạy trên máy client
để kiểm tra sơ bộ dữ liệu nhập vào từ người dùng
Trang 18 Lập trình Web chạy trên máy server: cho ta viết các đoạn code (bằng bất kỳ
ngôn ngữ nào) để chúng chạy trên máy server, các đoạn code này có thể xử lý bất kỳ vấn đề nào với độ phức tạp nào theo yêu cầu từ người dùng ở máy client
Có có rất nhiều công nghệ và ngôn ngữ khác nhau phục vụ cho việc lập trình chạy ở máy server như CGI (Common Gateway Interface), ISAPI Extension, ASP, ASP Net, JSP, Servlet Java, Java Bean, PHP
a Notepad++
Đây là một phần mềm soạn thảo rất mạnh, độ tùy biến cao và hoàn toàn miễn phí Nó
là trình viết code cho người dùng Windows và hỗ trợ vài ngôn ngữ lập trình như: PHP, ASP, Java, C#, Python, Jsp Nó là một phần mềm mã nguồn mở nên những ai yêu
thích có thể xem mã nguồn để cá nhân hóa phần mềm này
Download bản Desktop: http://bit.ly/17LUU0r | Portable: http://bit.ly/17LUMxW
Trang 19Hình 5 - Notepad
b Intype
Đây là một phần mềm soạn thảo rất nhẹ và miễn phí nhưng cũng cung cấp cho bạn đầy
đủ tính năng để sử dụng cho việc lập trình website Kể cả việc tổ chức một project hay viết mã Chúng ta còn có thể dùng bản portable nhẹ nhàng
Download bản Install: http://bit.ly/17LVoDR | Portable: http://bit.ly/17LVET4
Trang 20Hình 6 - Intype
c PHPdesigner
Công cụ này có giao diện rất thân thiện và nhiều tính năng hay như: xem trước trang web trên trình duyệt, code snippets, báo lỗi cú pháp khi lập trình với PHP, autocomplete v.v Hơn nữa sẽ dễ dàng quản lí các project của mình
Download bản Install: http://bit.ly/17LW7EX | Portable: http://bit.ly/17LWeAt
Trang 21Hình 7 - phpDesigner
d Dreamwweaver
Đây là phần mềm được dùng rộng rãi cho người mới bắt đầu lập trình hay các lập trình viên chuyên nghiệp Nó hỗ trợ kéo thả để thiết kế một trang web hay viết code, mã màu, bổ sung thẻ tag, thanh công cụ mã Nó hỗ trợ các ngôn ngữ như ASP.NET, PHP, ASP, JSP Giao diện của dreamweaver bố trí rất trực quan dễ dàng cho người sử dụng
Download bản install: http://adobe.ly/17LWIXh
Trang 22Hình 8 - Dreamweaver
e E-Texteditor
Với phần mềm e-Texteditor chuyên nghiệp, chúng ta có thể viết html một cách dễ dàng nhờ tình năng view trực tiếp trên màn hình Ngoài ra phần mềm còn hỗ trỡ mạnh các ngôn ngữ như javascript, php, xml rất nhiều tính năng khác Nhưng đây là một phần mềm phải trả phí không được rẻ nên các bạn phải cân nhắc về việc sử dụng nó lâu dài đấy
Download bản install: http://bit.ly/17M0mjR
Trang 23Hình 9 - E-Texteditor
f Komodo Edit
Komodo Edit là một trong các trình soạn thảo XML miễn phí tốt nhất hiện nay Nó bao gồm rất nhiều tính năng tuyệt vời dành cho phát triển HTML và CSS Thêm vào đó, nếu nhưng vẫn chưa làm thỏa mãn chúng ta có thể nhận được phần mở rộng để thêm vào ngôn ngữ hoặc các tính năng hữu ích khác (như ký tự đặc biệt) Komodo Edit không phải là trình biên tập HTML tốt nhất, nhưng rất tốt cho cho giá cả, đặc biệt là nếu bạn xây dựng trong XML Có hai phiên bản của Komodo:
Download Komodo Edit: http://bit.ly/17M0Iad | Komodo IDE: http://bit.ly/17M0NuC
Trang 24Hình 10 - Komodo
g Aptana
Aptana Studio là một sự tích hợp thú vị về phát triển trang web Thay vì tập trung vào HTML, Aptana tập trung vào JavaScript và các yếu tố khác cho phép bạn tạo ra các ứng dụng Internet phong phú, phần mềm này sẽ giúp cho việc phát triển CSS và JavaScript dễ dàng hơn bao giờ hết Nếu bạn là một nhà phát triển tạo ra các ứng dụng web thì Aptana Studio là một lựa chọn tốt
Download: http://bit.ly/17M1ILB
Trang 25Hình 11 - Aptana
h NetBeans
NetBeans IDE là một IDE Java có thể giúp bạn xây dựng các ứng dụng web mạnh mẽ Giống như hầu hết các IDE khác, ứng dụng có chút phức tạp trong thời gian đầu bởi vì phần mềm không được thường dùng trong cùng một cách mà các biên tập viên trang web làm Nhưng một khi đã quen với nó, chúng ta sẽ thấy nó rất tiện lợi và dễ dàng Một tính năng đáng giá trong IDE của phần mềm là nó thực sự hữu ích cho những người làm trong môi trường phát triển lớn (các ứng dụng và dự án lớn) Nếu chúng ta viết Java và các trang web này là một công cụ tuyệt vời
Download: http://bit.ly/17M1Ri7
Trang 26Hình 12 - Netbean
Bluefish
Bluefish là một trình soạn thảo web đầy đủ tính năng dành cho Linux Và phiên bản 2.0
bổ sung rất nhiều tính năng mới tuyệt vời Ngoài ra, nó còn có khả năng thực thi các ứng dụng nguyên bản của Windows and Macintosh Công cụ còn có chức năng kiểm tra lỗi và tự động chỉnh sửa cho nhiều ngôn ngữ khác nhau (HTML, PHP, CSS) Bluefish chủ yếu là trình biên tập mã, không phải là trình soạn thảo web Điều này có nghĩa rằng nó có rất nhiều tính linh hoạt cho các nhà phát triển web bởi bạn viết code nhiều hơn là chỉ HTML
Download: http://bit.ly/17M23O7
Trang 28Hình 14 - CoffeeCup
j HTML - Kit
HTML - Kit là một trình soạn thảo văn bản miễn phí với rất nhiều tính năng Nó là một trong những Text editors phổ biến hơn có sẵn cho Windows Nó có bổ sung thẻ tag, HTML và CSS Validation và rất nhiều tính năng mà chúng ta không tưởng tượng được trong phần mềm miễn phí
Download: http://www.htmlkit.com/tools/?download=1
Trang 29Hình 15 – HTML – Kit
k Eclipse
Eclipse là một môi trường phát triển web phức tạp bởi nó hoàn hảo cho những người
mà viết code nhiều trên các nền tảng khác nhau với nhiều ngôn ngữ khác nhau Nó được cấu trúc như plug-in vì vậy nếu bạn cần phải chỉnh sửa một cái gì đó, bạn chỉ cần cài plug-in thích hợp và bắt đầu Nếu bạn đang tạo ra các ứng dụng web phức tạp, Eclipse có rất nhiều tính năng để giúp làm cho ứng dụng của bạn dễ dàng hơn để xây dựng Eclípe hỗ trợ các ứng dụng như: Java , JavaScript, PHP plugins, cũng như một plugin cho các mobile developers
Download:http://bit.ly/17M3pZm
Trang 30Hình 16 - Eclipse
l SeaMonkey
SeaMonkey là là bộ ứng dụng phát triển dự án web "All in one" trên nền Internet của Mozilla Nó bao gồm một trình duyệt web , email và khách hàng nhóm tin, IRC chat client và composer - trình soạn thảo web
Một trong những điều thú vị để sử dụng SeaMonkey là chúng ta có trình duyệt được tích hợp bên trong để có thể testing một cách dễ dàng
Download: http://bit.ly/17M3L1Z
Trang 31Hình 17 - SeaMonkey
m Alleycode
Alleycode là một biên tập web miễn phí tập trung vào việc tối ưu hóa công cụ tìm kiếm Có rất nhiều tính năng tích hợp và liên kết đến các trang web Alleycode để chúng ta có thể kiểm tra thứ hạng trang web của bạn , tối ưu hóa thông tin dữ liệu, mặt khác cải thiện thứ hạng tìm kiếm của bạn
Download: http://bit.ly/17M41OB
n Amaya
Amaya là trình soạn thảo web của W3C Nó cũng hoạt động như một trình duyệt web
Nó xác thực các HTML khi bạn xây dựng trang web của mình Amaya còn rất hữu ích cho việc tìm hiều DOM Nó có rất nhiều tính năng đến nỗi các nhà thiết kế web sẽ không bao giờ sử dụng , nhưng nếu chúng ta đang lo lắng về các tiêu chuẩn và muốn
Trang 32chắc chắn 100% rằng các trang của được các thực với W3C , đây là một trình soạn thảo tuyệt vời để sử dụng
Download: http://bit.ly/17M4hgE
Hình 18 - Amaya
1.3 Giới thiệu NET Framework
.NET Framework là một nền tảng lập trình và cũng là một nền tảng thực thi ứng dụng chủ yếu trên hệ điều hành Microsoft Windows được phát triển bởi Microsoft Các Bài trình được viết trên nền NET Framework sẽ được triển khai trong môi trường phần mềm (ngược lại với môi trường phần cứng) được biết đến với tên Common Language Runtime (CLR) Môi trường phần mềm này là một máy ảo trong đó cung cấp các dịch
vụ như an ninh phần mềm (security), quản lý bộ nhớ (memory management) và các xử
lý lỗi ngoại lệ (exception handling)
Trang 33.NET Framework bao gồm tập các thư viện lập trình lớn và những thư viện này hỗ trợ việc xây dựng các Bài trình phần mềm như lập trình giao diện, truy cập, kết nối cơ sở
dữ liệu, ứng dụng web, các giải thuật, cấu trúc dữ liệu và giao tiếp mạng CLR cùng với bộ thư viện này là 2 thành phần chính của NET framework
.NET Framework đơn giản hóa việc viết ứng dụng bằng cách cung cấp nhiều thành phần được thiết kế sẵn, người lập trình chỉ cần học cách sử dụng và tùy theo sự sáng tạo mà gắn kết các thành phần đó lại với nhau Nhiều công cụ được tạo ra để hỗ trợ xây dựng ứng dụng NET và IDE (Integrated Developement Environment) được phát triển
và hỗ trợ bởi chính Microsoft là Visual Studio
Visual Studio Được phát hành kèm
theo
1.0 1.0.3705.0 13 tháng 2
năm 2002
Visual Studio.NET
Windows XP Tablet and Media Center Editions[1]
1.1 1.1.4322.573 24 tháng 4
năm 2003
Visual Studio NET 2003
Trang 34Bảng 1 – Lịch sử phát triển NET Framework
1.4 Giới thiệu ASP và ASP.NET
Giới Thiệu về ASP
Active Server Page (ASP) do Microsoft phát triển là môi trường lập trình phía server (server side scripting) hỗ trợ mạnh trong việc xây dựng các ứng dụng thương mại điện
tử (các trang Web động) Các ứng dụng ASP rất dễ viết và dễ sửa đổi, đồng thời tích hợp các công nghệ sẵn có của Microsoft như COM
Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, 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, đồng thời ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài
Một ứng dụng ASP được triển khai trên Web Server là IIS (Internet Information Service) có sẳn trong môi trường Windows Để có thể triển khai ứng dụng ASP trên các môi trường khác ta phải cài đặt các thư viện hỗ trợ ASP
Trang ASP là một tập tin văn bản (text file) có phần mở rộng asp Phần mở rộng này
sẽ giúp Web server yêu cầu trình xử lý trang asp (ASP engine) trước khi trả về cho trình duyệt
Trang 35Ngôn ngữ script thông dụng nhất để viết mã của ASP là VBScript Ngoài ra ta cũng có thể viết mã bằng các ngôn ngữ khác như: JavaScript, Perl, Python,…nếu trên Web server có cài đặt các bộ xử lý ngôn ngữ này
Các đoạn mã viết trong trang ASP sẽ được các bộ xử lý ngôn ngữ trên Web server xử
lý tuần tự từ trên xuống dưới Kết quả của việc xử lý này là trả về trang mã HTML cho web server và web server sẽ gửi trang HTML này về cho trình duyệt (Browser), do đó tại trình duyệt không thể thấy được các đoạn mã Bài trình đã viết trong trang ASP Một trang ASP gồm 4 phần :
Dữ liệu văn bản (text)
Các thẻ (tag) HTML
Các đoạn mã Bài trình phía client đặt trong cặp thẻ <SCRIPT> và </SCRIPT>
Mã Bài trình ASP được đặt trong cặp thẻ <% và %>
Ba thành phần đầu tiên là cấu trúc của một trang HTML thông thường, do đó có thể xem một trang ASP là một trang HTML được nhúng thêm phần xử lý viết bằng mã ASP (VBScript, JavaScript…)
Sử dụng trình thông dịch cho các trang ASP
Các đoạn mã lệnh và giao diện (HTML) trộn lẫn với nhau
Không sử dụng lại được (reuse) các đoạn mã
Không hỗ trợ cơ chế bẫy lỗi (Debug)
Trang 36ASP.NET
ASP.NET là một nền tảng ứng dụng web (web application framework) được phát triển
và cung cấp bởi Microsoft cho phép những người lập trình tạo ra những trang web động, những ứng dụng web và những dịch vụ web Lần đầu tiên được đưa ra thị trường vào tháng 2 năm 2002 cùng với phiên bản 1.0 của.NET framework, là công nghệ nối tiếp của Microsoft's Active Server Pages(ASP)
ASP.NET được biên dịch dưới dạng Common Language Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi ngôn ngữ NET
Hình 19 - Quá trình biên dịch trang ASP.NET
Trang 37Hình 20 – Quá trình xử lý tập tin aspx
1.5 Giới thiệu Visual Studio
Microsoft Visual Studio là một môi trường phát triển tích hợp (IDE) của Microsoft Nó được sử dụng để phát triển giao diện điều khiển và các ứng dụng giao diện người dùng
đồ họa cùng với Windows Forms hoặc các ứng dụng WPF, các trang web, các ứng dụng web và dịch vụ web trong cả mã nguồn gốc cùng với mã số quản lý cho tất cả các nền tảng được hỗ trợ bởi Microsoft Windows, Windows Mobile, Windows CE, NET Framework., NET Compact Framework và Microsoft Silverlight
Visual Studio bao gồm một trình biên tập mã hỗ trợ IntelliSense cũng như cấu trúc lại
mã Trình gỡ lỗi tích hợp hoạt động cả hai như là một trình gỡ lỗi nguồn cấp và sửa lỗi máy cấp Khác được xây dựng trong các công cụ bao gồm một thiết kế hình thức để xây dựng các ứng dụng giao diện đồ họa, thiết kế web và thiết kế lược đồ cơ sở dữ liệu
Nó chấp nhận plug-in nâng cao các chức năng tại gần như tất cả các cấp, bao gồm cả
Trang 38hỗ trợ thêm cho các hệ thống kiểm soát nguồn (như Subversion và Visual SourceSafe )
và thêm bộ công cụ mới như biên tập và thiết kế hình ảnh cho các ngôn ngữ hoặc bộ công cụ tên miền cụ thể đối với các khía cạnh khác của vòng đời phát triển phần mềm (như Team Foundation server client: Team Explorer)
Visual Studio hỗ trợ ngôn ngữ lập trình khác nhau bằng phương tiện của dịch vụ ngôn ngữ, cho phép trình biên tập mã và gỡ lỗi để hỗ trợ (mức độ khác nhau) gần như bất kỳ ngôn ngữ lập trình, cung cấp một dịch vụ ngôn ngữ cụ thể tồn tại Được xây dựng trong ngôn ngữ bao gồm C / C++ (Visual C++), VB.NET (Visual Basic NET ), C# (Visual
C # ) và F # (như của Visual Studio 2010)
Hỗ trợ cho các ngôn ngữ khác như: Python và Ruby số những người khác có sẵn thông qua dịch vụ ngôn ngữ cài đặt riêng rẽ Nó cũng hỗ trợ XML / XSLT, HTML / XHTML, JavaScript và CSS Phiên bản riêng ngôn ngữ cụ thể của Visual Studio cũng
có cung cấp dịch vụ ngôn ngữ hạn chế hơn cho người sử dụng: Microsoft Visual Basic, Visual J #, Visual C # và Visual C++
Microsoft cung cấp phiên bản " Express" miễn phí của Visual Studio Phiên bản thương mại của Visual Studio cùng với lựa chọn phiên bản trước đó có sẵn miễn phí cho sinh viên thông qua Bài trình DreamSpark của Microsoft
Hình 21 – Biểu tượng Visual Studio
Trang 39CÂU HỎI ÔN TẬP BÀI 1
1 Trình bày một số công cụ lập trình web đã nêu trong Bài 1? Bạn đã sử dụng công cụ nào?
2 .NET Framework là gì?
3 ASP.NET là gì?
4 Visual Studio là gì?
Trang 40Bài 2 LẬP TRÌNH WEB VỚI ASP.NET
MỤC ĐÍCH
Giới thiệu những kiến thức và kỹ năng cơ bản về lập trình ASP.NET Từ đó sinh viên
có thể sử dụng công nghệ ASP.NET vào các ứng dụng lập trình web mà mình muốn xây dựng
2.1 Web Form
ASP.NET Web Forms là một phần của khung ứng dụng web ASP.NET Đây là một trong ba mô hình lập trình khác nhau mà bạn có thể sử dụng để tạo ra các ứng dụng web ASP.NET, những phần khác là: ASP.NET MVC và ASP.NET web pages
Các Web Forms là trang mà người dùng yêu cầu của bạn thông qua trình duyệt của họ
và hình thức giao diện người dùng (UI) cho các ứng dụng web của bạn nhìn thấy và cảm nhận Những trang này được viết bằng một sự kết hợp của HTML, điều khiển máy chủ (server controls) và mã máy chủ Khi người dùng yêu cầu một trang, nó được biên dịch và thực thi trên máy chủ, và sau đó nó sẽ tạo ra các mã HTML mà trình duyệt có thể thực thi
Sử dụng Visual Studio, chúng ta có thể tạo ra ASP.NET Web Forms bằng một IDE đầy sức mạnh Ví dụ, nó sẽ cho phép chúng ta kéo và thả điều khiển máy chủ đặt ra Web Forms Chúng ta cũng có thể dễ dàng thiết lập các thuộc tính, phương pháp và các sự kiện cho các điều khiển hoặc cho trang để xác định hành vi của trang, xem và cảm nhận Để viết mã máy chủ cho việc xử lý logic trang web, chúng ta có thể sử dụng ngôn ngữ NET như Visual Basic hoặc C#
ASP.NET Web Forms cung cấp các tính năng sau:
Tách HTML và các mã giao diện (UI) từ logic ứng dụng