java – So führen Sie das Initialisierungsprogramm des Projekts aus, wenn Tomcat gestartet wird
我想大声告诉你
我想大声告诉你 2017-07-05 10:02:11
0
4
1084

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

我想大声告诉你
我想大声告诉你

Antworte allen(4)
洪涛

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> 
某草草

web.xml中找找Listener

洪涛

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

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

習慣沉默

有三种办法:

  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()中。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage