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刪除虛擬路徑名
重啟伺服器執行專案,至此問題解決