點選<a href>標籤無法跳轉到servlet的問題

我不愛挽風丶丶發表於2020-11-23

昨天一個小問題搞了好久,在睡前還在想是啥原因,前幾分鐘才解決。必須得記錄一下。
需求是這樣的:後臺註冊時發一封郵件給客戶郵箱,然後讓客戶在郵箱啟用。

邏輯:需要一個JavaMail的工具類,還需要自己手動傳送資訊開啟STMP服務,獲得授權碼。(預期是點選啟用,跳轉到一個簡單頁面,然後點登入的超連結跳轉到登入頁面)
問題:點選啟用之後不跳轉,後臺沒一點反應!出現了下面的情況在這裡插入圖片描述
在這裡插入圖片描述
解決:
①對照servlet的url有沒有錯,嗯,複製過去的沒錯
②看路徑後面追加了一個code這也應該沒啥問題的,美滋滋的去後臺打斷點,發現servlet都進不去,撲街;依稀記得<a href="xxxx.html"></a>的這種提交方式,預設是get提交,然後去百度了一下果然是!
③你把程式碼寫在doPost()方法中,然後又是呼叫的是doGet()方法,明顯不行,所以在doGet()中加上一行程式碼:doPost(request, response);
④然後再次測試發現還是不行,拒絕訪問,後臺沒啥問題,那肯定是路徑有問題了,檢查發現是絕對路徑啊,老鐵沒毛病。絕對路徑+servlet名字+字串……先不跑專案試出來再說……
難道是沒加埠號?加上!發現跳轉成功了。
在這裡插入圖片描述
⑤然後趕緊去後臺傳送啟用郵件那裡加上埠號。去郵箱點選啟用不行,滑鼠懸停上去沒埠號,一看是昨天的郵件,新發了一封啟用郵件,嗯,啟用成功。

總結:人不經常敲著程式碼真的會變笨,這也要卡我!
跑程式碼前自問:
湯姆貓起了嗎?
後臺程式碼有沒有問題?比如說url?左斜槓有沒有?
href預設是get哦?你寫在post你的servlet有沒有在get呼叫post???
別人使用者要點進你的專案是要絕對路徑的!埠、專案名、具體Servlet什麼亂七八糟的全都要加上。

相關文章