java程序里运行tomcat启动的时候就执行某个类里的方法

一个java程序,使用tomcat发布,在一个类名叫ServerManage里有一个方法叫doPost,tomcat是开机自动启动的我想让doPost方法也开机执行,请问... 一个java程序,使用tomcat发布,在一个类名叫ServerManage里有一个方法叫doPost,tomcat是开机自动启动的我想让doPost方法也开机执行,请问如何实现,请详细解说,谢谢 展开
 我来答
匿名用户
2013-05-08
展开全部
你好,我觉得这种情况可以在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方法中初始化公用资源信息等等 。希望对你有帮助。
hugo_lian
2017-09-13 · TA获得超过1.4万个赞
知道小有建树答主
回答量:212
采纳率:0%
帮助的人:65.3万
展开全部

这个需要配置在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的时候执行。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
waaulwh
2017-10-27 · 超过23用户采纳过TA的回答
知道答主
回答量:98
采纳率:70%
帮助的人:26.8万
展开全部

可以给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");

}
   
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青年节奏
2017-09-23 · TA获得超过222个赞
知道答主
回答量:164
采纳率:81%
帮助的人:20.1万
展开全部
1.在你觉得有错的地方设置断点。在代码行数前,点击右键,注意是右键,然后选择Toggle Breakpoint。
2.点击Debug,如果是web程序,需要你将Tomcat或者Apache服务器以Debug模式启动。这很重要,标准的Start模式,不能进入预先设置的断点,也就不能达到调试的目的。
3.运行程序,当程序运行到刚才设置断点的位置就会停下来,并且那行代码底色会高亮显示。
4. 进入调试界面可以看到你想要的信息。
5.在Variables里面可以查看所有变量的值,比如刚才设置的断点里面的值,右键ChangeValue可以更改,部分IDE支持在窗口中热更改并执行代码。
6.下面按钮第一个是进入方法执行,比如你调用了其他方法,可以进入方法一步一步执行,如果点击第二个按钮,只会在本方法内一步一步执行,第三个按钮时你跳出此方法,继续执行调用这个方法的原方法,说明如下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
彰叔叔
2017-08-22 · 知道合伙人IT服务行家
彰叔叔
知道合伙人IT服务行家
采纳数:3 获赞数:75
Java技术核心工程师

向TA提问 私信TA
展开全部
可以写个监听器,如果是servlet3.0,直接继承 ServletContextListener 就上@WebListener注解就行了,如果是servlet2.5,就需要在web.xml配置一下这个监听器。在监听器的contextInitialized方法写你需要执行操作,tomcat启动的时候就会执行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式