Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 231 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
231
Dung lượng
5,43 MB
Nội dung
Ủ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… Hiệu trưởng trường Cao đẳng Cộng đồng Đồng Tháp) Đồng Tháp, năm 2017 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng ngun trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm i LỜI NÓI ĐẦU Trong xu nay, website khơng cịn khái niệm xa lạ người Hầu hết quan, doanh nghiệp có riêng cho website để đưa tin tức hay cung cấp dịch vụ cho người dùng Thậm chí số doanh nghiệp, website không công cụ cập nhật tin tức mà cịn cơng cụ chiến lược quan để quảng bá hình ảnh công ty xu cạnh tranh gắt gao Việc thiết kế, quản trị website công việc không đơn giản cho lập trình viên Tuy nhiên, với hỗ trợ công nghệ nay, đặc biệt công nghệ ASP.NET Microsoft cơng việc trở nên đơn giản nhiều Chính lẽ mà đề cương mơn Lập Trình Web xây dựng dựa cơng nghệ ASP.NET nhằm giúp sinh viên tìm hiểu sử dụng thành thạo cơng nghệ để tạo website phục vụ cho nhu cầu Bài giảng bao gồm 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 đến bạn bè, đồng nghiệp có ý kiến đóng góp sâu sắc cho giảng Mọi ý kiến đóng góp xin vui lòng gửi đến địa 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 i MỤ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 TỔNG QUAN VỀ LẬP TRÌNH WEB 1.1 Giới thiệu ứng dụng web 1.2 Giới thiệu số công cụ lập trình web 1.3 Giới thiệu NET Framework 21 1.4 Giới thiệu ASP ASP.NET 23 1.5 Giới thiệu Visual Studio 26 CÂU HỎI ÔN TẬP BÀI 28 Bài 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 Themes 115 2.6 Website Navigation 129 CÂU HỎI ÔN TẬP BÀI 133 BÀI TẬP THỰC HÀNH BÀI 134 Bài 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 ii 3.4 XML 174 CÂU HỎI ÔN TẬP BÀI 177 BÀI TẬP THỰC HÀNH BÀI 178 Bài 179 BẢO MẬT WEBSITE 179 CÂU HỎI ÔN TẬP BÀI 190 BÀI TẬP THỰC HÀNH BÀI 191 Bài 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 218 BÀI TẬP THỰC HÀNH BÀI 219 TÀI LIỆU THAM KHẢO 220 Trang iii DANH MỤC CÁC BẢNG Bảng – Lịch sử phát triển NET Framework 23 Bảng – Bảng mô tả thẻ nằm 37 Bảng – Bảng thuộc tính Button 40 Bảng - Bảng thuộc tính CalendarDay 44 Bảng – Bảng thuộc tính Checkbox 45 Bảng – Bảng thuộc tính CheckBoxList 47 Bảng – Bảng thuộc tính Label 53 Bảng – Thuộc tính ListBox 57 Bảng – 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 kiện Gridview 148 Bảng 17 – Bảng kiện Gridview (tt) 149 Bảng 18 – Các phương thức Gridview 150 Trang iv DANH MỤC CÁC HÌNH Hình – Truy cập ứng dụng web Hình – Trang siêu văn HTML Hình - Mơ hình lớp Hình – Mơ hình lớp Hình - Notepad Hình - Intype Hình - phpDesigner 10 Hình - Dreamweaver 11 Hình - 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 kiện trang ASP.NET 33 Hình 25 – Cấu trúc Web Controls 35 Hình 26 – Web Server Controls công cụ Visual Studio 36 Hình 27 – Kết thực thi AdRotator 39 Trang v Hình 28 – Kết thực thi Button 41 Hình 29 – Kết thị Calendar 44 Hình 30 – Kết thực thi Checkbox 46 Hình 31 – Kết thực thi CheckBoxList 49 Hình 32 – Kết thực thi DropDownList 51 Hình 33 – Kết thực thi Hyperlink 53 Hình 34 – Kết thực thi Label 55 Hình 35 – Bảng thuộc tính LinkButton 55 Hình 36 – Kết thực thi LinkButton 57 Hình 37 – Kết thực thi ListBox 59 Hình 38 – Kết thực thi Panel 62 Hình 39 – Kết thực thi RadioButton 64 Hình 40 – Kết thực thi table 66 Hình 41 – Cơ chế xác nhận Validation Controls 69 Hình 42 – Giao diện trang RequireField Validation 72 Hình 43 – Thơng báo lỗi khơng nhập Credit Card Information 73 Hình 44 – Thông báo lỗi không xuất 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 hiển thị trang RangeValidator.aspx 77 Hình 47 – Kết hiển thị trang RangeValidator.aspx 82 Hình 48 - Giao diện trang RegularExpressionValidatorEx.aspx 86 Hình 49 - Kết thực thi cho hai trường hợp liệu nhập không hợp lệ hợp lệ 87 Hình 50 - Giao diện thiết kế trang CustomValidatorEx.aspx 90 Hình 51 - Kết thực thi sau nhập giá trị khung nhập click nút Validate, cho hai trường hợp liệu nhập không hợp lệ hợp lệ 90 Hình 52 – Danh sách thông báo lỗi 91 Hình 53 – Danh sách lỗi 91 Hình 54 - Giao diện trang ValidationSummary.aspx 95 Trang vi Hình 55 - Kết thực thi cho hai trường hợp liệu nhập không hợp lệ hợp lệ 96 Hình 56 – Trang SimpleCounter.aspx 98 Hình 57 – Trang SimpleCounter.aspx localhost 99 Hình 58 – Kết hiển thị Counter 100 Hình 59 - Kết hiển thị sau click nút [Create Cookie] 104 Hình 60 – Tạo form đăng nhập 106 Hình 61 – Kết thị click nút đăng nhập 107 Hình 62 – Quan hệ Session Application 108 Hình 63 – Ví dụ minh họa 109 Hình 64 – Kết thực 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 khơng có hiển thị mã lỗi 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 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 ADO.NET 137 Hình 77 - Kết thực thi trang SimpleDataBinding.aspx 140 Hình 78 - Sự kết nối liệu từ tập liệu List đến điều khiền liệu ASP.NET 144 Hình 79 – Thiết lập Gridview 151 Hình 80 – Chọn mẫu cho Gridview 154 Trang vii Hình 81 – Lựa chọn 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 thực thi 159 Hình 85 – Thiết kế giao diện 160 Hình 86 – Kết thực chức Select 164 Hình 87 – Details View 165 Hình 88 – Kết 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 thực thi FormViewTest.aspx.cs 174 Hình 93 – Cơ chế bảo mật 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ý kiện cho trang 186 Hình 100 - Viết thêm vào Page_Load 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 Explorer Solution 206 Hình 106 – Web service localhost 207 Hình 107 – Nhập giá trị a, b 207 Hình 108 – Nhập giá trị 5, tương ứng cho a, b 208 Trang viii [ WebService ( Namespace = " http://tempuri.org/ " ) ] [ WebServiceBinding ( ConformsTo = WsiProfiles.BasicProfile1_1 ) ] { [WebMethod] int phepnhan( int a , int b) { return (a * b ) ; } } Trong Explorer Solution, thấy: Hình 105 – Web Service Explorer Solution Trang 206 Hình 106 – Web service localhost Hình 107 – Nhập giá trị a, b Trang 207 Hình 108 – Nhập giá trị 5, tương ứng cho a, b Bằng cách nhấn nút "Invoke" tập tin XML tạo Hình 109 – Tập tin XML tạo Bây dịch vụ web sẵn sàng để sử dụng, cần tạo trang web để sử dụng dịch vụ web Trang 208 Tạo trang web thử nghiệm cách vào File> New> Web Site> ASP.NET website: Hình 110 – Tạo trang web thử nghiệm dịch vụ web Đặt tên cho trang web, ví dụ chọn tên "Test" Kích chuột phải vào Solution Explorer chọn "Add Web reference" Trang 209 Hình 111 – Add web reference Dán địa dịch vụ web nhấn vào nút 'Go': Trang 210 Hình 112 – Add web reference (tt) Bây dịch vụ web sẵn sàng để sử dụng, Solution Explorer, ta thấy: Hình 113 – Thêm dịch vụ web vào website Trang 211 Ta thiết kế trang default.aspx: kéo thả ba textbox nút bấm vào phần thiết trang web sau: Hình 114 – Thiết kế website kiểm tra dịch vụ web Viết mã Default.cs: protected void Button1_Click (object sender, EventArgs e) { localhost.Service mys = new localhost.Service (); // bạn cần để tạo đối tượng dịch vụ web int a = Convert.ToInt32 (TextBox1.Text); int b = Convert.ToInt32 (TextBox2.Text); int c = mys.Multiplication (a, b); TextBox3.Text = c.ToString (); } Sau nhấn phím F5 chức để chạy trang web, ta thấy: Trang 212 Hình 115 – Website localhost Nhập số vào textbox Hình 116 – Nhập số vào textbox Trang 213 Nhấn nút hiển thị: Hình 117 – Kết lấy từ web service 5.3 Nâng cấp Web Services Quản lý trạng thái Các dịch vụ web (web service) thường thiết kế lớp không trạng thái Điều có nghĩa dịch vụ web (web service) cung cấp tập hợp chức tiện ích mà không cần phải gọi theo thứ tự đặc biệt không giữ lại thông tin yêu cầu Thiết kế sử dụng cho số lý Đầu tiên, việc giữ lại loại trạng thái sử dụng nhớ máy chủ web làm giảm hiệu suất số lượng máy khác tăng lên Một vấn đề khác với dịch vụ web cần có thời gian Nếu lấy tất thơng tin cần lúc xử lý máy khách, nhanh việc thực số gọi riêng biệt cho dịch vụ web để trì trạng thái Trang 214 Một số loại quản lý trạng thái có sẵn ASP.NET, bao gồm sử dụng ứng dụng (Applications) tập hợp phiên (Sessions) sử dụng cookie tùy chỉnh Tất kỹ thuật áp dụng cho dịch vụ web Tuy nhiên, với dịch vụ web, quản lý phiên bị vơ hiệu hóa theo mặc định Nếu không, máy chủ cần phải kiểm tra thông tin phiên lần nhận yêu cầu Bạn cho phép quản lý nhà nước phiên cho phương pháp cụ thể cách sử dụng thuộc tính EnableSession WebMethod: [WebMethod (EnableSession=true)] Dịch vụ Web Stateful (Stateful Web Service) Nếu cố gắng sử dụng dịch vụ web Stateful, chúng có khả bị thất vọng Mỗi tạo lại lớp proxy, session ID tự động gán, có nghĩa truy cập thơng tin session từ u cầu trước Để ngăn cản vấn đề này, cần phải thực bước để bảo vệ tập tin cookie có Session ID Trong web client, cần phải lưu trữ Session ID yêu cầu sau sử dụng lại vào đối tượng proxy trước thực gọi đến dịch vụ web Chúng ta sử dụng loại hình lưu trữ như: sở liệu, cookie cục (local cookie), view state, tập hợp Session cho trang web Nói cách khác, lưu trữ thơng tin cho phiên dịch vụ web trang bạn Trang 215 Hình 118 – Session cookies với web client Bảo mật Web Service Hầu hết vấn đề an ninh có liên quan đến trang web ảnh hưởng đến dịch vụ web Ví dụ, dịch vụ web truyền tải thơng điệp sử dụng văn rõ ràng , có nghĩa người sử dụng độc hại có quyền truy cập vào mạng dễ dàng thám thơng tin bí mật chí sửa đổi thơng điệp truyền Để ngăn chặn hai khả dịch vụ web mà yêu cầu hoàn toàn bí mật, tốt sử dụng SSL SSL khơng hoàn hảo với giới dịch vụ web - nặng làm phức tạp mơ hình business-to-bussiness với nhiều dịch vụ web - lựa chọn an toàn cho dịch vụ web Cùng với vấn đề mã hóa, dịch vụ web cần có khả tương tự để xác thực người dùng trang web Ví dụ, bạn muốn kiểm tra xem người dùng có phép truy cập vào dịch vụ web hay không (hoặc phương thức web cụ thể) trước thực công việc Chúng ta có hai lựa chọn để thiết lập xác thực với dịch vụ web: Lựa chọn sử dụng tính xác thực Windows xây dựng vào IIS ASP.NET Sự khác biệt bảo mật ASP.NET Trang 216 dịch vụ web dịch vụ web không đưa giao diện người dùng, đó, khơng thể u cầu thơng tin người dùng cho riêng Nó phải dựa vào mã gọi dựa vào việc có người sử dụng đăng nhập tài khoản xác thực Chúng ta xem xét đoạn mã bên mô tả việc xác thực dịch vụ web thông qua phương thức TestAuthenticated(): Trang 217 CÂU HỎI ÔN TẬP BÀI Web service gì? Web service có lợi ích lập trình web? Trang 218 BÀI TẬP THỰC HÀNH BÀI Sinh viên sử dụng kiến thức học Bài để tạo ứng dụng web service cho website cập nhật kiện thể thao (đã thực Bài trước) có chức sau: Có hình để nhập chi tiết môn thể thao như: Tên Địa điểm Ngày thi đấu Thời gian bắt đầu Tên đội thi đấu người chơi Có khả liệt kê danh sách mơn thi đấu Có khả tìm kiếm mơn thi đấu Có hình hiển thị kết báo cáo Cập nhật chi tiết kết Sinh viên sử dụng trình biên dịch Visual Studio để thực tập Trang 219 TÀI LIỆU THAM KHẢO [Matthew MacDonald], Beginning ASP.NET 2.0 in C# 2005 from novice to professional, Apress, 2006 [Matthew MacDonald], Beginning ASP.NET 3.5 in C# 2008 from novice to professional, Apress, 2007 [Matthew MacDonald, Adam Freeman, Mario Szpuszta], Pro ASP.NET in C# 2010, Apress, 2010 http://www.asp.net Trang 220 ... Application Server chi phí tăng 1.2 Giới thiệu số cơng cụ lập trình web Lập trình web xu hướng sử dụng ngày phổ biến Có loại lập trình Web: Lập trình Web chạy máy client: cho ta viết đoạn code (thường... 28 Bài LẬP TRÌNH WEB VỚI ASP.NET MỤC ĐÍCH Giới thiệu kiến thức kỹ lập trình ASP.NET Từ sinh viên sử dụng công nghệ ASP.NET vào ứng dụng lập trình web mà muốn xây dựng 2.1 Web Form ASP.NET Web Forms... công nghệ để tạo website phục vụ cho nhu cầu Bài giảng bao gồm 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