Spring Boot应用中JSP自动下载而非显示内容的问题解决
解决Spring Boot访问JSP自动下载的问题
问题核心原因
tomcat-embed-jasper依赖的scope设为provided,导致Spring Boot运行时无法加载JSP解析组件,服务器将JSP识别为普通静态资源直接下载。- 需确认JSP文件存放路径是否与配置匹配。
具体修复步骤
1. 调整pom.xml依赖配置
将tomcat-embed-jasper的scope移除(默认即为compile),保证运行时环境包含JSP解析依赖:
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <!-- 删除scope="provided" 或改为compile --> </dependency>
2. 确认JSP文件存放路径
根据application.properties中spring.mvc.view.prefix=/views/的配置,JSP文件必须放在项目的src/main/webapp/views/目录下(若没有webapp目录需手动创建),确保home.jsp的完整路径为src/main/webapp/views/home.jsp。
3. (可选)添加JSTL依赖(若使用JSTL标签)
如果JSP中需要使用JSTL标签库,补充以下依赖:
<dependency> <groupId>jakarta.servlet.jsp.jstl</groupId> <artifactId>jakarta.servlet.jsp.jstl-api</artifactId> </dependency> <dependency> <groupId>org.glassfish.web</groupId> <artifactId>jakarta.servlet.jsp.jstl</artifactId> </dependency>
验证修复
修改完成后重新启动应用,访问http://localhost:9091/home,即可正常渲染JSP页面内容。
内容的提问来源于stack exchange,提问作者jack_sparrow
相关产品推荐
相关产品推荐

