java servlet初始化和销毁

java servlet初始化和销毁,java,servlets,Java,Servlets,servlets使用init()初始化servlets状态,并使用destroy进行清理。是否需要一个特殊的类名来放置init()和destroy()?servlet如何知道在哪里可以找到这些方法 asp.net有一个global.asax来处理asp.net中类似的事情,servlet有一个特殊的类来做同样的事情吗 谢谢它应该与Servlet类在同一个类中 所有Servlet都从基本Servlet类继承此方法。除非您想做一些额外的处理,否则继承的方法应该可以,并且您不需要在每个Servlet中

servlets使用init()初始化servlets状态,并使用destroy进行清理。是否需要一个特殊的类名来放置init()和destroy()?servlet如何知道在哪里可以找到这些方法

asp.net有一个global.asax来处理asp.net中类似的事情,servlet有一个特殊的类来做同样的事情吗


谢谢

它应该与Servlet类在同一个类中


所有Servlet都从基本Servlet类继承此方法。除非您想做一些额外的处理,否则继承的方法应该可以,并且您不需要在每个Servlet中重写此方法。

它应该与Servlet类位于同一个类中


所有Servlet都从基本Servlet类继承此方法。除非您想做一些额外的处理,否则继承的方法应该很好,您不需要在每个servlet中重写此方法。

servlet最终将成为
javax.servlet.servlet
类的一个子类,它定义了这些方法。

servlet最终将是定义这些方法的
javax.servlet.servlet
类的一个子类。

运行servlet的JVM只在类中查找这些方法,这些类扩展了运行servlet的JVM,仅在类中查找那些方法,这些类扩展了
Servlet
HttpServlet

Servlet是托管对象。这意味着它们在管理其生命周期的容器中执行(实例化servlet,在适当时调用其相关方法,然后释放它们)。容器(Tomcat、Glassfish等)知道何时在正确的时间调用这些方法,因为它是以这种方式实现的,这没有什么特别之处


如果容器有bug,它甚至可以在init时间调用destroy(),在destroy时间调用init()。不过,这个bug会很快被修复。

servlet是托管对象。这意味着它们在管理其生命周期的容器中执行(实例化servlet,在适当时调用其相关方法,然后释放它们)。容器(Tomcat、Glassfish等)知道何时在正确的时间调用这些方法,因为它是以这种方式实现的,这没有什么特别之处


如果容器有bug,它甚至可以在init时间调用destroy(),在destroy时间调用init()。不过,这个bug会很快被修复。

servlet部署在容器(Web服务器/应用程序服务器)中,该容器将负责初始化或销毁servlet,如果我们使用特定的类意味着我们依赖于该类(紧密耦合),我们没有预定义的类来初始化和销毁servlet不推荐这样做。
现在,我们正在为这些方法使用GenericServlet和HttpServlet类。一旦参考J2EE API并在其中找到这些类和方法

servlet部署在容器(Web服务器/应用程序服务器)中,该容器将负责初始化或销毁servlet,如果我们使用特定的类,这意味着我们依赖于不推荐的类(紧密耦合),那么我们没有预定义的类来初始化和销毁servlet。
现在,我们正在为这些方法使用GenericServlet和HttpServlet类。一旦参考J2EE API并在其中找到这些类和方法

但是我有一堆servlet类是什么呢?我应该将这两个方法放在哪个类中?所有Servlet都从基本Servlet类继承此方法。除非您想做一些额外的处理,否则继承的方法应该可以,您不需要在每个Servlet中重写此方法。@icn,您可以在任何Servlet类中实现
init()
你想要有特殊的初始化逻辑,即使我在我的一个经常请求servlets类中重写了这两个方法,web服务器/JVM也会确保这两个方法只运行一次?@icn yes。生命周期由servlet容器(catalina等)处理。你不需要做任何手动操作。但是我有一堆servlet类吗?我应该将这两个方法放在哪个类中?所有Servlet都从基本Servlet类继承此方法。除非您想做一些额外的处理,否则继承的方法应该可以,您不需要在每个Servlet中重写此方法。@icn,您可以在任何Servlet类中实现
init()
你想要有特殊的初始化逻辑,即使我在我的一个经常请求servlets类中重写了这两个方法,web服务器/JVM也会确保这两个方法只运行一次?@icn yes。生命周期由servlet容器(catalina等)处理。您不需要手动执行任何操作。因此,我可以将这两个方法放在任何Servlet类中,只要放一次,JVM或tomcat服务器就会查找这两个方法的位置?对,Servlet容器将作为Servlet对象访问您的类,然后为您调用这些方法。所以我可以将这两个方法放在我的任何Servlet类中,只要放一次,JVM或tomcat服务器就会查找这两个方法在哪里?对,Servlet容器将作为Servlet对象访问您的类,并为您调用这些方法。