Spring Boot内嵌Tomcat环境下JSP文件无法在浏览器渲染求助
Spring Boot JSP无法渲染的解决方案
针对你的问题,控制台能打印Inside home说明控制器方法已执行,但JSP不渲染,可按以下步骤排查修复:
1. 补充JSP相关依赖
Spring Boot默认不包含内嵌Tomcat的JSP解析依赖,需在pom.xml中添加:
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency>
2. 调整JSP文件存放位置
Spring Boot对JSP的存放路径有严格要求,需将index.jsp移动到src/main/webapp/WEB-INF/jsp/目录下(若目录不存在则手动创建)。
3. 配置视图解析器
在application.properties中添加视图解析规则,让Spring能正确定位JSP文件:
spring.mvc.view.prefix=/WEB-INF/jsp/ spring.mvc.view.suffix=.jsp
4. 修改控制器返回值
控制器直接返回index.jsp会被当成字符串响应,需改为返回视图名称,让视图解析器自动拼接路径:
@Controller public class HomeController { @RequestMapping("/") public String home(){ System.out.println("Inside home"); return "index"; // 去掉.jsp后缀,由视图解析器补充 } }
额外注意事项
- 若使用jar包打包,Spring Boot对JSP的支持有限,建议将打包方式改为war(在
pom.xml中设置<packaging>war</packaging>)。 - 确保
src/main/webapp目录被IDE正确识别为web资源目录,若未识别可手动在IDE中配置。
内容的提问来源于stack exchange,提问作者kaushiksarangi26
相关产品推荐
相关产品推荐

