Spring Boot2.2.4版本启动项目时,访问登录接口显示页面不存在

问题触发场景: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目录,创建完成后顺利解决以上问题。

相关推荐
学长毕设17 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
zzu123zsw19 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
源码集结号19 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
字节探索1 天前
Spring Boot 接口幂等性设计:从唯一索引到 Redis+Lua 的工程实践
java·spring boot
胡写代码1 天前
删掉的数据还占着唯一键:逻辑删除 + 唯一索引的四次取舍
spring boot·后端
captain3761 天前
Spring MVC(4)-响应
java·spring boot·后端
CoderYanger1 天前
Java EE 进阶:5. Spring IoC&DI(第二弹):Spring IoC
java·开发语言·spring boot·spring·面试·职场和发展·java-ee
aiks_yuan1 天前
Spring Boot 4 注入 ObjectMapper 报找不到 Bean:升级 Jackson 3 的改法和过渡方案(4.1.2 实测)
spring boot
猿究院--Cu-Sn合金1 天前
Spring Boot + DeepSeek 求职 Agent 实践:工具注册、多轮调用与简历 JD 对比
数据库·人工智能·spring boot·后端·deepseek
MetaLite1 天前
Spring Boot 加了 @Valid,嵌套参数为什么还没校验?
java·spring boot·后端