哪里可以存储Servlet的单身人士?

时间:2010-11-24 08:09:12

标签: java singleton servlets

如果我的Servlet类使用单例(例如管理器类),它应该存储在哪里? servlet本身,还是ServletContext

servlet容器是否可以创建我的Servlet类的多个实例来处理请求?

2 个答案:

答案 0 :(得分:7)

肯定会有only one instance of a Servlet。但是,最好将它存储在ServletContext中。因此,它也可以从其他servlet访问。

答案 1 :(得分:1)

您可以将它存储在任何您想要的地方;在会话,应用程序上下文中或作为该servlet本身的字段。因为你正在处理多线程环境并且你的servlet会被多次调用,所以一定要确保它是不可变的。

编辑:正如Bozho指出的那样,使用会话可能不是最好的选择,所以在将单身人士放入会话之前,你应该评估自己的需求。