web-app 标记的web.xml id 属性是什么意思?
Eclipse将其生成为 id =“WebApp_ID”。我使用版本的Servlet规范版本2.5,我切换到使用3.0,建议this answer不包含该ID。
真的有必要吗?应该是什么价值?
答案 0 :(得分:15)
较新版本的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属性,但我离题了。)
答案 1 :(得分:2)
AFAIK这不是必需的(根据DTD)。您可以将其评论出来,看看是否有效,我非常肯定该应用程序会加载正常。