現象
首頁地址在短時間內被重複請求 3 次以上,次數不定。配置了 `mvc:default-servlet-handler`、`viewResolver`、`multipartResolver` 等。
根因
頁面中存在 `
` 或 `` 等**空片段標識符**。瀏覽器解析時會對 `src="#"` 發起請求,目標為**當前頁面 URL**,導致控制器被重複調用。
驗證方法
- 打開瀏覽器開發者工具 Network 面板,觀察請求 URL 與 Initiator。
- 過濾圖片類型,查看是否有請求指向首頁 HTML。
解決方案
- 移除佔位圖片的 `src="#"`,改用 `src=""` (不發請求) 或真實佔位圖 URL。
- 或用 CSS 背景圖替代 `
` 標籤。
- 若必須保留 `href="#"`,JS 阻止默認行為:``。
提問者自述
「自己最後解決了,原因是我之前有圖片沒有弄上,用 # 號代替的,結果它也進行網絡請求了。」
補充:SpringMVC 配置優化
配置中 `` 已將靜態資源交給容器默認 Servlet 處理,**動態請求才進 DispatcherServlet**。但 `src="#"` 請求的是動態頁面本身,故仍進入控制器。