当前位置: 首页 > news >正文

解决JSP框架的程序无法找到前端页面的问题

$MODULE_WORKING_DIR$

IntelliJ IDEA 中的一个内置变量(System Property),它代表当前模块(Module)的工作目录(Working Directory)


✅ 为什么加了$MODULE_WORKING_DIR$就能正常使用了?

🌟 核心原因:

Spring Boot 内嵌 Tomcat 在加载webapp目录时,需要正确的“工作目录”来定位静态资源、JSP 文件等。如果工作目录设置错误,会导致 JSP 找不到 → 404。

$MODULE_WORKING_DIR$正好指向了你的项目根目录,确保了:

  • src/main/webapp能被正确识别
  • JSP 文件路径解析正确
  • 静态资源(CSS/JS)也能正常访问

🔍 详细解释

1.什么是Working directory

在运行 Java 应用时,JVM 会有一个“当前工作目录”,用于:

  • 解析相对路径(如./webapp
  • 加载配置文件(如application.properties
  • 查找资源(如 JSP、HTML)

如果这个目录设置错了(比如设成了target/classes),那么 Spring Boot 的内嵌容器就无法找到webapp下的 JSP 文件。


2.默认值是什么?

如果你不设置Working directory,IDEA 默认使用:

project root

但有些情况下(尤其是多模块项目),IDEA 可能会自动设为某个子目录或target目录,导致路径错乱。


3.$MODULE_WORKING_DIR$是什么?

这是一个IDEA 内置的变量,它的值是:

当前模块(Module)的根目录,即pom.xml所在的目录。

例如:

C:\workspace\ciecc-gm-greenmall

✅ 这正是你期望的:让 Spring Boot 从项目根目录开始查找src/main/webapp


4.为什么之前不行?

可能的原因包括:

  • 工作目录被设置成了target/classesbuild等编译输出目录
  • 多模块项目中,IDEA 自动选择了错误的模块作为启动上下文
  • 没有显式指定工作目录,导致 JVM 使用了不正确的默认路径

5.$MODULE_WORKING_DIR$的作用

当你设置了:

Working directory: $MODULE_WORKING_DIR$

IDEA 会在运行时将实际路径替换为:

C:\your-project-root

这样:

  • src/main/webapp就在working dir/src/main/webapp
  • Spring Boot 启动时能正确扫描并部署 JSP 文件
  • 访问/hello时,能匹配到WEB-INF/jsp/hello.jsp

✅ 实际效果对比

表格

设置结果
Working directory: (空)可能默认为target/classes→ JSP 找不到 → 404
Working directory: .相对路径,可能不准确
Working directory: $MODULE_WORKING_DIR$✅ 指向项目根目录 → JSP 正常加载

💡 补充建议

1.推荐始终使用$MODULE_WORKING_DIR$

无论是否用 JSP,都建议设置:

Working directory: $MODULE_WORKING_DIR$

避免路径问题。

2.配合其他配置

  • 确保pom.xml<packaging>war</packaging>
  • 主类继承SpringBootServletInitializer
  • 使用Tomcat Server配置而非直接 run main(更稳定)

📌 总结

$MODULE_WORKING_DIR$是一个“魔法变量”,它告诉 Spring Boot 从哪里开始查找资源(如 JSP)。
加上它后,工作目录被正确设置为项目根目录,从而解决了 JSP 404 的问题。

这是 IntelliJ IDEA 提供的一种强大机制,让你无需手动输入路径,就能保证运行环境的一致性。


如果你还遇到类似问题(如静态资源找不到),也可以检查这个字段是否正确设置。

http://www.jsqmd.com/news/361456/

相关文章:

  • 万物皆有意义:活出个体精彩与意义信仰的实践框架
  • AbMole小讲堂丨Luteolin(木犀草素):一种具有抗炎、抗氧化、抗肿瘤活性的天然产物及其科研应用
  • 收藏备用|Java程序员转AI大模型指南:零弯路转型,解锁职场新赛道
  • 2026年玻璃极窄门TOP5品牌综合评测与选型指南 - 2026年企业推荐榜
  • 2000-2024年 上市公司-重污染行业分组数据 (+文献)
  • 如何通过 5 种有效方法同步 Android 和 Mac
  • 意义视角下的终极追问:善恶、命运与存在的深层逻辑
  • 云翼超算 全球领先自主知识产权新一代非线性数字化仿真软件
  • 2026 年 IT 转行别再选错!网络安全才是真正的黄金赛道
  • 2026年靠谱的心理咨询室仪器/心理咨询室产品系统热门型号选购指南 - 行业平台推荐
  • 如何安全轻松地出售损坏的 iPhone
  • 研究生救星!2026实测AI论文生成软件榜单,这5款直接封神
  • 揭秘CANN算子仓库:从基础算子到AIGC性能突破的实战之路
  • 新手也能上手!降AIGC软件 千笔AI VS 云笔AI,本科生专属神器
  • 协助医疗机构,提升医疗行业界面水平
  • 2026年2月四川石灰/生石灰/熟石灰/氢氧化钙/氧化钙生产厂家可靠性评估及核心推荐指南 - 2026年企业推荐榜
  • 基于vue+springboot的在线教育平台 课程作业考试系统的设计与实现
  • 2026年口碑好的伺服压力机/伺服螺旋压力机怎么选直销厂家价格参考 - 行业平台推荐
  • 零基础如何学网络安全?超详细攻略,带你从入门到精通
  • 2026年评价高的304不锈钢压力桶/大容量压力桶销售厂家推荐哪家好(真实参考) - 行业平台推荐
  • HBuilderX 安装教程(非常详细),零基础从入门到精通,一篇就够了
  • 2026年热门的恩施装修全屋定制/恩施装修设计怎么联系供应商推荐 - 行业平台推荐
  • 基于vue+springboot的电影推荐和评分系统的设计与实现
  • 2026年遂宁生态涂料/乳胶漆/石膏/腻子粉/装饰线条/防水材料行业TOP5品牌评选报告 - 2026年企业推荐榜
  • 装机小白必备!这个3D可视化工具让DIY组装电脑变得超简单
  • 2026年上海短视频代运营实力工厂参考哪家靠谱(高评价) - 行业平台推荐
  • 基于vue+springboot的自行车分享平台 骑行爱好者交流平台
  • 基于SpringBoot的影院购票管理系统毕设源码
  • 详细介绍:FFmpeg性能优化经典案例
  • 手游防DDoS攻击SDK