这让我发疯了。在我的 web.xml 中,我的测试环境中有 2 个 servlet 映射到同一个 URL。明智的配置没有意义,但这不是这篇文章的原因。 servlet 引擎(Tomcat 7.0.42)在启动时会抛出:
java.lang.IllegalArgumentException: The servlets named [Servlet1] and [Servlet2] are both mapped to the url-pattern [*.php] which is not permitted.
测试服务器使用 servlet 规范 3.0。
但是在我的开发环境中,我有相同的服务器,servlet 规范配置,但我没有看到错误??!!!
这两个环境确实有不同的操作系统。测试在 Win2k8 上运行,开发者在 Windows 7 上运行——我不确定操作系统是否重要。但是让我发疯的是为什么两个环境中的错误不一致?