为什么我们需要在servlet中使用init()方法?我们不能使用构造函数进行初始化吗?

有帮助吗?

解决方案

因为Servlet是一个接口,而不是一个抽象类。无法在接口上指定构造函数参数,因此需要在普通方法签名上指定ServletContext。

这允许应用程序服务器知道如何正确初始化任何Servlet实现。

另一种解决方案是在编译时要求但不强制执行ServletContext的构造函数。然后,应用程序服务器将通过反射调用构造函数。但是,Servlet规范的设计者没有选择这条路径。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top