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

Spring Boot MVC中HTML正常访问但JSP返回Whitelabel错误如何解决

修复步骤

  • 调整JSP文件存放路径
    static目录为Spring Boot默认的静态资源存放目录,仅提供静态资源访问,不会解析JSP这类动态视图。你需要在src/main路径下新建webapp/WEB-INF/jsp目录,将所有JSP文件移动到该目录下。
  • 新增视图解析器配置
    在application.properties(或application.yml)配置文件中添加如下配置,指定JSP文件的路径映射规则:
spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

配置完成后,Controller返回的视图名会自动拼接上述前后缀,定位到对应JSP文件。

  • (可选)添加JAR包运行适配配置
    如果项目需要打成可执行JAR包部署运行,需要在pom.xml的build节点中添加资源拷贝规则,将JSP文件打包到正确的类路径下:
<build>
    <resources>
        <resource>
            <directory>src/main/webapp</directory>
            <targetPath>META-INF/resources</targetPath>
            <includes>
                <include>**/**</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
    <!-- 原有插件配置保留 -->
</build>

替代方案(用HTML实现动态逻辑)

如果不想使用JSP,可改用Spring Boot官方推荐的Thymeleaf模板引擎,它支持原生HTML格式的模板文件,提供了与JSTL功能对等的标签库,可实现表单绑定、循环渲染、条件判断等所有你需要的动态功能:

  1. 引入Thymeleaf启动器依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
  1. 将HTML模板文件放到src/main/resources/templates目录下,即可直接在HTML中使用Thymeleaf语法编写动态逻辑,无需额外配置后缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:00:04