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Ý CHẤẤM DM DỨỨT 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Ý CHẤẤM DM DỨỨT 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Ý CHẤẤM DM DỨỨT 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à: