2011-11-06 86 views
0

調用servlet的主要以下web.xml中似乎並沒有工作:自動通過歡迎文件列表

<servlet-mapping> 
    <servlet-name>MyServlet</servlet-name> 
    <url-pattern>*.wfn</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>SelectSessionServer.wfn</welcome-file> 
</welcome-file-list> 

而是一個目錄列表所示。我在那裏有一個index.html文件,並且該index.html文件有一個鏈接到完全相同的SelectSessionServer URL,然後它正常工作。

( 「它」= Glassfish的& Tomcat)的

怎麼來的?

我已經看到了這個問題(servlet as welcome-file-list in tomcat 7)及其反應似乎表明,我的設置應該是工作。

+1

應該只是罰款。你如何部署?目錄列表顯示也很奇怪;他們默認關閉,所以他們應該有目的地打開。誰在管理容器並部署Web應用程序?你還是一些服務器管理員? – BalusC

+0

只有Glassfish會顯示dirlist。 Tomcat給出了-404(或任何「不可用」的錯誤),但這已經過去了。我知道這只是一個配置選項,即使我不知道它在哪裏。關鍵是,根據我在這裏找到的信息,它爲什麼不像我預期的那樣工作,以及它顯然應該如何工作。我會試着看看應用服務器的日誌,看看有什麼。 –

+0

部署使用WAR文件。但它應該不相關,因爲在應用程序服務器停止/啓動後我也會收到這種行爲。 –

回答

2

確保您web.xml根聲明,以圖一個servlet在歡迎文件符合的Servlet 3.0。您正在使用Tomcat 7和(據說)Glassfish的3,這是的Servlet容器3.0,所以你應該確保你的web.xml也被宣佈爲。

<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
    version="3.0"> 

它也將給出新的Servlet 3.0功能,如@WebServlet註釋等額外的好處。

+0

Thx。我會將其添加到我的描述符和C中會發生什麼。 –