2010-09-27 92 views
18

<display-name>元素看起來像Servlet 2.5 deployment descriptor XSD<servlet>元素的有效子元素。也就是說,根據Eclipse的XML驗證,這樣的:什麼是servlet的「顯示名稱」?

<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實際用於?我一直無法挖掘任何有關它的信息。

回答

15

<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

Mein Servlet 2010-09-27 16:40:45

+2

+1對於'Frenglais'和'canonical'。我一般都明白''的含義(對這部分並不感到困惑),但是「canonical」是用來描述它的詞。 – 2010-09-27 16:44:07

5

我相信這是主要由J2EE Web的管理控制檯,顯示統計數據的時候,等

6

servlet-name被用來指在其他標記中的servlet(如servlet-mapping)。這可以被認爲是servlet的「內部名稱」。 display-name是servlet的「外部名稱」 - 它應該顯示在servlet容器的管理控制檯上。通常,Web應用程序是作爲一個單元進行管理的 - 它們被部署/取消部署/重新啓動/等。作爲一個整體,不管理單獨的servlet - 所以沒有一個地方你通常會看到使用這個顯示名稱。

0

<display-name>元素是<servlet>一個子元素。這些是web.xml部署描述符文件中使用的元素。 <display-name>是可選的,並且允許將短名稱與可以由GUI工具(例如web瀏覽器)潛在讀取的servlet相關聯,以在需要時將servlet的名稱從字面上顯示給客戶端。然而,實際上,它幾乎從不使用,因此可以安全地忽略。