Trong Java, session thường được sử dụng trong các ứng dụng web để lưu trữ thông tin về người dùng trong suốt phiên làm việc của họ. Session thường được quản lý bởi container servlet, chẳng hạn như Apache Tomcat, Jetty, hoặc bất kỳ server nào hỗ trợ Java EE.
#
Khởi tạo và lưu trữ Session:
1.
Khởi tạo Session: - Bạn có thể khởi tạo một session mới trong một servlet bằng cách sử dụng phương thức `request.getSession()`. Nếu không có session nào tồn tại, phương thức này sẽ tạo một session mới.
```java
HttpSession session = request.getSession();
```
2.
Lưu trữ Session: - Dữ liệu trong session được lưu trữ trên server. Mỗi session có một ID duy nhất (session ID) và thông tin liên quan đến session được lưu trong một đối tượng `HttpSession`.
- Bạn có thể lưu trữ thông tin trong session bằng cách sử dụng phương thức `setAttribute()`:
```java
session.setAttribute("username", "exampleUser");
```
3.
Thời gian sống của Session: - Session có thời gian sống nhất định (timeout), thường là khoảng 30 phút. Nếu không có hoạt động nào từ phía người dùng trong khoảng thời gian này, session sẽ tự động bị hủy.
4.
Xóa Session: - Bạn có thể xóa một session khi người dùng đăng xuất hoặc khi không còn cần thiết nữa bằng cách gọi phương thức `invalidate()`:
```java
session.invalidate();
```
#
Vị trí lưu trữ:
- Dữ liệu của session được lưu trữ trong bộ nhớ của server (memory), có thể là trong heap của JVM. Một số server cũng cung cấp tùy chọn để lưu trữ session trên đĩa hoặc trong cơ sở dữ liệu để duy trì dữ liệu giữa các lần khởi động server hoặc để chia sẻ session giữa nhiều server trong môi trường phân tán.
#
Tóm lại:
Session trong Java được khởi tạo và lưu trữ trên server thông qua container servlet, và thông tin được lưu trữ trong đối tượng `HttpSession`.
Hãy nhập thông tin để gửi bình luận nhé