Java 为什么我们需要在servlet中使用Init()方法,而servlet有它的构造函数?
在java中,构造函数用于初始化为什么我们需要init()进行初始化。。。。这个问题是在一次采访中提出的,构造函数用于对象的正常Java初始化(尽管通常Java 为什么我们需要在servlet中使用Init()方法,而servlet有它的构造函数?,java,servlets,Java,Servlets,在java中,构造函数用于初始化为什么我们需要init()进行初始化。。。。这个问题是在一次采访中提出的,构造函数用于对象的正常Java初始化(尽管通常Servlet实现应该有一个无参数构造函数) init()方法是由Servlet接口提供的方法,Servlet容器将运行该接口来配置Servlet。Servlet容器将提供一个ServletConfig对象,该对象允许Servlet实例从部署描述符访问ServletContext和其他配置元素 构造函数不是servlet生命周期的一部分 根据ja
Servlet
实现应该有一个无参数构造函数)
init()
方法是由Servlet
接口提供的方法,Servlet容器将运行该接口来配置Servlet
。Servlet容器将提供一个ServletConfig
对象,该对象允许Servlet
实例从部署描述符访问ServletContext
和其他配置元素 构造函数不是servlet生命周期的一部分
根据javadocs
init和destroy,以管理在servlet生命周期内保留的资源
及
仍然可以通过getServletConfig()检索ServletConfig对象
Init()
方法由servlet容器调用,以向servlet指示servlet正在投入服务
servlet容器在实例化servlet之后只调用init方法一次。init方法必须成功完成,servlet才能接收任何请求。这就是我们需要init()
方法的原因
请参阅以下链接:
方法是
Servlet
和ServletConfig
协议的一部分。您可以在init()
中执行与web上下文相关的操作,也可以在构造函数中执行Servlet类私有的操作
1)构造函数被“Web容器”(例如Tomcat、WebSphere等)用来实例化GenericServlet/HttpServlet
2) “Servlet.init()”方法的作用是注入web.xml中定义的内容。是的,您也可以在构造函数中定义Servlet级别的参数,但作为一名开发人员,您将不必要地花费时间来完成(容器+Servlet API)可以隐式为您完成的相同工作
3) 此外,“Servlet.init()”中不能使用构造函数
我使用init方法准备了一次PreparedStatement,这样下次调用servlet时,准备好的语句就已经创建好了。请注意,当servlet第一次加载到应用服务器时,init方法将被执行。随后调用servlet时,init方法将被忽略。在整个生命周期中只调用一次servlet的cle我喜欢这样看,加上它看起来像android的生命周期:我有相同的问题。你找到了正确的答案吗?