You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle构建的Spring Boot项目JSP页面被下载而非渲染如何解决?

问题原因
  • 依赖类型引入错误:当前引入的org.apache.tomcat:tomcat-jasper是外置Tomcat使用的JSP解析依赖,Spring Boot 内置Tomcat运行需要使用tomcat-embed-jasper依赖,缺少正确依赖会导致JSP无法被服务端解析,直接以二进制文件形式返回给浏览器触发下载。
  • 依赖版本不匹配:手动指定的tomcat-jasper:9.0.31和Spring Boot 2.5.6内置的Tomcat 9.0.54版本不兼容,进一步导致解析逻辑失效。
  • 路径匹配问题:如果src/main/webapp/view/目录下不存在和Controller返回值一致的Home.jsp文件(大小写完全匹配),也会出现资源直接下载的问题。
解决步骤
  1. 修正build.gradle依赖配置,删除原有的tomcat-jasper依赖,替换为内置Tomcat对应的JSP解析依赖,不需要手动指定版本,由Spring Boot依赖管理自动匹配兼容版本:
dependencies {
    // 其余原有依赖保持不变
    implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
    implementation 'javax.servlet:jstl'
}
  1. 校验JSP文件存放路径:确保src/main/webapp/view/Home.jsp文件存在,文件名大小写和Controller中返回的"Home"完全一致。
  2. 调整项目运行方式:Spring Boot 打Jar包默认不支持JSP解析,开发阶段使用gradle bootRun命令启动项目,生产环境需要将项目打成War包部署到外置Tomcat中运行。
  3. 清理旧构建产物重新启动:修改完成后执行gradle clean命令清理历史构建缓存,重新启动项目即可正常渲染JSP页面。

内容的提问来源于stack exchange,提问作者vishwa_001

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:24:03