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

    
}

 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值