什么是servlet的“显示名称”?

时间:2010-09-27 15:22:00

标签: java servlets web.xml

根据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实际使用的是什么?我无法挖掘任何有关它的信息。

5 个答案:

答案 0 :(得分:18)

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

当您考虑XML Schema允许多种<display-name>元素(对于各种语言)时,这可能更有意义,例如。

<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>

(原谅我的Frenglais)

答案 1 :(得分:7)

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

答案 2 :(得分:5)

我认为它主要由J2EE Web管理控制台使用,在显示统计信息等时

答案 3 :(得分:3)

答案 4 :(得分:0)

<display-name>元素是<servlet>的子元素。这些是web.xml部署描述符文件中使用的元素。 <display-name>是可选的,允许与servlet相关联的短名称,GUI工具(例如Web浏览器)可能会读取该名称,以便在需要时向客户端显示servlet的名称。 。然而,在实践中,它几乎从未使用过,因此可以安全地被忽视。