Actionservlet是单身类吗?它背后的原因是什么?

时间:2011-04-07 05:27:48

标签: java struts

Actionservlet是单身类吗?它背后的原因是什么?

3 个答案:

答案 0 :(得分:3)

请参阅此博文:

http://mohammedimrankhan.blogspot.com/2009/07/why-actionservlet-is-singleton-in.html

简短的回答是所有servlet都是必需的(通过Servlet规范)是线程安全的和可重入的,如果一个类是线程安全的并且是可重入的,那么它也可以实现为单身人士。

答案 1 :(得分:3)

J2EE规范要求每个servlet都需要以这种方式工作,但是一些应用程序服务器违反规范时,一次发出多于'n'个请求时为ActionServlet创建多个对象,只能在一个ActionServlet上看到一个Object任何时间点,它都是SingleTon Class 不仅是Actionservlet,还有你所有的Action classes are singleton

答案 2 :(得分:0)

根据我的知识Action Servlet类不是单例类。为什么因为一个类遵循一些规则,如创建私有构造函数,私有静态变量和重写克隆方法,如果一个类用上面的规则创建,那么该类是Singleton类。但是如果你看到actionServlet类的源文件没有私有构造函数并且没有静态变量,没有重写克隆方法..所以ActionServlet类不是SINGLETON CLASS ... 注意:如果一个类是Singleton类,那么我们只能创建一个object.But只创建一个对象类不是单例类.....即使ActionServlet类只通过web-container创建了一个对象。但是该类不是单例类。这是Web容器的问题.web-container对一个对象感到高兴。

---让我知道我的答案是否正确..

- 谢谢