最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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的事故的評論 (共 條)

分享到微博請遵守國家法律
云梦县| 嘉定区| 砀山县| 台前县| 郸城县| 应城市| 阳山县| 临漳县| 门头沟区| 高要市| 宁都县| 青海省| 米泉市| 宜章县| 乌拉特中旗| 广汉市| 海盐县| 祁东县| 安泽县| 桂东县| 兴隆县| 武功县| 福贡县| 海丰县| 东乌珠穆沁旗| 乌海市| 汉寿县| 淮北市| 永泰县| 平远县| 九龙坡区| 德格县| 郁南县| 花垣县| 永平县| 綦江县| 页游| 河南省| 塘沽区| 玉溪市| 德兴市|