Tag: tomcat7

如何在servlet 3.0的web.xml-less中定义和?

我有现有的web-app,我想将其转换为web.xml-less servlet 3.0。 我已经设法使它工作,但是web.xml中有2个标签,我仍然不知道web.xml-less环境中的等效代码。 /index.jsp 404 /pageNotFound 任何帮助表示赞赏

Tomcat 7.0.73不适用于Java 9

由于catalina.sh中的默认“java.endorsed.dirs”选项,因此无法使用java 9启动基于tomcat的应用程序。 -Djava.endorsed.dirs=/usr/local/share/tomcat/endorsed is not supported. Endorsed standards and standalone APIs in modular form will be supported via the concept of upgradeable modules. Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. 有没有解决这个问题?

关闭tomcat时停止计划的计时器

我有一个部署到Tomcat服务器的WAR文件,其中一个类将在启动时调用,然后init()方法将安排一个计时器每5小时触发一次以执行某些任务。 我的init()代码如下所示: public void init() { TimerTask parserTimerTask = new TimerTask() { @Override public void run() { XmlParser.parsePage(); } }; Timer parserTimer = new Timer(); parserTimer.scheduleAtFixedRate(parserTimerTask, 0, PERIOD); } 我的应用程序运行没有问题,但当我使用/etc/init.d/tomcat7停止关闭Tomcat时,我检查日志(catalina.out)它有一个这样的条目: 严重:Web应用程序[/ MyApplication]似乎已经启动了一个名为[Timer-0]的线程,但未能阻止它。 这很可能造成内存泄漏。 我明白这是由我安排计时器引起的,但我的问题是: 我没有将setDeamon设置为true,所以定时器不应该阻止Tomcat关闭,而不是继续运行? 我可以在我的应用程序中检测Tomcat是否会关闭并取消我的计时器? 我可以用什么其他解决方案来解决这个问题? 谢谢! UPDATE 我根据一些搜索和DaveHowes的答案将我的代码更改为以下内容。 Timer parserTimer; TimerTask parserTimerTask; public void init() { parserTimerTask = new TimerTask() { @Override public […]