1. 程式人生 > >tomcat啟動成功,訪問主頁失敗的一種原因

tomcat啟動成功,訪問主頁失敗的一種原因

                如果在 網上搜一圈“tomcat啟動成功,當輸入http://localhost:8080報404錯誤”。有說檢視日誌定位問題的,有說檢查埠有沒有衝突,建議去server.xml修改埠的;有建議在cmd命令中輸入netstat -ano檢視tomcat埠是否已經被使用的;也有說環境變數配置有問題的。

         這些可能都是對的,但還有一種情況容易被忽視:tomcat,webapps目錄下沒有ROOT資料夾!

         有經驗的人看到這個可能會淡淡的一笑。但對於不知道tomcat啟動,輸入http://localhost:8080預設進入的是$tomcat/webapps/ROOT路徑的人來說,很容易就忽視這個問題。

至於需不需要環境變數,你可以開啟$tomcat/bin下面的startup.bat檔案,檢視它裡面的內容,如果能夠看到:

 set "CURRENT_DIR=%cd%
      if not "%CATALINA_HOME%" == "" goto gotHome
    set "CATALINA_HOME=%CURRENT_DIR%"
說明tomcat在啟動的時候會去自動配置環境變數,所以完全不用自己再去做配置了。(tomcat5及以上都已經在startup.dat裡面做了配置。)

   那麼為什麼使用tomcat必須要配置java環境變數呢?

1)tomcat只是承載程式的伺服器,

 具體對程式的執行還是需要jdk的。

      2)startup.bat要呼叫catalina.bat 而catalina.bat執行要用到JAVA_HOME環境變數(可以自己去檢視檔案)。

    而至於網上建議netstat -ano檢視埠,然後taskkill命令終止程序的來解決埠已使用問題,通常完全沒有必要,只需要shutdown.bat下就ok了。在myeclipse啟動tomcat,報"Unrecognized Windows Sockets error: 0:JVM_Bind"也一樣(都是埠已被使用)。因為可能只是你在其他地方已經啟動了tomcat。