2011-07-15 50 views
1

这可能很明显,但我找不到任何细节。在tomcat 7上观看视频后,有人提到,在web应用程序中的所有注释处理完毕后,可以记录最终的web.xml。此时,您可以将metadata-complete设置为true,并使用web.xml进行生产,从而提高性能。我对注释过的servlet进行了快速测试,并且在日志(或其他任何地方)中没有看到任何生成的web.xml。我想我错过了一些东西。任何人都设法做到这一点?Tomcat 7日志内容的有效web.xml

回答

2

好吧,

我已经找到了答案,我似乎错过这个docs

logEffectiveWebXml - 如果你想有效的web.xml用于 设置为true当 应用程序启动时要记录的Web应用程序(在INFO级别)。有效的web.xml是将 应用程序的web.xml与Tomcat配置的任何默认配置以及 发现的任何web-fragment.xml文件和注释相结合的结果。如果未指定 ,则使用默认值false。

所以,这是一个定义上下文并将此属性设置为true的情况。我会把它拿出来让你知道我如何继续。

+0

好的,我在上做了一个尝试,它确实记录了最终的web.xml。在把它写入日志文件后,我不太理解它。它看起来非常丑陋。我将内存结构写入了一个web.xml。调用它的web-generated.xml或其他东西。我想有一个很好的理由,为什么这不是一个明智的举动:) –

1

你想看看那个文件是什么吗?或者只知道它何时开始?如果是后者,那么你可以实现ServletContextListener并记录你需要在那里看到的东西。这也是您可以初始化和/或销毁应用程序配置的地方。

+0

我不确定你需要跳到什么环节才能获得这个,我相信它很容易实现。有一个关于tomcat 7功能的视频以及他描述此功能的方式,您可以有效地注释一个servlet,并且一旦tomcat引擎处理了注释,它就会记录web.xml结构。然后,您可以回收该应用程序的结构并禁用注释以加速性能。我刚开始玩tomcat 7,我想知道如何做到这一点。 –

+0

DariuszR,我觉得你不需要注册一个听众来做这件事,我很可能是错的。 –

+0

你是指** lock **还是** log **? – home