1. 程式人生 > >SpringBoot WEB-INF目錄下檔案無法訪問一種解決方案

SpringBoot WEB-INF目錄下檔案無法訪問一種解決方案

平時都好用的百度 沒搜尋到直接的解決方案,查閱資料提供一種方案  實驗可行

廢話不多說

上圖專案index.html位置  至於為什麼將資源放在WEB-INF目錄下  是不是更安全?


如果你怎麼也訪問不到 ,不妨試試我想到的方法

這是我的控制器寫法 直接request物件轉發進入WEB-INF目錄

@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();
		}
	}

}
但是這樣配置會發現沒有用?!我猜測可能是.html字尾被DispatcherServlet攔截了

檢視解析器前後綴我嘗試了 沒成功  我再試試

直接上解決方案:開啟DefaultServlet來放行.html字尾 不知道我的理解對不對

    為了醒目起見  最重要一點 這個配置類需要能被掃描到  意思是這個類需要在啟動類同一個包或者子包下 例如:

啟動類在com.xxx.yyy下那這個類如果不開啟掃描   路徑Wiecom.xxx.yyy............MyWebMvcConfig就可以直接使用了

 @Configuration
@EnableWebMvc
public class MyWebMvcConfig extends WebMvcConfigurerAdapter{

    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

    
}