当前位置:   article > 正文

IDEA中运行SpringBoot+JSP项目,JSP页面无法访问问题_idea2022 springboot jsp file [/index.jsp] not foun

idea2022 springboot jsp file [/index.jsp] not found

错误如下:

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


在网上搜罗了很多很多资料后,才发现原来与idea创建工程的方式有关, 假设你的code目录如下:

  1. learn-springboot
  2.     |
  3.     --- module1 (这是我们要运行的springboot+jsp项目)
  4.     |
  5.     --- 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文件找不到问题

  1. @Configuration
  2. public class TomcatConfig {
  3.     @Bean
  4.     public EmbeddedServletContainerFactory embeddedServletContainerFactory() {
  5.         ConfigurableEmbeddedServletContainer factory = new TomcatEmbeddedServletContainerFactory();
  6.         factory.setDocumentRoot(new File("D:\\Study\\learn-springboot\\module1\\src\\main\\webapp\\"));
  7.         return (EmbeddedServletContainerFactory) factory;
  8.     }
  9. }


原文:

https://blog.csdn.net/op_violet/article/details/79093328 
侵删。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/271432?site
推荐阅读
相关标签
  

闽ICP备14008679号