Java 什么是servlet';s";显示名称";对于

Java 什么是servlet';s";显示名称";对于,java,servlets,web.xml,Java,Servlets,Web.xml,根据的,元素似乎是元素的有效子元素。也就是说,根据Eclipse的XML验证器,这: <servlet> <servlet-name>FooServlet</servlet-name> <display-name>FooServlet</display-name> <servlet-class>com.bar.servlet.FooServlet</servlet-class> </

根据的,
元素似乎是
元素的有效子元素。也就是说,根据Eclipse的XML验证器,这:

<servlet>
    <servlet-name>FooServlet</servlet-name>
    <display-name>FooServlet</display-name>
    <servlet-class>com.bar.servlet.FooServlet</servlet-class>
</servlet>
不是(这似乎很合理)


显示名称实际用于什么?我还没有找到任何关于它的信息。

我相信它主要是由J2EE web管理控制台在显示统计信息时使用的。

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

The
是servlet的规范内部名称,并用作将url模式之类的内容链接到servlet的关键<代码>供管理工具等使用

当您认为XML模式允许多个<代码> <代码>元素时,对于各种语言,例如

,这可能更有意义。
<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>

MyServlet
我的Servlet
Ma Servlet

(请原谅我的法语)

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

Mein Servlet+1用于
Frenglais
canonical
。我基本上理解了
的用途(对这一部分我并不感到困惑),但“canonical”是用来描述它的。
<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>