java程序里运行tomcat启动的时候就执行某个类里的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java程序里运行tomcat启动的时候就执行某个类里的方法相关的知识,希望对你有一定的参考价值。
一个java程序,使用tomcat发布,在一个类名叫ServerManage里有一个方法叫doPost,tomcat是开机自动启动的我想让doPost方法也开机执行,请问如何实现,请详细解说,谢谢
你好,我觉得这种情况可以在servlet的初始化完成,重写servlet的init方法。在web.xml增加配置:<servlet> <description></description> <display-name>Init</display-name> <servlet-name>Init</servlet-name> <servlet-class>com.nodeservice.sdcqjy.servlet.Init</servlet-class> <load-on-startup>4</load-on-startup> </servlet>这个servlet不需要配置mapping 而是 <load-on-startup>4</load-on-startup> 在tomcat启动时会按照加载的等级去初始化这个servlet,数字越大加载顺序越靠后。这样在tomcat启动时会调用servlet的init方法。可以在init方法中初始化公用资源信息等等 。希望对你有帮助。 参考技术A这个需要配置在web.xml中
首先JAVA程序写好指定的Servlet,然后再web.xml中配置这个Servlet
<servlet><servlet-name>InitServlet</servlet-name>
<servlet-class>com.test.init.InitServlet</servlet-class>
<init-param>
<param-name>username</param-name>
<param-value>test</param-value>
</init-param>
<!-- 此处指定加载顺序为2,表明还有优先级更高的Servlet要先执行 -->
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>InitServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这样就会在启动tomcat的时候执行。
参考技术B可以给web.xml配置监听
<listener><listener-class>xxx.xxx.xxx.xxx.TomcatListener</listener-class>
</listener>
里面是类的路径public class TomcatListener implements ServletContextListener
@Override
public void contextDestroyed(ServletContextEvent arg0)
// TODO Auto-generated method stub
//tomcat启动后就会执行该方法
@Override
public void contextInitialized(ServletContextEvent arg0)
LOG.info("tomcat listener start");
参考技术C 1.在你觉得有错的地方设置断点。在代码行数前,点击右键,注意是右键,然后选择Toggle Breakpoint。
2.点击Debug,如果是web程序,需要你将Tomcat或者Apache服务器以Debug模式启动。这很重要,标准的Start模式,不能进入预先设置的断点,也就不能达到调试的目的。
3.运行程序,当程序运行到刚才设置断点的位置就会停下来,并且那行代码底色会高亮显示。
4. 进入调试界面可以看到你想要的信息。
5.在Variables里面可以查看所有变量的值,比如刚才设置的断点里面的值,右键ChangeValue可以更改,部分IDE支持在窗口中热更改并执行代码。
6.下面按钮第一个是进入方法执行,比如你调用了其他方法,可以进入方法一步一步执行,如果点击第二个按钮,只会在本方法内一步一步执行,第三个按钮时你跳出此方法,继续执行调用这个方法的原方法,说明如下。 参考技术D 可以写个监听器,如果是servlet3.0,直接继承 ServletContextListener 就上@WebListener注解就行了,如果是servlet2.5,就需要在web.xml配置一下这个监听器。在监听器的contextInitialized方法写你需要执行操作,tomcat启动的时候就会执行了
以上是关于java程序里运行tomcat启动的时候就执行某个类里的方法的主要内容,如果未能解决你的问题,请参考以下文章
Java中如何让web服务器启动的时候自动运行web程序中某个类的某个
java程序执行一条sql语句的时候就报JDBC连接错误 启动tomcat 的时候不报错 请问有可能是哪里出问题了谢谢
在java中怎么能让tomcat启动完后,spring配置文件加载完后自动运行某个类?