【问题标题】:Where is the main() method In a JSP/Servlet application? [duplicate]JSP/Servlet 应用程序中的 main() 方法在哪里? [复制]
【发布时间】:2011-06-13 14:20:53
【问题描述】:

我问这个的原因是我想编写代码来初始化应用程序,一旦它启动并稍后清理。

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

【问题讨论】:

    标签: java jsp web-applications servlets


    【解决方案1】:

    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>
    

    【讨论】:

      【解决方案2】:

      没有main() 方法,因为组件是受管理的并且容器会调用其他方法——比如servlet 和过滤器上的init()。容器本身是通过一个 main 方法启动的,但即使是对你来说也是隐藏的。

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

      您必须使用&lt;listener&gt;&lt;listener-class&gt;...&lt;/listener-class&gt;&lt;/listener&gt; 将其映射到web.xml。在contextInitialized(..)contextDestroyed(..) 中可以分别进行初始化和清理。

      【讨论】:

        猜你喜欢
        • 2012-02-18
        • 2016-08-22
        • 2014-03-16
        • 1970-01-01
        • 2016-12-15
        • 1970-01-01
        • 2021-08-08
        • 2011-06-24
        相关资源
        最近更新 更多