五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

案例分析:記一次springMVC報詭異404的事故

2022-06-08 09:59 作者:做架構(gòu)師不做框架師  | 我要投稿


引言

早上剛到公司,測試小伙伴就在群里瘋狂@我說:“小米,測試環(huán)境的訂單列表查不到數(shù)據(jù)了,昨天還是正常的,今天就突然沒有了”,我說:“別急,讓我看看先”……

定位問題

打開電腦,打開瀏覽器,打開網(wǎng)頁訪問測試環(huán)境的訂單列表,然后按“F12”,看下network,點(diǎn)了下功能,發(fā)現(xiàn)有“/store/storeInfo”接口報“404”錯誤,一般情況下,報404錯誤是因?yàn)闆]有創(chuàng)建該接口,但我搜索了代碼發(fā)現(xiàn)是一個2021年的老接口,應(yīng)該不存在404的問題。

包名+類名重復(fù)

想了想,測試小伙伴說的話中有一句很關(guān)鍵“昨天正常,今天突然沒有了”,我看了下git提交記錄,發(fā)現(xiàn)有一個小伙伴昨天剛提交了“StoreController”,這個類不在這個微服務(wù)中,但這個微服務(wù)會引用這個類所在的jar包,而且很巧的是包名一致,都是“com.xxx.store.StoreController”,我讓同事把這個類刪掉,把新增的方法放到原來的類中,重啟測試服務(wù),搞定。

源碼剖析

springMVC最核心的類是DispatcherServlet,在這個類的初始化的時候會調(diào)用“initHandlerMappings()”方法初始url和controller的映射關(guān)系。

在這里,我們發(fā)現(xiàn)matchingBeans有以下6個mapping,因?yàn)槲覀冊赾ontroller里一般都是以“RequestMapping”做映射,所以我們以該類去分析。

綁定url和controller關(guān)系

在這個類中有一個方法“registerHandlerMethod”是綁定url和controller類的關(guān)系,打斷點(diǎn)如下面4個圖所示,發(fā)現(xiàn)只有我們新創(chuàng)建的類而沒有原來的類,說明storeController被覆蓋了,至此真相大白。

建議

即使在不同的jar包下,包名+類名的組合不要重復(fù),以免出現(xiàn)類被覆蓋的情況。

END

好兄弟可以點(diǎn)贊并關(guān)注我的公眾號“javaAnswer”,全部都是干貨。




案例分析:記一次springMVC報詭異404的事故的評論 (共 條)

分享到微博請遵守國家法律
仁化县| 昌江| 梁河县| 陈巴尔虎旗| 凤庆县| 乐业县| 绥宁县| 确山县| 溧水县| 永清县| 大关县| 鹿邑县| 安多县| 寿宁县| 乐东| 四子王旗| 甘孜县| 仙居县| 永嘉县| 和田县| 武鸣县| 丹东市| 长武县| 周宁县| 社旗县| 图木舒克市| 湛江市| 额济纳旗| 临澧县| 永平县| 安塞县| 长丰县| 弥勒县| 鄂尔多斯市| 赤壁市| 榆中县| 鄂托克旗| 邵东县| 子洲县| 栾城县| 双城市|