spring boot 的request.getServletContext().getRealPath路徑獲取問題


默認情況下springboot中request.getServletContext().getRealPath 返回的是一個臨時文件夾的地址

通過查看源代碼 位置在

org.springframework.boot.context.embedded.AbstractEmbeddedServletContainerFactory#getCommonDocumentRoot

 

private File getCommonDocumentRoot() {
        for (String commonDocRoot : COMMON_DOC_ROOTS) {
            File root = new File(commonDocRoot);
            if (root.exists() && root.isDirectory()) {
                return root.getAbsoluteFile();
            }
        }
        return null;
    }
private static final String[] COMMON_DOC_ROOTS = { "src/main/webapp", "public",
            "static" };

可以看到springboot 會嘗試讀取COMMON_DOC_ROOTS 配置里面的路徑,所以我們只需要在springboot 所在的jar 或者項目所在的根目錄下新建一個public或者static的文件夾,那么通過 request.getServletContext().getRealPath 就會得到public或者static的路徑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM