是否可以在Tomcat 7上为Web部署描述符(web.xml
)使用其他名称?如果是这样的话?
答案 0 :(得分:3)
servlet规范说部署描述符是WEB-INF / web.xml。这就是所有工具和所有servlet容器/ app服务器都同意并知道要处理的内容。
为什么你想要这样做?
在某些情况下,您根本不需要一个 - 请参阅servlet spec 3.0
的A.6.6节如果不是web应用程序,则不需要包含web.xml 包含任何Servlet,Filter或Listener组件。换句话说 仅包含静态文件或JSP页面的应用程序不需要 要存在的web.xml。
编辑:回答您的评论,如果您想为两个不同的应用服务器提供两个不同的版本,您应该以不同方式配置两个应用服务器(例如,通过提供不同的参数 - 例如阅读JNDI并使用它连接到您的数据库),通过构建时间的变化,例如配置ant或maven以构建两个版本的webapp,或者在部署时 - 例如脚本在部署步骤期间通过脚本部署和更新WAR文件。
我之前错过了一个答案:Tomcat(以及JBoss)是开源的。因此,从技术上讲,您可以使用不同的代码重新编译它以读取部署描述符。但是a)你将失去所有的工具支持,因为没有IDE会期望这个配置会像web.xml一样产生任何影响(考虑阅读taglib并指出有问题的JSP)和b)你会创建一个维护噩梦,因为你会必须为每个新的tomcat版本执行此操作,没有人,但你会期望任何自尊的网络服务器的这种行为