Java Actionservlet是单例类吗?背后的原因是什么?

Java Actionservlet是单例类吗?背后的原因是什么?,java,struts,Java,Struts,Actionservlet是单例类吗?背后的原因是什么?请参阅以下博客: 简而言之,所有Servlet都是线程安全和可重入的,如果一个类是线程安全和可重入的,那么它也可以作为一个单例来实现。请参阅以下博客帖子: 简而言之,所有Servlet都是线程安全和可重入的,如果一个类是线程安全且可重入的,那么它也可以作为一个单例来实现。J2EE规范要求每个servlet都需要以这种方式工作,但是一些应用程序服务器违反了该规范,在一次出现超过“n”个请求时为ActionServlet创建多个对象,要在任

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

请参阅以下博客:

简而言之,所有Servlet都是线程安全和可重入的,如果一个类是线程安全和可重入的,那么它也可以作为一个单例来实现。

请参阅以下博客帖子:


简而言之,所有Servlet都是线程安全和可重入的,如果一个类是线程安全且可重入的,那么它也可以作为一个单例来实现。

J2EE规范要求每个servlet都需要以这种方式工作,但是一些应用程序服务器违反了该规范,在一次出现超过“n”个请求时为ActionServlet创建多个对象,要在任何时间点仅查看ActionServlet的一个对象,将其设置为SingleTon类。

不仅是Actionservlet,而且您的所有.

J2EE规范都要求每个servlet都需要以这种方式工作,但是一些应用程序服务器违反了规范,当一次出现多个“n”个请求时,为Actionservlet创建多个对象,以便在任何时间点只看到Actionservlet的一个对象,它是作为SingleTon类制作的。

据我所知,不仅是Actionservlet,还有您的所有。

Actionservlet类不是一个单例类。为什么?因为类遵循一些规则,如创建私有构造函数、私有静态变量和重写克隆方法,如果类使用上述规则创建,那么该类就是Singleton类。但是如果您看到actionServlet类的源文件,则没有私有构造函数和静态变量,也没有重写克隆方法。。所以ActionServlet类不是SINGLETON类。。。 注意:如果一个类是单例类,那么我们只能创建一个对象。但是只创建一个对象类不是单例类…..即使ActionServlet类通过web-container只创建了一个对象。但该类不是单例类。这是web容器的问题。web容器对一个对象满意

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


--谢谢

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

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


--谢谢

我知道,每个请求都会触发一个新的servlet,ActionServlet也是如此。@store88-每个请求都会触发一个新的servlet?你这么说是什么意思?我知道,每个请求都会触发一个新的servlet,ActionServlet也是如此。@store88-每个请求都会触发一个新的servlet?你这是什么意思?这实际上违反了规范吗?或者应用服务器只是做了一些他们不需要做的事情?(从而允许程序员无意中违反规范。)@Stephen-Servlet2.4规范说:“对于不在分布式环境中托管的servlet(默认),servlet容器必须在每个servlet声明中仅使用一个实例。但是,对于实现SingleThreadModel接口的servlet,servlet容器可能实例化多个实例以处理繁重的请求负载,并将请求序列化到特定实例。“这实际上违反了规范吗?”?或者应用服务器只是做了一些他们不需要做的事情?(从而允许程序员无意中违反规范。)@Stephen-Servlet2.4规范说:“对于不在分布式环境中托管的servlet(默认),servlet容器每个servlet声明只能使用一个实例。但是,对于实现SingleThreadModel接口的servlet,servlet容器可以实例化多个实例来处理繁重的请求负载,并将请求序列化到特定实例。”