2012-12-04 40 views
0

我要爲Struts應用程序調用的第一頁應該是一個簡單的helloWorld.jsp頁面。這是在這樣的web.xml中指定:爲什麼找不到我的webapp的歡迎文件?

<welcome-file-list> 
    <welcome-file>helloWorld.jsp</welcome-file> 
</welcome-file-list> 

但是,我得到一個HTTP 404錯誤。什麼是正確的struts.xml結構呢?實際上是否需要調用默認頁面?如果不是那麼爲什麼我會得到錯誤?是的JSP文件位於WEB-INF文件夾

感謝

編輯

新增截圖顯示JSP文件的位置:

screeenshot of JSP location

+0

哪裏是JSP位於你的web應用?你用什麼URL打它? – chad

+0

它應該在webapp文件夾中。 –

+0

我創建我的項目作爲動態Web項目,而不是通過Maven,因此沒有創建webapp文件夾正確嗎?那麼我應該創建一個並將.jsp文件添加到它中 – Katana24

回答

0

此無關使用Struts 2.這個jsp應該作爲web應用程序的JSP來使用,它不通過Struts 2.這個故障排除等於驗證你的web應用程序已經加載通過servlet容器,並且你有正確的URL來點擊webapp,然後是這個JSP。

你應該看看在servlet容器日誌,以驗證該容器的啓動就沒事,也應該向你報告,你的web應用加載,init'd開始。

下一步,驗證您的網址是正確的。我假設是這樣的:

http://localhost:8080/myWebAppContextName/helloWorld.jsp 

的web應用程序上下文名稱可能是不同的東西,這取決於你如何部署和配置你的web應用。如果您只是將war文件放入tomcat的webapps文件夾中,它將成爲webapp的名稱。

+0

這個JSP應該受到打擊的Web應用程序的JSP。 ,它不通過Struts 2 - >我認爲struts會攔截所有的請求和按照網絡中的說明處理它們。xml過濾器映射標記 – Katana24

+1

如果您將struts 2過濾器映射到所有請求,這是常見的,它會查看每個請求,但是如果它沒有它自己的請求URL映射,它將不會執行任何操作。就像這裏的情況一樣。然後,JSP servlet將捕獲該請求,但是這是隱藏的內容。如果你願意,你可以閱讀更多關於JSP技術的知識,但總之,每個JSP都被編譯成一個servlet,然後接收請求。 – chad

0
**Make sure that your jsp should be there in `WebRoot` folder.** 

<welcome-file-list> 
    <welcome-file>index.jsp</welcome-file> 
</welcome-file-list> 

的index.jsp

<META HTTP-EQUIV="Refresh" CONTENT="0;URL=welcome.action"> 
+3

那該如何回答這個問題呢? – beny23

+0

@ beny23我更新了我的答案,謝謝。 –