【发布时间】:2010-11-14 03:34:03
【问题描述】:
在 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 下的行为方式相同。使用第一个选项有什么更好的吗?
【问题讨论】: