问题触发场景:IDEA 2023.3.4 SpringBoot 2.2.4
上面4张图片分别是项目结构、Spring Boot启动配置、SpringMVC配置和页面展示在项目中存放的位置,表面上看上去没有太大问题,项目应该会达到预期结果,但是bug总是在不经意间出现,当我访问后端登录接口的时候,却显示404并且显示/pages/login.jsp不存在!!!
解决方案:1.开启debug日志
第一时间的我是先看了控制台打印信息,但是根本不知道哪里出了问题,后来干脆点直接开启debug日志将所有的信息都打出来。
当开启debug日志,程序的一举一动都打印在了控制台,展示出的信息如下图
当看到日志信息的时候,首先会看到RealPath这一项的值,这个值就是实际要访问到的路劲,但是想了想这个路径应该是项目路劲对应webapp下的\pages\login.jsp,结果却是临时生成的文件夹,这个时候迎来第二个问题是哪里设置的这个文件夹?
经查阅相关技术文章:
Spring Boot内嵌tomcat关于getServletContext().getRealPath获取得到临时路径的问题_getservletcontext.getcontextpath获取不到项目路径-CSDN博客
在Spring Boot配置的文件夹下要有这三个文件夹,如果没有就会生成临时文件夹,以下是相关代码
解决这个问题首先需要在Spring Boot启动的时候设置工作路径,因为我IDEA版本是2023.3.4版本所以需要添加其他项,如下图
将工作目录设置为当前工作目录后需要在这个目录下分别有src/main/webapp、public和static目录,创建完成后顺利解决以上问题。