SpringBoot WEB-INF目錄下檔案無法訪問一種解決方案
阿新 • • 發佈:2019-01-02
平時都好用的百度 沒搜尋到直接的解決方案,查閱資料提供一種方案 實驗可行
廢話不多說
上圖專案index.html位置 至於為什麼將資源放在WEB-INF目錄下 是不是更安全?
如果你怎麼也訪問不到 ,不妨試試我想到的方法
這是我的控制器寫法 直接request物件轉發進入WEB-INF目錄
但是這樣配置會發現沒有用?!我猜測可能是.html字尾被DispatcherServlet攔截了@Controller public class IndexController { private static final Logger log = LoggerFactory.getLogger(IndexController.class); @RequestMapping(value = "/index") public void index(HttpServletRequest request, HttpServletResponse response) { log.info("首頁"); try { request.getRequestDispatcher("/WEB-INF/index.html").forward(request, response); return; } catch (ServletException | IOException e) { e.printStackTrace(); } } }
檢視解析器前後綴我嘗試了 沒成功 我再試試
直接上解決方案:開啟DefaultServlet來放行.html字尾 不知道我的理解對不對
為了醒目起見 最重要一點 這個配置類需要能被掃描到 意思是這個類需要在啟動類同一個包或者子包下 例如:
啟動類在com.xxx.yyy下那這個類如果不開啟掃描 路徑Wiecom.xxx.yyy............MyWebMvcConfig就可以直接使用了
@Configuration @EnableWebMvc public class MyWebMvcConfig extends WebMvcConfigurerAdapter{ @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { configurer.enable(); } }