YOMEDIA
ADSENSE
CHUYÊN ĐỀ JAVA_SERVLET SESSION TRACKING
76
lượt xem 11
download
lượt xem 11
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Trong ứng dụng bán hàng trực tuyến, nhiều khách hàng thực hiện mua hàng. Mỗi khách hàng có một giỏ hàng riêng biệt. Mỗi khách hàng thực hiện các thao tác như thêm sản phẩm vào giỏ hàng, xóa sản phẩm khỏi giỏ hàng, cập nhật số lượng mua, tiếp tục mua hàng, thanh toán…
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: CHUYÊN ĐỀ JAVA_SERVLET SESSION TRACKING
- CHUYÊN ĐỀ JAVA SERVLET SESSION TRACKING Nguyễn Hoàng Anh Email: nhanh@fit.hcmus.edu.vn hoanganhis@gmail.com ĐH KHTN, 2011
- Nội dung trình bày Session Tracking Cài đặt Session Tracking – Servlet Session API Xây dựng BookOnline – Đăng nhập – Quản lý giỏ hàng Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 2
- Session Tracking Trong ứng dụng bán hàng trực tuyến, nhiều khách hàng thực hiện mua hàng. Mỗi khách hàng có một giỏ hàng riêng biệt. Mỗi khách hàng thực hiện các thao tác như thêm sản phẩm vào giỏ hàng, xóa sản phẩm khỏi giỏ hàng, cập nhật số lượng mua, tiếp tục mua hàng, thanh toán… Để thực hiện mỗi thao tác của từng khách hàng làm sao server biết được các sản phẩm hiện có trong giỏ hàng của khách hàng đó? Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 3
- Session Tracking Cần cơ chế duy trì trạng thái của các request từ cùng một người dùng (hoặc có nguồn gốc cùng một browser) trong một khoảng thời gian. Tuy nhiên HTTP là giao thức phi trạng thái (stateless) – Mỗi lần client kết nối đến server đều mở ra một kết nối mới. – Server không tự động duy trì trạng thái của một user. Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 4
- Session Tracking Session ID 1 Session 1 Client 1 Server Session ID 2 Session 2 Client 2 Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 5
- Session Tracking Cài đặt Session Tracking sử dụng – Servlet Session API Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 6
- Session Tracking – Servlet Session API Lấy đối tượng session HttpSession session = request.getSession(); Lấy dữ liệu: Object obj = session.getAttribute(String name); Lưu trữ dữ liệu vào session session.setAttribute(String name, Object obj) Xóa dữ liệu session theo tên session.removeAttribute(String name) Xóa toàn bộ dữ liệu trong session : session.invalidate() Kiểm tra session được tạo mới từ client: boolean ok = session.isNew() Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 7
- Session Tracking – Servlet Session API Lấy session id: String id = session.getId() Lấy các tên của các thuộc tính từ session Enumeration names = session.getAttributeNames() Lấy thời gian tạo session lần đầu tiên long time = session.getCreationTime(); Lấy thời gian truy xuất session lần cuối long time = session.getLastAccessedTime(); Gán/lấy thời gian session timeout session.setMaxInactiveInterval(int interval); int interval = session.getMaxInactiveInterval(); Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 8
- Session Tracking – Servlet Session API 1 //Lưu trữ dữ liệu 2 HttpSession session = request.getSession(); 3 SomePOJO data= ... ; 4 session.setAttribute("SomeName", data); 5 ... 6 //Lấy dữ liệu 7 HttpSession session = request.getSession(); 8 if(session.getAttribute(“SomeName”)!=null){ 9 SomePOJO data = (SomePOJO)session.getAttribute(“ SomeName”); 10 11 ... 12 } 13 //Xóa dữ liệu 14 HttpSession session = request.getSession(); 15 session.removeAttribute(“SomeName”); 16 //Xóa tất cả dữ liệu trong session 17 HttpSession session = request.getSession(); 18 session.invalidate(); 19 Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 9
- Session Tracking – Servlet Session API 1 HttpSession session = request.getSession(); 2 synchronized (session){ 3 session.setAttribute(...); 4 session.getAttribute(...); 5 session.removeAttribte(...); 6 session.invalidate(...); 7 ... 8 } - Synchronized : xử lý đồng bộ giữa các request đến từ cùng một user - Thường sử dụng trong ứng dụng ajax Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 10
- Servlet Session API – Access Count 1 HttpSession session = request.getSession(); 2 synchronized (session) { 3 Integer accessCount; 4 if (session.getAttribute("AccessCount") != null) { 5 accessCount = (Integer) 6 session.getAttribute("AccessCount") + 1; 7 8 } else { 9 accessCount = 1; 10 } 11 session.setAttribute("AccessCount", accessCount); 12 out.println(""); 13 out.println(""); 14 out.println(""); 16 out.println("Show Session"); 17 out.println(""); 18 out.println(""); 19 out.println("THÔNG TIN SESSION" ); Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 11
- Servlet Session API – Access Count 1 out.println(""); 3 out.println(" "); 4 out.println(" Thông tin" ); 5 out.println(" Giá tr?" ); 6 out.println(" "); 7 out.println(" "); 8 out.println(" ID"); 9 out.println(" " + session.getId() + ""); 10 out.println(" "); 11 out.println(" "); 12 out.println(" Thời gian tạo lần đầu tiên"); 13 out.println(" " + new 14 Date(session.getCreationTime()) + ""); 15 out.println(" "); out.println(" "); 16 out.println(" Thời gian truy cập lần cuối "); 17 out.println(" " + new 18 Date(session.getLastAccessedTime()) + ""); 19 out.println(" "); Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 12
- Servlet Session API – Access Count 1 out.println(" "); 2 out.println(" Thời gian timeout"); 3 out.println(" " + 4 session.getMaxInactiveInterval() + ""); 5 6 out.println(" "); 7 out.println(" "); 8 out.println(" Số lần truy cập"); 9 out.println(" "+accessCount + ""); 10 11 out.println(" "); 12 out.println(""); 13 out.println(""); 14 out.println(""); 15 16 out.println(""); Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 13
- Servlet Session API – Access Count Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 14
- BookOnline – Các chức năng Cho phép khách hàng quản lý giỏ hàng của mình – Xem giỏ hàng – Thêm sách vào giỏ hàng – Xóa một số đầu sách trong giỏ – Cập nhật số lượng sách mua – Xóa tất cả các sách trong giỏ – Thanh toán giỏ hàng – Xem các đơn đặt hàng đã mua Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 15
- BookOnline – Use case DuaSachVaoGioHang KhachHang XoaMotSoDauSachKhoiGioHang XemGioHang XemDanhSachDonDatHang CapNhatSoLuongSach TrongGioHang XemChiTietDonDatHang ThanhToan Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 16
- BookOnline – Cơ sở dữ liệu Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 17
- Tài liệu tham khảo Nguyễn Hoàng Anh, Tập bài giảng và video môn chuyên đề Java, 2010 Marty Hall, Tập bài giảng về Servlet, 2010 – http://courses.coreservlets.com/Course-Materials/csajsp2.html Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 18
- HỎI VÀ ĐÁP Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn – ĐH KHTN - 2011 19
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn