JSP/Servlet 应用程序中的 main() 方法在哪里?

发布于 2024-10-13 14:14:02 字数 112 浏览 2 评论 0原文

我问这个问题的原因是我想编写代码,在应用程序启动后对其进行初始化并稍后进行清理。

我不想使用 servlet init() 方法,因为它是针对每个 servlet 的。

The reason I'm asking this is that I want to write code that initializes the application once it starts and cleans up later on.

I dont want to use a servlet init() method since it is per servlet.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

阪姬 2024-10-20 14:14:02

Servlet 中没有 main() 方法。

如果

我问这个问题的原因是我想编写代码,在应用程序启动后对其进行初始化,并在稍后进行清理。

您可以使用 ServletContextListener实施

public class MyServletContext implements ServletContextListener{
    ServletContext context;
    public void contextInitialized(ServletContextEvent contextEvent) {
        System.out.println("Context Created");

    }
    public void contextDestroyed(ServletContextEvent contextEvent) {

        System.out.println("Context Destroyed");
    }
}

web.xml

<listener>
    <listener-class>
        com.yourpackage.MyServletContext
    </listener-class>
  </listener>

There is no main() method in Servlet.

If

The reason I'm asking this is that I want to write code that initializes the application once it starts and cleans up later on.

You can use ServletContextListener implemented

public class MyServletContext implements ServletContextListener{
    ServletContext context;
    public void contextInitialized(ServletContextEvent contextEvent) {
        System.out.println("Context Created");

    }
    public void contextDestroyed(ServletContextEvent contextEvent) {

        System.out.println("Context Destroyed");
    }
}

web.xml

<listener>
    <listener-class>
        com.yourpackage.MyServletContext
    </listener-class>
  </listener>
锦爱 2024-10-20 14:14:02

没有 main() 方法,因为组件是受管理的,容器会调用其他方法 - 例如 Servlet 和过滤器上的 init()。容器本身是通过 main 方法启动的,但即使如此,您也是隐藏的。

对于每个应用程序和初始化,您可以使用 ServletContextListener< /code>

您必须使用 ...web.xml 中映射它监听器>。在 contextInitialized(..)contextDestroyed(..) 中,您可以分别进行初始化和清理。

There is no main() method, because the components are managed and the container invokes other methods - like the init() on servlets and filters. The container itself is started through a main method, but even that's hidden from you.

For per-application and initialization you can use a ServletContextListener

You have to map it in web.xml using <listener><listener-class>...</listener-class></listener>. In contextInitialized(..) and contextDestroyed(..) you can do initialization and cleanup respectively.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文