Init()或构造函数在Java Servlet中首先调用哪个?

Init()或构造函数在Java Servlet中首先调用哪个?,java,jakarta-ee,servlets,Java,Jakarta Ee,Servlets,我只是好奇哪一个可以先在内部打电话 我非常清楚,我们不应该在servlet中使用构造函数&这不好&它破坏了Init()等的使用。但是我们可以在servlet中使用构造函数 有什么想法吗?我猜在将servlet放入servlet池时,容器本身会调用Init(),但是构造函数呢。首先调用构造函数,否则就没有对象可调用Init()。是的,容器确实调用了init()方法。容器可能会决定重新初始化servlet(可能会在没有活动时删除一些相关的对象图,并在需要释放内存时重新初始化)。如果在构造函数中放入任

我只是好奇哪一个可以先在内部打电话

我非常清楚,我们不应该在servlet中使用构造函数&这不好&它破坏了Init()等的使用。但是我们可以在servlet中使用构造函数


有什么想法吗?我猜在将servlet放入servlet池时,容器本身会调用Init(),但是构造函数呢。

首先调用构造函数,否则就没有对象可调用
Init()
。是的,容器确实调用了
init()
方法。容器可能会决定重新初始化servlet(可能会在没有活动时删除一些相关的对象图,并在需要释放内存时重新初始化)。如果在构造函数中放入任何初始化类型代码,它将不会被调用


你可以在这里找到答案:注意:我没有将你的问题标记为重复,因为它不是该问题的重复。但部分公认的答案解决了您的问题。@LuiggiMendoza谢谢:)它清楚地解释了servlet启动的微观步骤。但我恐怕它在构造函数中没有任何内容。这一行包括:
Class.forName(servletClass.newInstance()
。这将调用servlet的构造函数。您应该添加这一点,作为一般规则,您必须通过
new
关键字使用类构造函数创建对象的新实例。只有这样,您才能调用对象的方法,
init
只是一个方法。