Java 启动时加载问题tomcat
我想在tomcat启动时加载一个类,它实际上会初始化其他类中的变量 我对appName/WEB-INF/WEB.xml进行了如下编辑Java 启动时加载问题tomcat,java,tomcat,Java,Tomcat,我想在tomcat启动时加载一个类,它实际上会初始化其他类中的变量 我对appName/WEB-INF/WEB.xml进行了如下编辑 <servlet> <servlet-name>LoadConfigurations</servlet-name> <servlet-class>Loader.LoadConfigurations</servlet-class> <init-param> &
<servlet>
<servlet-name>LoadConfigurations</servlet-name>
<servlet-class>Loader.LoadConfigurations</servlet-class>
<init-param>
<param-name>env</param-name>
<param-value>dev</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
负载配置
Loader.LoadConfiguration
环境
发展
1.
我已经将servlet加载配置放在/appName/WEB-INF/classes中
如何检查servlet是否被调用?因为当我试图显示初始化类中的值时,它返回null,有两个问题:
Loader
添加到web.xml
文件中初始化servlet时,容器应该调用servlet init()方法。实现/重写该方法,并尝试从那里向日志写入内容。这是Tomcat 7.0的解决方案 步骤1: 为您的webapp/servlet创建war文件。 如果您使用的是Eclipse,请选择File->Export->Web->WAR文件,并将其保存到已知位置 步骤2: 找到tomcat的主文件夹。 为此,请转到tomcat/apache-tomcat-7.0.41/bin并执行./startup.sh 这将打印出两个全局变量名。 记下CATALINA_家的那张 步骤3: 从CATALINA_HOME/webapps中的步骤1复制war文件 步骤4: 接下来,在CATALINA_HOME/conf/{Engine}/localhost/MyServlets.xml中创建一个xml文件:
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<Context deployOnStartup="true" docBase="/home/ubuntu/Downloads/apache-tomcat-7.0.42/webapps/" reloadable="true">
<Manager pathname=""/>
</Context>
将docBase更改为指向在步骤3中复制war文件的位置
现在,您可以转到tomcat/apache-tomcat-7.0.41/bin并执行./startup.sh。
您的servlet将自动启动。
希望这能有所帮助。我就是这样在tomcat 9上修复它的:
conf/context.xml
文件,并将reloadable=“false”
添加到
标记中
conf/server.xml
文件,并将deployOnStartup=“false”
添加到
标记中
尝试将日志或System.out.println(“Inside constructor”)保存在构造函数和init()方法的开始和结束部分。检查您是否正在获取日志。