首页 > 解决方案 > 无法在 Spring Boot 应用程序中提供 JSP

问题描述


我已经尝试了几个教程来使用 Spring Boot 提供 JSP 页面。它们都返回 404 page not found 错误。为了克服已知的限制,我使用了 WAR 包装,具有以下依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
</dependency>

我已经定义了 JSP 页面在 application.properties 中的路径:

spring.mvc.view.prefix= /WEB-INF/jsp/
spring.mvc.view.suffix= .jsp

请求 JSP 页面时,会显示以下 WARN:

WARN 10251 --- [io-8080-exec-11] o.s.w.s.r.ResourceHttpRequestHandler     : Path with "WEB-INF" or "META-INF": [WEB-INF/jsp/hello.jsp]

Spring Boot 2 中是否已弃用 JSP?你有 JSP 的 Spring Boot 2 工作示例吗?

标签: spring-bootspring-mvc

解决方案


您能像这样尝试在您的依赖项中添加范围吗

<dependency>
   <groupId>org.apache.tomcat.embed</groupId>
   <artifactId>tomcat-embed-jasper</artifactId>
   <scope>provided</scope>
</dependency>

推荐阅读