Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 开始运行Tomcat时的触发功能_Java_Spring Mvc_Triggers_Tomcat8 - Fatal编程技术网

Java 开始运行Tomcat时的触发功能

Java 开始运行Tomcat时的触发功能,java,spring-mvc,triggers,tomcat8,Java,Spring Mvc,Triggers,Tomcat8,在Eclipse(Java)上,当我单击RunTomcat8时,我想记录服务器何时开始运行的时间。我不知道如何触发这个日志操作,因为我必须访问一个页面来调用控制器文件中的log函数。不管怎样,当我开始运行Tomcat8时,我是否可以编写一个日志文件?如果您想在没有任何Spring或Tomcat特性的情况下这样做,并且有一个解决方案可以在所有类型的Java EE应用程序上运行,那么您可以创建一个实现javax.servlet.ServletContextListener的类,并得到一个web应用程

在Eclipse(Java)上,当我单击RunTomcat8时,我想记录服务器何时开始运行的时间。我不知道如何触发这个日志操作,因为我必须访问一个页面来调用控制器文件中的log函数。不管怎样,当我开始运行Tomcat8时,我是否可以编写一个日志文件?

如果您想在没有任何Spring或Tomcat特性的情况下这样做,并且有一个解决方案可以在所有类型的Java EE应用程序上运行,那么您可以创建一个实现
javax.servlet.ServletContextListener
的类,并得到一个web应用程序正在运行的通知准备在方法
contextInitialized(ServletContextEvent sce)
中处理请求

在服务器上部署应用程序时,将调用此方法

package com.your.package;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class YourServletContextListener implements ServletContextListener {

    public void contextInitialized(ServletContextEvent event) {
        // Place here the code to run once the application is ready 
    }

    public void contextDestroyed(ServletContextEvent event) {
        // Place here the code to run just before the application goes down
    }

}
此侦听器需要配置到web.xml中,如下所示

</web-app ...>
  <listener>
    <listener-class>com.your.package.YourServletContextListener</listener-class>
  </listener>
</web-app>

com.your.package.YourServletContextListener

这很有效!我使用debug测试了您的解决方案,并进入了contextInitialized函数。谢谢