【问题标题】:where is the XSD and semantics of the web.xml defined?web.xml 的 XSD 和语义在哪里定义?
【发布时间】:2017-08-26 01:08:27
【问题描述】:

我正在尝试查找 XSD 和部署描述符 web.xm 文件的语义在 Servlet 3.0 规范中的定义位置。

或者,在哪里是可以出现在web.xml 中的各种受支持元素和属性的权威描述,以及容器的默认行为是什么,以防某些元素/属性不存在。

这开始于我想知道http-onlysecure 元素在session-config 中的默认值是什么,例如如:

 <session-config>
     <session-timeout>60</session-timeout>
     <cookie-config>
         <http-only>true</http-only>
         <secure>false</secure>
     </cookie-config>
 </session-config>

我有理由确定两者的默认值都是false,但我想看看这是在哪里权威指定的。

查看Java Servlet 3.0 spec 没有XSD。有一个示例 XML 文件(第 169 页),它有一个 schemaLocation 属性值:

http://java.sun.com/xml/ns/j2ee/web-app_2_5.xsd

……坏掉了。谷歌搜索 web-app_2_5.xsd 找到了一个 XSD 文件,但它不包含 &lt;session-config&gt; 元素的定义(即使在谷歌搜索该文件导入的其他 XSD 时我也找不到它)。

规范确实包含一些元素的图形描述(在这种“可视化”流行的可怕的 90 年代后期风格中),但这就是 session-config 元素所包含的全部内容:

没有关于cookie-config 元素的进一步讨论。

我很难相信一个规范不包含完整的 XSD(或至少一个指向它的链接)所有语义的详细描述元素和属性。

我错过了什么吗?

【问题讨论】:

标签: servlets web.xml


【解决方案1】:

有问题与从Oracle的模式。的URL进行只是不工作,保持抛出错误。 P>

所以我切换到JBoss架构(在https://www.jboss.org/j2ee/schema/) P>

我取代 P>

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee https://www.jboss.org/j2ee/schema/web-app_2_4.xsd"

还要确保在web应用标签的版本属性被设置正确地(例如,版本=“2.4”,在这种情况下) P>

【讨论】:

    【解决方案2】:

    架构列表可在以下位置找到

    http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html

    (一开始写着“最新版本:http://xmlns.jcp.org/xml/ns/javaee/”,然后重定向到我首先发布的链接;我认为后一个 URL 应该用作永久链接)

    然后您会发现按 Java EE 版本分组的模式。我认为 servlet 3.0 是 JEE 6,所以:

    http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html#6

    在那里你会得到架构:

    http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-app_3_0.xsd

    http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-common_3_0.xsd

    http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-fragment_3_0.xsd

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      相关资源
      最近更新 更多