Servlet 上下文范围与全局变量
将变量存储在 ServletContext 中和仅将其作为其中一个类的公共静态成员有什么区别(如果有的话)?
而不是写:
// simplified (!)
int counter = (Integer)getServletContext().getAttribute("counter");
counter++;
this.getServletContext().setAttribute("counter", counter);
为什么不干脆:
// in class MyServlet
public static int counter = 0;
// in a method somewhere
MyServlet.counter++;
(请忽略并发问题,这只是一个愚蠢的例子)
据我所知,这两个选项在Tomcat下的行为方式相同。使用第一个选项有什么更好的吗?