【IDEA】HTML通過servlet3.0註解名提交表單到servlet類找不到頁面的問題

Minos_t發表於2020-07-26

IDEA一時爽,摸不著頭的BUG火葬場

這個問題困擾我整整一天一夜,先是程式碼檢查路徑設定找不出問題,後面換tomcat版不行,抱著僥倖心理換IDEA版本意料之中還是沒解決問題。

都快想禿了最後終於完美解決了。

場景描述:

  IDEA中新建web專案

  tomcat正常

  HTML通過XML配置檔案提交表單正常

  當HTML通過Servlet註解名提交表單時404

 

問題分析:

  通常404是路徑出現問題,此時第一反應是form中action值和servlet註解值出錯,檢查後

屬性值匹配。檢查遊覽器訪問路徑最終找到問題出在啟動虛擬路徑上。

  

 

 

如圖訪問login.html時是通過  /test 這個虛擬路徑訪問的。但是提交表單後遊覽器中虛擬路徑

消失而是直接通過servlet註解名提交表單資料,見圖:

 

 

 

 

明白這裡解決問題就簡單了,想到的有兩種解決方法:

  方法一:給servlet註解加上虛擬路徑(沒啥意義) 

  方法二:配置Tomcat的Deployment把Application context後面的虛擬路徑名刪除(推薦)

 

方法二細節:

  1.Run->Edit Configuration

  2.點選Deployment

    

 

 

  3.找到Application context刪除虛擬路徑名

 

    

 

重啟伺服器執行專案,至此問題解決

 

 

 

 

  

相關文章