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代码 重启tomcat

java程序执行一条sql语句的时候就报JDBC连接错误 启动tomcat 的时候不报错 请问有可能是哪里出问题了谢谢

在java中怎么能让tomcat启动完后,spring配置文件加载完后自动运行某个类?

spring 集成quartz 部署在tomcat里 任务每次会执行两遍

Linux,怎样让某个用户一开机就进入图形界面自动执行一个程序,程序退出就自动锁定或重启?