2014-03-18 121 views
0

在eclipse中開發的spring mvc應用程序中出現404錯誤:The requested resource is not available在eclipse中使用run as ... run on server對本地實例的tomcat 7進行測試。當應用程序啓動應用程序的根網址時,會顯示錯誤。在tomcat 7上運行的spring mvc應用程序404錯誤

我還沒有做過更改welcome.jsp或xml配置文件,因爲它最後工作。由於問題不在配置文件中,因此我不會通過添加它們來分散注意力。

另請注意,在eclipse控制檯中沒有錯誤日誌或堆棧跟蹤。

我怎樣才能讓我的應用程序加載而不拋出這個404?

注:我在下面給出自己的答案。事實證明,解決方案是右鍵單擊eclipse中服務器選項卡中的服務器實例,然後執行清理,然後發佈,然後再次運行...再次在服務器上運行,這會導致應用程序加載有意義的堆棧跟蹤,然後我很容易解決。正如我上面預測的那樣,這個問題是在eclipse中,它不是用配置文件。這是一個有效的問題。沒有必要降低投票或投票結束它。我希望它能幫助別人。

+1

請直接在問題中添加源代碼。 – Magnilex

+0

發佈您用來訪問您的應用程序的URL –

+0

@CodeMed是的,但直接在問題中發佈源代碼**。如果這些鏈接過時了,這個問題將變得毫無用處。 – Magnilex

回答

1

問題是在Eclipse的腐敗。因此,解決辦法是:

  1. 點擊服務器選項卡上的日食
  2. 右鍵單擊該服務器實例
  3. 擇洗乾淨
  4. 重複右鍵單擊服務器實例,然後選擇發佈
  5. 不運行的。 ..在服務器上運行的應用程序

這5個步驟導致應用程序加載一個有意義的堆棧跟蹤錯誤,其中涉及多餘的url在_someclassname_controller.java中映射我上次在Eclipse中工作時處於編輯過程中。當我解決堆棧跟蹤錯誤時,應用程序再次運行。

1

通常,您不會將您的html或jsp文件放在WEB-INF文件夾下。通常你的目錄結構看起來是這樣的:

[application root] 
| 
|_ index.html 
|_ index.jsp 
|_ media 
| |_ css 
| |_ js 
| | |_ jquery..js 
| |  
| |_ images 
|_ META-INF 
|  |_ context.xml 
|_WEB-INF 
     |_ classes 
     |_ lib 
     | |_ jed-1.0.jar 
     | |_ gson-2.2.4.jar 
     | |_ log4j-1.2.8.jar 
     | |_ mysql-connector-java-5.1.18.jar 
     |_ properties 
      |_ log4j_CONSOLE.properties 
      |_ log4j_FILE.properties 

因爲servlet容器正在尋找HTML或應用程序的根文件夾下的JSP頁面,沒有根據WEB-INF文件夾,你會得到一個404錯誤。此外,web.xml文件應包含類似下面的具體指向主頁:

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

你的web.xml不具備這一點。希望這可以幫助。

+0

@Alan這是不正確的,你可以使用「視圖解析器」在WEB-INF中放置視圖,這是非常常見的,我認爲這是出於安全原因(我不記得)。 – jenaiz

+0

正如我在想:http://stackoverflow.com/questions/6825907/why-put-jsp-in-web-inf – jenaiz

+0

@Alan +1我想出瞭解決方案,並張貼它作爲另一個答案,如果你有興趣。再次感謝您的幫助。我非常感謝你的時間。 – CodeMed

1

編輯(我已刪除了與ViewResolver的安裝部分)

我建議你的這些想法之一:

  • 請與Eclipse中你的Tomcat的安裝,並檢查您的更改在tomcat上正確發佈

  • 轉到您的項目的屬性,並檢查「部署程序集」,並檢查您在那裏看到的文件夾是否正常,某些ecli pse在這裏刪除一些路徑或不要鏈接到正確的「部署路徑」,你可以添加更多或編輯

  • 而最後一個:)。用tomcat菜單「玩一點」。有時對我來說,它的工作原理,清理服務器,或重新啓動或最大的一個:刪除網絡應用程序,清理,重新啓動tomcat,以確保應用程序不重新啓動(有些乾淨的工作不完美),並添加該應用程序再次。

我希望這些東西有序。 (沒有看到設置或檢查你的日食內的一些東西很難想象更多)

+0

@CodeMed如何使用eclipse部署應用程序?爆炸或不爆炸?你確定你的eclipse部署是找到jsp文件嗎?這可能是因爲你的eclipse部署做得不好,這就是它無法找到文件的原因。 – jenaiz

+0

+1,試圖深入瞭解這一點。我現在會嘗試你的新建議。我剛剛嘗試了ViewResolver的更改,eclipse給了我一個tomcat 7無法啓動的錯誤,這可能與您的建議無關,因爲我最近遇到了該錯誤。我認爲在我的設置中發生了一些變化,無論是在我的應用程序的其他地方還是在tomcat中。我只是不知道該看什麼或在哪裏看。現在嘗試你的新想法。 – CodeMed

+0

如果您有興趣,我想出解決方案並將其作爲另一個答案發布。再次感謝您的幫助。我非常感謝你的時間。如果我能+2,我會的。 – CodeMed

相關問題