【问题标题】:What is a servlet's "display-name" for?servlet 的“显示名称”有什么用?
【发布时间】:2011-04-17 20:14:04
【问题描述】:

根据Servlet 2.5 deployment descriptor XSD<display-name> 元素似乎是<servlet> 元素的有效子元素。也就是说,根据 Eclipse 的 XML 验证器,这样:

<servlet>
    <servlet-name>FooServlet</servlet-name>
    <display-name>FooServlet</display-name>
    <servlet-class>com.bar.servlet.FooServlet</servlet-class>
</servlet>

是一个有效的servlet-mapping,而这个:

<servlet>
    <servlet-name>FooServlet</servlet-name>
    <random-tag-name>OMGWTFBBQ</random-tag-name>
    <servlet-class>com.bar.servlet.FooServlet</servlet-class>
</servlet>

不是(这似乎很合理)。

display-name 的实际用途是什么?我一直无法挖掘任何关于它的信息。

【问题讨论】:

    标签: java servlets web.xml


    【解决方案1】:

    &lt;display-name&gt; 元素是&lt;servlet&gt; 的子元素。这些是 web.xml 部署描述符文件中使用的元素。 &lt;display-name&gt; 是可选的,它允许将短名称与 servlet 相关联,如果需要,可以通过 GUI 工具(例如 Web 浏览器)潜在地读取该短名称,以便将 servlet 的名称按字面意思显示给客户端。但是,在实践中,它几乎从未使用过,因此可以放心地忽略。

    【讨论】:

      【解决方案2】:

      &lt;servlet-name&gt; 是 servlet 的规范内部名称,用作将 url-patterns 等内容链接到 servlet 的关键。 &lt;display-name&gt; 供管理工具等使用。

      当您考虑到 XML Schema 允许多个 &lt;display-name&gt; 元素用于各种语言时,这可能更有意义,例如

      <servlet>
          <servlet-name>MyServlet</servlet-name>
          <displayable-name xml:lang="en">My Servlet</displayable-name>
          <displayable-name xml:lang="fr">Ma Servlet</displayable-name>
      </servlet>
      

      (请原谅我的弗朗莱)

      【讨论】:

      • Mein Servlet
      • +1 表示 Frenglaiscanonical。我大致了解&lt;servlet-name&gt; 的用途(真的对那部分并不感到困惑),但“规范”是描述它的词。
      【解决方案3】:
      【解决方案4】:

      servlet-name 用于引用其他标签中的 servlet(如 servlet-mapping)。这可以被认为是 servlet 的“内部名称”。 display-name 是 servlet 的“外部名称”——它应该出现在 servlet 容器的管理控制台上。通常,Web 应用程序作为一个单元进行管理 - 它们被部署/取消部署/重新启动/等。作为一个整体,不管理单个 servlet - 因此您通常不会看到使用此显示名称的地方。

      【讨论】:

        【解决方案5】:

        我相信它主要用于 J2EE Web 管理控制台,用于显示统计信息等。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-05
          • 2016-02-12
          • 2016-09-03
          相关资源
          最近更新 更多