关于tomcat服务器启动后访问localhost:8080报错500或者404的解决
一、問題描述
昨天安裝了tomcat9.0以后,嘗試啟動服務器,訪問localhost:8080測試是否啟動成功,結果提示404。有趣的是,在我刷新了一下頁面以后報錯又變成了500,錯誤提示主要內容就是說服務器中jsp不可用等等。具體說法我忘記截圖了,憑借我自己的記憶大致描述了一下。
二、原因及解決:
1、8080端口被占用
根據大部分我搜索到的說法,啟動服務器后仍然不能訪問localhost:8080的主要原因一般都是8080端口被占用,這種情況下釋放占用8080端口的應用,或者修改tomcat的默認端口號就可以解決。下面給出對于這種情況的具體解決方法:
8080端口被占用的解決方案:
1)、首先判斷原因是否是8080端口被占用
1、打開cmd命令行窗口,輸入netstat -aon|findstr “8080” 查看 8080 端口是否被占用;
如圖所示,第4列顯示LISTENING 即代表該端口被占用,第5列代表占用8080端口的進程代號
2、繼續輸入命令 tasklist|findstr “13704” (引號中輸入自己查詢出的數字編號)
圖中第1列代表占用該端口號的應用
注意:如圖所示是在我已經啟動tomcat服務器,還沒有關閉的情況下測試的。圖中顯示的java.exe 實際上應該就是指示的是tomcat服務器,因為在我關閉tomcat服務器后該占用就被解除了
如上圖所示,后面兩次輸入都是在我關閉tomcat服務器后進行的??梢钥吹竭@時占用8080端口的應用就變成了qq。實際上QQ對8080端口的占用對tomcat服務器的影響不大,因為這時我再次啟動tomcat服務器依然可以啟動成功,訪問localhost:8080可以正確顯示。
由此可以判斷是否是因為端口被占用導致啟動tomcat服務器成功,但是訪問localhost:8080失敗。針對這種情況,我們可以選擇終止進程來解除該應用對8080端口的占用。但是有時我們可能不確定終止該進程會造成的影響,所以比較建議的解決方案是修改tomcat的默認端口號。
這里我先給出終止進程的方法:
2)、終止進程的方法
1、在任務欄空白位置點擊鼠標右鍵,啟動任務管理器;
2、在任務管理器的進程欄中找到剛剛查詢到的進程;
3、點擊該進程,選擇右下角結束進程;
這時就已經結束該進程了,可以再次在cmd中檢查8080端口目前的占用情況,重新啟動tomcat服務器,訪問localhost:8080。如果還是訪問失敗,可以嘗試下面修改tomcat默認端口號的方法。
3)、修改tomcat默認端口號
首先找到tomcat的安裝目錄
1、用記事本打開 “安裝目錄\conf\server.xml”
2、左上角選擇編輯->替換,查找內容中輸入 8080 ,然后在“替換為:”后邊的文本框中輸入修改后的端口,如8090,然后選擇全部替換。
3、保存文件后,重新啟動Tomcat 服務,在瀏覽器中輸入 localhost:8090,成功顯示安裝的Tomcat的信息,問題解決!
如果在這一步中發現修改后的server.xml 文件無法保存,系統提示沒有足夠的權限,可能就是下面的原因。
2、系統權限不足
當tomcat 放在c盤下,就有可能會發生這種情況。這時,修改端口號無用,即使使用別的辦法修改成功,tomcat服務器也沒有辦法完全正常啟動。因為這時你會發現,即使最后顯示服務器已經啟動成功,前面的信息提示中也會夾雜幾個警告提示。這種情況下,訪問localhost:8080就會發生我剛開始所說的情況:開始報錯404,刷新后變成500,并且提示jsp文件錯誤。
這種情況下,我們就要修改tomcat文件夾的權限。
修改tomcat文件夾權限
1、右鍵點擊tomcat文件夾,選擇屬性->安全,選擇編輯;
2、點擊uesrs后,在下方完全控制一欄勾選允許,確定;
3、重新啟動tomcat 服務器;
如果這時訪問localhost:8080 成功,問題解決!
如果訪問再次失敗,就考慮修改默認端口號。
我在解決該問題的過程中,也看了不少資料,但是很多都只說了修改默認端口號這一種解決方法,但是卻不能解決我的問題。究其原因,就是我的問題是由于文件權限不足導致的,這也是我后來終于找到的一篇文章里面提到的。故此將多種解決方法總結成這篇文章。
在此附上一篇介紹端口相關的文章 netstat查看端口狀態
總結
以上是生活随笔為你收集整理的关于tomcat服务器启动后访问localhost:8080报错500或者404的解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言刷题:递归
- 下一篇: 【雷达】线性调频脉冲雷达仿真实验附mat