Bài giảng Lập trình ứng dụng mạng: Bài 8 - GV. Võ Tấn Dũng

51 5 0
Bài giảng Lập trình ứng dụng mạng: Bài 8 - GV. Võ Tấn Dũng

Đ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

Bài giảng Lập trình ứng dụng mạng: Bài 8 Shopping cart nhằm trình bày về tìm hiểu giỏ hàng, thiết kế giỏ hàng (shopping cart) với session, thiết kế giỏ hàng với cơ sở dữ liệu, tìm hiểu cookies, các mặt hàng hiển thị trên trang web cho ta chọn rồi đưa vào giỏ hàng.

TRƯỜNG CAO ĐẲNG CƠNG NGHỆ THƠNG TIN TP.HCM LẬP TRÌNH ỨNG DỤNG MẠNG BÀI GIẢNG VIÊN: VÕ TẤN DŨNG GV: Võ Tấn Dũng SHOPPING CART PHẦN GV: Võ Tấn Dũng TÌM HIỂU VỀ GIỎ HÀNG (SHOPPING CART) CÁC VẤN ĐỀ ĐƯỢC TRÌNH BÀY GV: Võ Tấn Dũng • Thiết kế giỏ hàng (shopping cart) với session • Thiết kế giỏ hàng với sở liệu • Tìm hiểu cookies KHÁI NIỆM GIỎ HÀNG • Để mua hàng mạng cần giỏ hàng Đó shopping cart • Các mặt hàng hiển thị trang web cho ta chọn đưa vào giỏ hàng Giỏ hàng cho biết tổng số mặt hàng mà bạn mua với giá phải tốn • Bạn thêm bớt số lượng loại bỏ, chọn lại mặt hàng khác • Có hai cách để xây dựng shopping cart: GV: Võ Tấn Dũng – Sử dụng session – Sử dụng bảng sở liệu KHÁI NIỆM GIỎ HÀNG GV: Võ Tấn Dũng • Chương trước ta dùng session application để lưu liệu để truyền qua lại trang web Bây ta sử dụng session ứng dụng thực tế áp dụng để xây dựng shopping cart cho trang web mua sắm mạng • Đối tượng session nơi lý tưởng để xây dựng shopping cart lưu mặt hàng mà người dùng chọn mua trước tốn • Ngồi ta cịn xây dựng giỏ hàng sở liệu để lưu mặt hàng bảng liệu CÁC PHƯƠNG THỨC CỦA GIỎ HÀNG • Một giỏ hàng cần có phương thức thực công việc sau: addItem: thêm mục hàng vào giỏ hàng removeItem: loại bỏ mục hàng khỏi giỏ hàng clearItem: xóa bỏ tất mục hàng giỏ hàng updateQuantity: thay đổi số lượng mua mục hàng – getCost: cho biết tổng số tiền phải trả cho tất mục hàng có giỏ hàng – getNumOfItem: đếm tổng số mục hàng có giỏ hàng GV: Võ Tấn Dũng – – – – • Một mục hàng (item) lưu giỏ hàng cần có thơng tin sau: – Mã số mục hàng (item id) – Tên mục hàng (item desc) – Đơn giá (price) – Số lượng mua (quantity) • Bởi giỏ hàng chứa nhiều mục hàng tương ứng với khóa (item id) nên ta sử dụng bảng Hashtable Java (bảng dùng để lưu giá trị dựa khóa) dùng table CSDL để lưu giá trị mục hàng mà người dùng thêm vào GV: Võ Tấn Dũng THÔNG TIN CỦA MỘT MỤC HÀNG PHẦN GV: Võ Tấn Dũng XÂY DỰNG GIỎ HÀNG VỚI SESSION XÂY DỰNG GIỎ HÀNG VỚI SESSION GV: Võ Tấn Dũng • Sau ta tiến hành viết code xây dựng giỏ hàng với session lớp ShoppingCart.java 10 GV: Võ Tấn Dũng Lớp ShoppingCart.java PHẦN 37 GV: Võ Tấn Dũng TÌM HIỂU CÁCH LƯU DỮ LIỆU CỦA COOKIES • Session chế lưu vết trạng thái trình chủ Nếu muốn lưu vết trạng thái giao dịch phía máy khách ta dùng kỹ thuật cookies • Cookies mẩu thơng tin gồm tên giá trị thể (tương tự biến) Ta sử dụng ngơn ngữ kịch JavaScript để tạo mẩu cookies • Trình duyệt cho phép tạo mẩu cookies ghi nhớ xuống máy khách Cookies tạo từ trình chủ (cụ thể Servlet) yêu cầu trình duyệt lưu xuống máy khách • Trong q trình thực lệnh POST lệnh GET giao thức HTTP, trình chủ trình khách gửi nhận mẩu tin cookies 38 GV: Võ Tấn Dũng LƯU GIAO DỊCH BẰNG COOKIES 39 GV: Võ Tấn Dũng LƯU GIAO DỊCH BẰNG COOKIES COOKIES LƯU VẾT PHÍA TRÌNH KHÁCH Ví dụ sau cho thấy cách sử dụng cookies phía máy khách 40 GV: Võ Tấn Dũng • • Trang web vừa ta có tên cookieshow.html Trang web sử dụng JavaScript để tạo mẩu tin cookies mang tên “pagecolor” với giá trị “yellow” • Hàm setCookie() trang web đơn giản, gọi đối tượng document trang để lưu trị tên cookie: setCookie(“pagecolor”,”yellow”) • Hàm getCookieVal() để đọc lại giá trị cookie Mỗi mẩu tin cookie phân cách dấu chấm phẩy(;) • Hàm escape JavaScript giúp ta loại bỏ ký tự đặc biệt cookies chuyển ký tự đặc biệt thành dạng mã hóa khác 41 GV: Võ Tấn Dũng GIẢI THÍCH (cookieshow.html) GIẢI THÍCH (cookieshow.html) 42 GV: Võ Tấn Dũng • Kết hiển thị mẩu tin vừa tạo trình duyệt IE hình sau Ngồi mẩu tin pagecolor=yellow ta nhận số mẩu tin cookie khác trình duyệt tạo GỬI COOKIE LÊN TRÌNH CHỦ 43 GV: Võ Tấn Dũng • Trang web cookieshow.html mà ta thiết kế có thẻ FORM gọi đến Servlet mang tên CookieListing • Khi ta nhấn nút “Send cookies to server” trình duyệt gọi đến Servlet CookieListing máy chủ Đồng thời toàn cookies máy khách trình duyệt đóng gói gửi • Servlet CookieListing thiết kế để tiếp nhận cookie trình khách 44 GV: Võ Tấn Dũng CookieListing.java 45 GV: Võ Tấn Dũng CookieListing.java (tt) 46 GV: Võ Tấn Dũng CookieListing.java (tt) Biên dịch cookieListing.java Đăng ký servlet với trình chủ Trở lại trang Cookieshow.html, nhấn vào nút “Send cookies to Server” kết hình 47 GV: Võ Tấn Dũng CookieListing.java (tt) GIẢI THÍCH (CookieListing.java) 48 GV: Võ Tấn Dũng • CookieListening ta tiếp nhận mẩu tin cookie mang tên “pagecolor=yellow” từ trình khách cách gọi hàm getcookieValue() • Hàm sử dụng danh sách cookies đối tượng req trả để tìm cookie mang tên “pagecolor” Màu trang web phản hồi từ CookieListing định màu giá trị cookie pagecolor yêu cầu (vàng) • Đồng thời CookieListening tạo thêm cookie servervar1 với giá trị vardata1 trả cho trình khách • Phía trình khách, trang web ta tạo mã JavaScript gọi document.write(document.cookie) để in tồn cookie mang từ trình chủ GIẢI THÍCH (CookieListing.java) 49 GV: Võ Tấn Dũng • Thông thường cookie dùng để lưu giá trị cần thiết khơng quan trọng Ví dụ, ta lưu thông tin người dùng ghé thăm Website Trong lần viếng thăm khác ta làm họ ngạc nhiên hiển thị lại thơng tin trước • Hoặc ứng dụng WebMail Yahoo sử dụng cookie để lưu thông tin người dùng đăng nhập trước Khi người dùng mở trang web khác thay yêu cầu đăng nhập lại,Yahoo mail sử thơng dụng tin cookie để chứng thực • Ta quy định thời gian hiệu lực cookie gọi phương thức setMaxAge() Đối số truyền cho phương thức kiểu int quy định số giây mà cookie phép lưu trữ trình khách GIẢI THÍCH (CookieListing.java) 50 GV: Võ Tấn Dũng • Ví dụ để thiết lập cookie phép lưu trữ vịng tiếng, ta gọi setMaxAge từ trang JSP servlet sau: • Nếu bạn truyền cho setMaxAge() giá trị âm cookie bị xóa khỏi máy khách trình duyệt đóng lại 51 GV: Võ Tấn Dũng HẾT BÀI ... ShoppingCart.jsp 16 GV: Võ Tấn Dũng ShoppingCart.jsp (tt) 17 GV: Võ Tấn Dũng ShoppingCart.jsp (tt) 18 GV: Võ Tấn Dũng ShoppingCart.jsp (tt) 19 GV: Võ Tấn Dũng ShoppingCart.jsp (tt) 20 GV: Võ Tấn Dũng ShoppingCart.jsp... GV: Võ Tấn Dũng ShoppingCartDB.java (tt) 31 GV: Võ Tấn Dũng ShoppingCartDB.java (tt) 32 GV: Võ Tấn Dũng ShoppingCartDB.java (tt) 33 GV: Võ Tấn Dũng ShoppingCartDB.java (tt) 34 GV: Võ Tấn Dũng. .. ShoppingCart.java 11 GV: Võ Tấn Dũng Lớp ShoppingCart.java (tt) 12 GV: Võ Tấn Dũng Lớp ShoppingCart.java (tt) 13 GV: Võ Tấn Dũng Lớp ShoppingCart.java (tt) Biên dịch ShoppingCart.java 14 GV: Võ Tấn Dũng • Biên

Ngày đăng: 20/05/2021, 11:41

Tài liệu cùng người dùng

Tài liệu liên quan