关于idea启动springboot项目时jsp页面出现404问题的原因及解决措施

前提概要:

  1. 最近使用springboot搭建聚合项目时遇到需要用jsp做视图的场景,在web层的pom.xml中已经引入了jsp的相关依赖:
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
        </dependency>
  1. 启动的main方法所在的项目不是maven的顶级项目(我这里是web层项目,jsp视图所在的项目,顶级项目是XXX-parent)

问题场景

  • 当该项目是通过eclipse搭建并启动时,并不会出现标题中所讲的问题;
  • 然而,当该项目是通过idea开发工具搭建并启动的情况下,在加载jsp页面时会出现404状态提示:
    浏览器加载页面时的404提示

原因

简单来说就是在idea里启动项目后,
如果SpringBoot在子模块,直接main启动子模块会在C:\Users{用户名}\AppData\Local\Temp这个目录下,会生成tomcat目录,但是如果翻看tomcat目录,会发现在目录里没有自动生成jsp的java和class文件.什么都没有;
而eclipse会自动生成jsp的java文件和class文件,这就造成了上述的问题场景。

解决措施

在Run/Debug Configurations面板中设置该程序的Working Directory选项为程序目录为$MODULE_WORKING_DIR$,如下:
在这里插入图片描述
此时再次访问能跳转jsp页面url,会发现jsp页面已经能成功渲染出来了,而且再次翻看C:\Users\{用户名}\AppData\Local\Temp中最新生成的tomcat目录内容,能看到已经编译出jsp的相关文件了:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章