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

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

分享到微博請遵守國家法律
英吉沙县| 巴东县| 莱芜市| 鸡泽县| 鞍山市| 青铜峡市| 马公市| 中宁县| 郸城县| 博罗县| 大丰市| 微博| 丹巴县| 城市| 香格里拉县| 达日县| 准格尔旗| 高阳县| 岳普湖县| 普定县| 丰城市| 西丰县| 玉龙| 澄江县| 建阳市| 疏勒县| 渝北区| 肥西县| 南通市| 观塘区| 桃源县| 南和县| 个旧市| 开原市| 巢湖市| 兰州市| 金湖县| 高青县| 札达县| 库伦旗| 老河口市|