Điều gì (nếu có) là sự khác biệt giữa việc lưu trữ một biến trong ServletContext và chỉ có nó như là một thành viên tĩnh công cộng của một trong các lớp?Phạm vi bối cảnh Servlet vs biến toàn cục
Thay vì viết:
// simplified (!)
int counter = (Integer)getServletContext().getAttribute("counter");
counter++;
this.getServletContext().setAttribute("counter", counter);
Tại sao không chỉ có:
// in class MyServlet
public static int counter = 0;
// in a method somewhere
MyServlet.counter++;
(Bỏ qua vấn đề đồng thời, xin vui lòng, đây chỉ là một ví dụ câm)
Từ những gì tôi có thể nói , hai tùy chọn này hoạt động theo cùng một cách dưới Tomcat. Có điều gì tốt hơn về việc sử dụng tùy chọn đầu tiên không?
chúng ta có thể lưu trữ vĩnh viễn giá trị trong cho một tên cụ thể không, để truy cập tiếp theo thông số đó sẽ cung cấp giá trị cập nhật tức là lệnh gọi getServletContext(). GetInitParameters ("name"); sẽ cung cấp cho các giá trị cập nhật được thực hiện bởi chương trình cuối cùng? –
Ars