如何在Tomcat 7中以编程方式配置ServletContextListener?

5
我希望能够通过编程方式配置一个或多个ServletContextListener,而不是通过web.xml进行配置。目前,我正在通过编程方式添加servlet和filter来实现类似的功能。请问这种方式是否可行?如果是,请提供一个示例。
1个回答

2
使用Tomcat 7有两种避免web.xml的选项。第一种是使用@WebListener注释,但我怀疑这不是您想要的。第二种方法是使用ServletContainerInitializer(SCI)。例如,可以查看Tomcat的WebSocket SCI如何实现。该SCI执行了许多操作。对于您而言,相关的行是servletContext.addListener(new WsContextListener()); 请注意,SCI使用服务API来注册自己

谢谢Mark,这正是我在Tomcat文档中找不到的东西。 - digitalsanctum
这正是我所期望的。通常情况下(有时会有例外),Tomcat文档不会重复Servlet规范中已经存在的内容。 - Mark Thomas
它是否真的在重复Servlet规范?实际上,这取决于具体的容器实现。 - digitalsanctum
是的,这是在重复Servlet规范。它与容器无关。 - Mark Thomas
这些链接现在已经失效了,因此(除了链接之外),将链接的重要内容放在答案中是很好的做法。这个答案现在不完整。 - Nate
我已经修复了链接。 - Mark Thomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接