如果我的Servlet
类使用单例(例如管理器类),它应该存储在哪里? servlet本身,还是ServletContext
?
servlet容器是否可以创建我的Servlet
类的多个实例来处理请求?
答案 0 :(得分:7)
肯定会有only one instance of a Servlet。但是,最好将它存储在ServletContext
中。因此,它也可以从其他servlet访问。
答案 1 :(得分:1)
您可以将它存储在任何您想要的地方;在会话,应用程序上下文中或作为该servlet本身的字段。因为你正在处理多线程环境并且你的servlet会被多次调用,所以一定要确保它是不可变的。
编辑:正如Bozho指出的那样,使用会话可能不是最好的选择,所以在将单身人士放入会话之前,你应该评估自己的需求。