How is ServletContext different from HttpSession?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "ServletContext stores data for the entire application, while HttpSession only stores data for each user". Mỗi ứng dụng web chỉ có một ngữ cảnh, do container tạo khi ứng dụng khởi động và huỷ khi ứng dụng bị gỡ hoặc máy chủ tắt, nên dữ liệu đặt vào đó dùng chung cho mọi người truy cập; còn phiên có một thực thể cho mỗi người dùng, sinh ra khi lần đầu gọi lấy phiên và mất khi bị huỷ tường minh hoặc hết khoảng chờ không hoạt động, nên dữ liệu trong đó riêng của từng người. "ServletContext is created each time a user accesses, HttpSession is created each request" đảo lộn cả hai: ngữ cảnh không tạo lại theo mỗi lượt truy cập, và phiên không sinh mới theo từng yêu cầu, nếu vậy thì chẳng giữ được trạng thái nào. "ServletContext is destroyed when the session times out, while HttpSession is destroyed when the server shuts down" cũng đổi chỗ vòng đời của hai thứ, vì hết thời gian chờ là chuyện của phiên còn tắt máy chủ là chuyện của ngữ cảnh. "There is no difference" sai vì hai thứ khác nhau cả về phạm vi dữ liệu, số lượng thực thể lẫn thời điểm sinh và huỷ.

Cùng phần 6

Xuất hiện trong 1 bộ đề