suchen

Heim  >  Fragen und Antworten  >  Hauptteil

java – So führen Sie das Initialisierungsprogramm des Projekts aus, wenn Tomcat gestartet wird

Beim Start von Tomcat gab die Konsole viele Informationen aus. Die Informationen zeigten, dass beim Start von Tomcat viele Projektkonfigurationsdateien geladen wurden und die Projektinitialisierungsmethode aufgerufen wurde, aber ich weiß nicht, wie sie aufgerufen wurde. Wo hieß es? Muss ich etwas mit Tomcat konfigurieren?

PS: Javaweb-Projekt

我想大声告诉你我想大声告诉你2698 Tage vor1055

Antworte allen(4)Ich werde antworten

  • PHP中文网

    PHP中文网2017-07-05 10:04:11

    web.xml中做如下配置

    <servlet>  
       <servlet-name>MyServlet</servlet-name>  
       <servlet-class>org.cai.MyServlet</servlet-class>  
       <strong><load-on-startup>0</load-on-startup></strong>  
      </servlet> 
    

    Antwort
    0
  • 某草草

    某草草2017-07-05 10:04:11

    web.xml中找找Listener

    Antwort
    0
  • PHP中文网

    PHP中文网2017-07-05 10:04:11

    楼主需要的是系统了解一下 Servlet 的生命周期。当你实现一个 Servlet 的时候,它的哪些方法会在 Web 应用启动的时候调用。这方面的文章太多了:

    http://www.jianshu.com/p/1d50...
    http://www.runoob.com/servlet...

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-07-05 10:04:11

    有三种办法:

    1. 如 @treeandgrass 所说,对某个Servlet重写init(),但前提是在web.xml中给load-on-startup设上值(或者加@WebServlet注解);

    2. 对某个Filter实现init(),配在web.xml中(或者加@WebFilter注解);

    3. 实现 ServletContextListener 接口,并实现contextInitialized(),配在web.xml中(或者加@WebListener注解)。

    这三种方法中,我最常用最后一种(ServletContextListener)(在Web中使用Spring通常只用这种方法),因为它总是优先于Filter和Servlet执行的,而且不会跟实现具体功能的Servlet、Filter混在一起。

    初始化的工作包括:

    • 线程池、数据库连接池、网络连接池的初始化

    • IoC容器的加载

    • 启动定时器

    • 其他需要初始化的对象
      以上大多数初始化工作是需要在Web服务器停止时关闭的,这些工作应写在contextDestroyed()中。

    Antwort
    0
  • StornierenAntwort