在/* URL 模式上映射全域前端控制器Servlet,例如Spring MVC 調度程序提供處理傳入請求的集中控制。但是,此對應可能會幹擾對靜態資源(例如 CSS 檔案、JavaScript 腳本和圖片)的存取。
要解決此問題,需要採取多方面的方法:
在過濾器的 doFilter() 方法中,實作以下邏輯:
HttpServletRequest req = (HttpServletRequest) request; String path = req.getRequestURI().substring(req.getContextPath().length()); if (path.startsWith("/static")) { chain.doFilter(request, response); // Goes to default servlet. } else { request.getRequestDispatcher("/pages" + path).forward(request, response); }
這個過濾器允許在不更改瀏覽器網址列的情況下提供靜態資源。此外,您可以透過使用篩選器中的初始化參數來自訂「/static」和「/pages」路徑。
以上是使用映射到 /* 的全域前端控制器 Servlet 時如何提供靜態資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!