Servlet-Session

  • Trong Java Servlet, Session (Phiên làm việc) là một cơ chế cho phép lưu trữ thông tin người dùng giữa các yêu cầu của họ trong một thời gian nhất định.
  • Session cho phép các Servlet tương tác với nhau và lưu trữ dữ liệu trạng thái giữa các yêu cầu khác nhau của người dùng.
  • Session được tạo ra khi người dùng truy cập vào ứng dụng web và được lưu trữ trên máy chủ của ứng dụng web.
  • Mỗi phiên làm việc được định danh bằng một ID phiên duy nhất, được gửi đến máy khách dưới dạng cookie hoặc được truyền qua URL.
  • Để sử dụng Session trong Java Servlet, bạn cần sử dụng đối tượng HttpSession và các phương thức của nó để lưu trữ và truy xuất dữ liệu.

Ví dụ, để lưu trữ thông tin tên người dùng trong phiên làm việc, bạn có thể sử dụng đoạn mã sau trong Servlet:

HttpSession session = request.getSession();
session.setAttribute("username", "john");

Trong đoạn mã này, đối tượng HttpSession được tạo ra bằng cách gọi phương thức getSession() của đối tượng yêu cầu hiện tại. Sau đó, phương thức setAttribute() được sử dụng để lưu trữ giá trị “john” với khóa “username” trong Session.

Để truy xuất thông tin tên người dùng từ Session trong Servlet khác, bạn có thể sử dụng đoạn mã sau:

HttpSession session = request.getSession();
String username = (String) session.getAttribute("username");

Trong đoạn mã này, phương thức getSession() được sử dụng để truy xuất đối tượng Session hiện tại. Sau đó, phương thức getAttribute() được sử dụng để truy xuất giá trị được lưu trữ với khóa “username” trong Session. Chú ý rằng giá trị trả về từ phương thức getAttribute() được ép kiểu sang kiểu String.