加载后,容器创建了多少个servlet实例?辛格尔顿?

Nee*_*lpe 2 java servlets

加载后,servlet容器创建了多少个servlet实例?它只有一个吗?

Bal*_*usC 9

Servlet 遵循Singleton模式.Servlet类有一个公共构造函数,它已经违反了单例模式.默认情况下,servlet的创建只是Just Create One模式.从技术上讲,容器可以根据需要创建尽可能多的容器.特别是如果servlet碰巧实现了(不建议使用的)SingleThreadedModel接口,那么容器可以创建这些servlet实例的池以提高性能.

但是,确实可以在多个请求之间共享同一个实例.这就是为什么将任何请求/会话作用域数据分配为servlet的实例变量非常重要的原因.它将在多个请求之间共享.

Servlet本身遵循模板方法模式.这与创作无关,它只是一种行为模式.

也可以看看: