IDEA 中运行SpringBoot+JSP项目 页面404

本文介绍了在IDEA中运行SpringBoot+JSP项目时遇到404错误的原因,指出错误与IDEA工程创建层级有关。详细分析了两种不同层级下IDEA生成的Tomcat目录结构,以及Eclipse的不同表现。提供了两种解决方案:通过mvn spring-boot:run启动模块,或者在模块内添加特定配置类。这些方法能有效解决jsp文件找不到的问题。
摘要由CSDN通过智能技术生成

错误如下: 404

Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
 
Thu Jan 18 11:01:36 CST 2018
There was an unexpected error (type=Not Found, status=404).
/WEB-INF/jsp/index.jsp

原因是 与idea创建工程的方式有关


learn-springboot
    |
    --- module1 (这是我们要运行的springboot+jsp项目)
    |
    --- module2

如果你将idea工程创建在learn-springboot这一级, 

在IDEA中运行module1时,在C:\Users\xxx\\AppData\Local\Temp这个目录下,会生成两个tomcat目录

其中, tomcat.xxxx.port这个目录下没有自动生成jsp java和class文件。

但是如果将idea工程建在module1这一级,

在IDEA中运行module1时,在C:\Users\xxx\AppData\Local\Temp这个目录下,只会生成tomcat.xxxx.port一个目录,而且当你在IE中访问时,在这个路径下会生成相应jsp java和class文件,相应的jsp文件也可以访问到,不会出现异常

在eclipse里运行没有异常,eclipse运行时只会生成tomcat.xxx.port目录,并且会自动生成jsp java和class文件。

其实,知道这一点,已经可以解决我的问题了。但是对于这个问题,中间还查到了其他的解决方式,也一并总结在这里吧。

1. 进入module1目录,使用mvn spring-boot:run方式启动,不会出现jsp文件找不到问题

2. 在module1中,增加如下配置类,也可以解决jsp文件找不到问题 (springboot 前后分离案例 www.1b23.com)

//www.1b23.com
@Configuration
public class TomcatConfig {
    @Bean
    public EmbeddedServletContainerFactory embeddedServletContainerFactory() {
        ConfigurableEmbeddedServletContainer factory = new TomcatEmbeddedServletContainerFactory();
        factory.setDocumentRoot(new File("D:\\Study\\learn-springboot\\module1\\src\\main\\webapp\\"));
        return (EmbeddedServletContainerFactory) factory;
    }
}
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

简单的解决方法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值