14

web-app标签的 web.xml id属性是什么意思?

Eclipse 将其生成为id="WebApp_ID"。我使用的版本是 Servlet 规范版本 2.5,我切换到使用 3.0,并建议使用不包含该 ID的答案。

真的有必要吗?价值应该是多少?

4

2 回答 2

16

较新版本的 servlet 规范使用 .xsd 文件,没有关于 id 属性的更多信息,但是如果您使用 .dtd 回到旧版本,例如web_app_2_2.dtd,您会发现:

ID 机制允许工具轻松地对部署描述符的元素进行特定于工具的引用。这允许生成附加部署信息(即标准部署描述符信息之外的信息)的工具将非标准信息存储在单独的文件中,并轻松地从这些工具特定文件中引用标准 Web 应用程序部署描述符中的信息.

例如,WebSphere Application Server 在其旧的 bnd 和 ext 文件中使用了 id 机制:

web.xml:
<web-app id="WebApp_ID" ...

ibm-web-app-bnd.xmi:
<webappbnd:WebAppBinding ...
  <webapp href="WEB-INF/web.xml#WebApp_ID"/>

(谢天谢地,对于 ibm-web-bnd/ext 的较新的 .xml 文件格式,不再需要使用 id 属性的工具友好但开发人员烦人的使用,但我离题了。)

于 2011-05-11T05:19:52.293 回答
2

AFAIK 这不是必需的(也根据DTD)。您可以将其注释掉,看看是否可行,我非常肯定该应用程序会正常加载。

于 2011-05-11T04:24:57.473 回答