2010-07-29 49 views
13

我對Tomcat來說相當陌生。我只是設法建立一個項目並將其導出爲WAR文件。我嘗試手動將WAR文件複製到Tomcat文件夾,然後重新啓動。它創建了文件夾結構和一切,但是當我嘗試訪問應用程序時,我得到了一個404狀態碼。我嘗試通過Tomcat管理面板進行部署,但我看到了相同的行爲。我是否做了任何根本錯誤的事情?部署一個WAR文件給我在Tomcat上的404狀態碼?

+0

你的'request.getContextPath()'是什麼給你的?你在做這個'http:// localhost:8080/ContextPath /'(其中contextPath是'request.getContextPath()'。如果是的話,那麼請檢查你的web.xml中的配置。 – 2010-07-29 17:04:42

+0

對不起,如果這是一個愚蠢的問題:如果我無法部署應用程序,我該如何執行它? – Legend 2010-07-29 17:09:26

+1

查看日誌文件。應用程序部署時可能有異常 – ifischer 2010-07-29 18:05:40

回答

0

你嘗試

localhost:8080/app 

假設你的war文件是app.war?

編輯評論 - 然後你的web.xml被搞砸了。

+1

Yeap ...這是給我的404代碼如果我嘗試只是'localhost:8080'它給了我介紹頁... – Legend 2010-07-29 17:20:41

3

我最好的猜測是你沒有在你的web.xml中配置歡迎文件。如果你去/ app /你需要有一些默認文件可用。通常,人們創建了一個index.html,或者他們有受歡迎的文件設置來將用戶指向正確的jsp。

8

假設你有完全權限與Tomcat安裝,嘗試將http://localhost:8080/manager/html/,如果你不知道密碼才能進入該區域,尋找tomcat-users.xml文件在您${tomcat-installation}/conf目錄,並且應該有它。如果中沒有任何條目,那麼你將要添加一個條目,像下面這樣的:

<user username="username" password="password" roles="admin,manager" /> 

請參閱您的應用程序是否在屏幕上顯示出來,如果確實如此,點擊鏈接,看看是否讓你在任何地方。如果不是這樣,那麼我建議遵循讀者的建議,並查看日誌文件以查看是否列出了任何錯誤。

不過長話短說,最有可能的事情是搞砸了與項目的web.xml

+0

我也面臨同樣的問題,但只在部署應用程序第一次作爲根應用程序。如果我重新啓動服務器,那麼我是ab le訪問應用的着陸頁。嘗試了你的方法,我被點擊URL「http:// localhost:8080/manager/html /」中的鏈接重定向到應用的主頁。 – Lucy 2016-10-27 12:23:07

1

我有同樣的問題。 我的問題是我的應用程序名稱和戰爭文件名稱不同。 我已將war文件名更改爲我的應用程序名稱。

在這裏,當您的應用程序部署時,tomcat會自動提取具有相同名稱的war文件。在我的情況下,我的服務名稱是my-web-service(即https://localhost:8080/my-web-service/),我的war文件名是MY-java-connector-0.0.1-SNAPSHOT.war(這是我的項目文件夾名稱)。現在tomcat正在尋找my-web = service文件夾,它發現了epicor-java-connector-0.0.1-SNAPSHOT文件夾。所以將文件夾重命名爲my-web = service.war並且它正在工作。

2

我有同樣的問題,我的問題是,我通過SFTP將文件直接複製到tomcat的webapps目錄,這可能導致了輪詢問題導致它無法正確部署。 Tomcat監視webapps目錄,當它看到.xml文件時它會破解並執行它的操作,問題是可能所有內容都沒有被複制過。 :(

最好創建一個臨時文件夾,移動或複製戰爭到該文件夾​​,然後使用Linux mv命令將其移動到webapps - mv是原子,所以tomcat將不會做任何事情,直到操作完成。

魔法。

幸得一個非常非常隨機的職位,我在javarance發現這反過來又導致:http://pub.admc.com/howtos/tomcat/ch02.html#stagedir-section

希望這有助於別人:)

0

我曾與Tomcat的同樣的問題,只是固定它通過強制我的IDE創建一個web.xml文件。我失蹤了。它會部署該項目,但我仍然會遇到404錯誤。我閱讀了其中幾個教程,但無濟於事。我在某處閱讀web.xml文件需要正確配置。找到WEB-INF文件夾中的web.xml,並且沒有文件夾和web.xml文件。我做了一個關於如何創建使用我的IDE,然後用web.xml輸出編譯我的程序的快速谷歌,它爲我解決了這個問題。希望有所幫助。乾杯!

1

我也遇到了這個問題。

我的簡單迂迴解決方案是更改docBase路徑。當

docBase=".../tomcat/webapps/app_name.war"; 

問題

docBase=".../tomcat/webapps/app_foldername/web" 
0

FWIW解決我有這個問題,並通過發現我正在訪問錯誤的主機,如「http://wronghost:8080/why_is_this_war_not_there」所以如果說固定它發生

問題「 XX.war成功部署了「catalina.out/localhost。*。out,這可能是追隨者的一個暗示。