Nếu đối số chuển cho getSession() là true thì session mới sẽ được tạo ra nếu nó chưa có trướcđó Ngược lại vớiđối sốlà

Một phần của tài liệu Bài giảng lập trình ứng dụng mạng bài 7 GV võ tấn dũng (Trang 34 - 37)

false, khi không tìm thấy đối tượng session thì phương thức getSession() sẽ trả về giá trị null.

35X X X LÝ CHLÝ CHM DM DT SESSIONT SESSION õ T ấ nD ũ ng

y Đối tượng session có thể chấm dứt và bị hủy bỏ trong hai trường hợp: ta chủ động gọi phương thức

invalidate() của nó hoặc Webserver hủy session do thời gian hiệu lực hết hạn (session timeout).

y Tùy theo dữ liệu lưu trong session mà ta phải thực hiện một vài thao tác xóa biến, dọn dẹp các đối tượng trước khi session bị hủy.

y Ví dụ ta có thể lưu trong các session các thông tin kết nối đến cơ sở dữ liệu. Hãy thực hiện hủy kết nối này trước khi xóa session vì nó làm cho ứng dụng của ta tăng tốc xử lý đối với các người dùng còn lại.

36X X X LÝ CHLÝ CHM DM DT SESSIONT SESSION õ T ấ nD ũ ng

y Đối tượng session cũng cài đặt cơ chế gọi ngược lại

(callback) để thông báo cho một đối tượng nào đó trạng thái đối tượng được ràng buộc vào session hoặc khi

session bị hủy.

y Cụ thể khi ta gọi

session.setAttribute(“somename”,someObject), đối tượng some Object được thông báo rằng nó được ràng buộc vào session. Khi session hết hạn, someObject

cũng sẽ được thông báo về sự kết thúc của session để đối tượng có thể tự thực hiện các thao tác hủy của

37X X X LÝ CHLÝ CHM DM DT SESSIONT SESSION õ T ấ nD ũ ng

y Để cài đặt cơ chế thông báo của session, ta dùng giao diện HttpSessionBindingListener. Giao diện này có 2 phương thức cơ bản là:

Một phần của tài liệu Bài giảng lập trình ứng dụng mạng bài 7 GV võ tấn dũng (Trang 34 - 37)

Tải bản đầy đủ (PDF)

(60 trang)