温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

IDEA 中运行SpringBoot JSP项目,JSP页面404问题

发布时间:2020-07-18 13:01:57 来源:网络 阅读:308 作者:fhspringcloud 栏目:编程语言

错误如下:

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).

与idea创建工程的方式有关, 假设你的code目录如下:

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文件找不到问题

@Configuration
// from www.1b23.com
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;
    }

}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI