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

Spring Boot+Thymeleaf页面跳转异常:仅能访问index.html,/application报错

问题解决方案

1. 根路径 / 跳转至 welcome.html 的处理

Spring Boot默认会自动识别resources/templates或resources/static下的index.html作为根路径的默认页面,要覆盖这个行为,需在控制器中显式映射根路径到welcome页面:

@Controller
public class HomeController {
    // 映射根路径到welcome页面
    @GetMapping("/")
    public String redirectToWelcome() {
        return "welcome"; // Thymeleaf会自动匹配templates目录下的welcome.html
    }
}

注意:如果之前存在其他处理根路径的代码,需确保没有冲突(比如避免同时存在多个@RequestMapping("/")的方法)。

2. /application 路径报错的处理

报错提示This application has no explicit mapping for /error,核心原因是控制器中没有对/application路径的有效映射,检查以下几点:

  • 确保控制器类标注了@Controller(而非@RestController,后者会直接返回JSON数据而非视图页面)
  • 添加对应的GET请求映射,示例代码:
@Controller
public class AppController {
    @GetMapping("/application")
    public String showApplicationPage() {
        return "application"; // 对应templates目录下的application.html
    }
}
  • 确认application.html确实存在于resources/templates目录,且文件名大小写与控制器返回值完全一致(Spring Boot默认区分文件名大小写)

额外排查点

  • 检查pom.xml中Thymeleaf依赖是否正确引入,确保与Spring Boot版本兼容:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
  • 无需关闭CSRF保护,该操作与页面跳转问题无关;浏览器地址栏访问属于GET请求,使用@PostMapping无法匹配,必须用@GetMapping
  • 执行mvn clean install清理Maven缓存并重新构建项目,排除依赖或编译文件异常问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:12:05