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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中怎么能让tomcat启动完后,spring配置文件加载完后自动运行某个类?相关的知识,希望对你有一定的参考价值。

我之前在web.xml中配置了servlet,可是tomcat没启动完就运行了那个类了!

在web.xml中配置的servlet节点,只有设置了start-up属性才会被容器启动,调用其init方法。如果你不需要容器启动时调用servlet,就把start-up属性注掉。spring配置在listener节点中,在容器启动时会首先初始化spring,其次是filter,最后才是servlet(配置了start-up的情况下),如果你的那个类是放在listener中的,那么要在spring启动完后再启动它,就要把它配置到spring之后。追问

你好,我把start-up注释了,这次是没有在tomcat启动时运行了那个类,可是,tomcat就算启动完了也没有自动运行该类啊?!我才java,麻烦你了!

追答

tomcat启动时运行那个类的方法有三种
1.listener的init方法中初始化。
2.filter的init方法中初始化要启动的类。
3.servlet中配置start-up属性。在这个servlet的init方法,初始化要启动的类。

启动优先级1>2>3.

参考技术A <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

启动后自动运行的首页
你可以在这个index.jsp里放一个类去运行<%%>
也可以在这直接放一个action
<welcome-file-list>
<welcome-file>index.action </welcome-file>
</welcome-file-list>追问

我不用jsp页面的!

启动tomcat后,每次修改java文件都会重新加载整个应用(像重新部署),怎么修改让它不重新加载!

楼上不懂就不要乱说。 这个需要更改tomcat的开发模式的
要设置server.xml中的Context reloadable="true", true自动重载(不是重启!), false手动重载。(如果项目在Tomcat中,应该去Tomcat目录设置。)
参考技术A 使用ant自动编译,具体你可以了解一下。
修改平常的代码只需要点击一下编译就ok了,不过加方法,修改配置文件什么的,还是需要重启tomcat的。
参考技术B 你说的是在eclipse开发当改动了java文件并保存之后tomcat都会重新加载的问题吧?这个好像没有什么方法哦,因为你保存了java文件,修改的java会重新更新部署到tomcat里面,tomcat需要重启后才能使修改生效,因此需要重新加载。我现在一般都是修改N多个java文件,改完后ctrl+shift+s一次性保存。本回答被提问者采纳

以上是关于在java中怎么能让tomcat启动完后,spring配置文件加载完后自动运行某个类?的主要内容,如果未能解决你的问题,请参考以下文章

linux中tomcat怎么配置开机自动启动

在linux下安装软件,经常就是装完后不知道装到哪里去了?(如果能让我明白这个问题要多少分自己说。)

java中怎么在tomcat启动时候触发一个action的跳转

ArcGIS Server10.2安装完后ArcGIS Server服务启动不了是怎么回事

启动tomcat后,每次修改java文件都会重新加载整个应用(像重新部署),怎么修改让它不重新加载!

myeclipse tomcat,每次启动怎么都把有另一个工程启动了