CHUYÊN đề JAVA session tracking

17 861 0
CHUYÊN đề JAVA session tracking

Đ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

Session Tracking GVHD: Thầy Đỗ Văn Tiến Thành viên nhóm: - Lưu Thanh Ngọc - Lê Duy Thạnh - Trần Dũ Phi Nội dung Session ? Tại cần tính theo vết session ? Cơ chế thực theo vết session Các APIs lập trình theo vết session Nội dung Session ? Tại cần tính theo vết session ? Cơ chế thực theo vết session Các APIs lập trình theo vết session Session Tracking ? Session Tracking trì trạng thái request từ user (hoặc trình duyệt) với server thông qua chế request response Nội dung Session ? Tại cần tính theo vết session? Cơ chế thực theo vết session Các APIs lập trình theo vết session Tại cần tính theo vết session? HTTP giao thức phi trạng thái(stateless protocol) • Mỗi lần client giao tiếp với web sever, sever tạo connection • Sever không tự động lưu trữ ‘trạng thái giao tiếp’ user Giả sử, bạn mua sách từ trang amazon.com , người dùng thêm vào bỏ sản phẩm giỏ hàng(shopping cart) ==> Làm để server biết có sản phẩm user chọn thông tin user để thực kiểm tra, toán Nội dung Session ? Tại cần tính theo vết session? Cơ chế thực theo vết session Các kĩ thuật lập trình theo vết session Cơ chế lưu vết session Cơ chế thực theo vết session Có chế : Cookies URL Rewriting Hidden From Fields Đều kĩ thuật truyền ‘session id’ • Không cung cấp API mức cao • Không cung cấp framework để quản lí session • Là tính Sevlet Session Tracking cung cấp Cookies Là công nghệ sử dụng phổ biến để theo dõi phiên Là file nhỏ sever gửi đến lưu trình duyệt, sau trình duyệt gửi lại cho sever request sau • • Một cookie có tên, giá trị đơn, thuộc tính tùy chọn Một giá trị cookie định danh client Sever sử dụng giá trị cookie để trích xuất thông tin session lưu sever Ưu điểm: • • • Dễ cài đặt Tùy biến, linh động Được trì đến đóng trình duyệt Nhược điểm • • User tắt chức cookie Không hỗ trợ tất trình duyệt URL Rewriting Khi yêu cầu từ phía client thực hiện, sever viết lại mã hóa URL để đưa thêm thông tin sesion URL Rewriting thường bao gồm sesion id userid Ví dụ : Original URL: http://server:port/servlet/ServletName Rewritten URL: http://server:port/servlet/ServletName?sessionid=7456 Ưu điểm: • • Làm việc với user vô danh Được hỗ trợ rộng rãi Nhược điểm • • Phải viết lại tất URL Chỉ làm việc với documents tạo tự động Hidden From Fields Không hiển thị trình duyệt gửi lại sever submit form Ví dụ: Sevlet đọc giá trị field phương thức req.getParameter() Ưu điểm: • • Làm việc với user vô danh Được hỗ trợ rộng rãi Nhược điểm • • Không xử lý trường hợp đóng trình duyệt Chỉ làm việc với form sinh tự động Nội dung Session ? Tại cần tính theo vết session ? Cơ chế thực theo vết session Các API lập trình theo vết session Nếu sevlet không cung cấp tính theo vết sesion ? Lập trình viên phải tự thực kĩ thuật theo vết session o Tạo quản lí session ID cho session o Truyền session ID qua cho client quan cookie URL o Lấy thông tin sesion ID từ cookie URL o Tạo quản lí bảng băm hashtable, lưu sesion ID thông tin sesion o Tự đưa chế để thêm loại bỏ thông tin sesion HttpSession Lấy đối tượng session user • HttpSession session = req.getSession(true); HttpSession giao diện, container tạo đối tượng có kiểu HttpSession • Giao diện HttpSesion chứa phương thức để xem quản lí thông tin sesion, : id, thời gian tạo, thời điểm truy cập cuối • Cho phép lưu giữ (maintain) thông tin người dùng Session Tracking Sevlet Servlet xây dựng dựa kĩ thuật theo vết session truyền thống Servlet hỗ trợ cho trình duyệt cho phép không cho phép cookie • Nếu cookie bị tắt: sever đính kèm sesionid vào URL • Ngược lại xử lí mặc định theo chế Servlet Lưu ý: để đảm bảo theo vết sesion tốt nhất, tất URLs trả từ servlet phải chạy qua phương thức response.encodeURL(URL) Ví dụ: Cảm ơn thầy bạn lắng nghe ! [...]... của sesion HttpSession Lấy ra đối tượng session của một user • HttpSession session = req.getSession(true); HttpSession là một giao diện, container sẽ tạo ra 1 đối tượng có kiểu HttpSession • Giao diện HttpSesion chứa các phương thức để xem và quản lí thông tin về 1 sesion, như : id, thời gian tạo, thời điểm truy cập cuối cùng • Cho phép lưu giữ (maintain) thông tin người dùng Session Tracking trong... Chỉ làm việc với các form sinh tự động Nội dung Session là gì ? Tại sao cần tính năng theo vết session ? Cơ chế thực hiện theo vết session Các API lập trình theo vết session Nếu sevlet không cung cấp tính năng theo vết sesion ? Lập trình viên phải tự thực hiện một trong các kĩ thuật theo vết session o Tạo và quản lí một session ID cho mỗi session o Truyền session ID qua cho client quan cookie hoặc URL... Rewritten URL: http://server:port/servlet/ServletName?sessionid=7456 Ưu điểm: • • Làm việc được với user vô danh Được hỗ trợ rộng rãi Nhược điểm • • Phải viết lại tất cả các URL Chỉ làm việc với các documents được tạo tự động Hidden From Fields Không hiển thị trên trình duyệt nhưng có thể được gửi lại sever khi submit form Ví dụ: Sevlet đọc giá trị của... về 1 sesion, như : id, thời gian tạo, thời điểm truy cập cuối cùng • Cho phép lưu giữ (maintain) thông tin người dùng Session Tracking trong Sevlet Servlet được xây dựng dựa trên các kĩ thuật theo vết session truyền thống Servlet hỗ trợ cho trình duyệt cho phép và không cho phép cookie • Nếu cookie bị tắt: sever sẽ đính kèm sesionid vào URL • Ngược lại sẽ được xử lí mặc định theo cơ chế của Servlet

Ngày đăng: 31/08/2016, 09:54

Từ khóa liên quan

Mục lục

  • Slide 1

  • Slide 2

  • Slide 3

  • Slide 4

  • Slide 5

  • Slide 6

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

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

Tài liệu liên quan