首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的控制器中的根路径在spring引导web应用程序中映射到index.html?

为什么我的控制器中的根路径在spring引导web应用程序中映射到index.html?
EN

Stack Overflow用户
提问于 2021-12-04 10:46:18
回答 2查看 940关注 0票数 1

我正在测试Spring应用程序的控制器。我希望将资源映射到路径,这应该是我的API的一部分。我的控制器对路径非常具体:

代码语言:javascript
复制
@Controller
public class DefaultController
{
  @RequestMapping("${web-interface}")
  public String main()
  {
    return "index.html";
  }
}

这里‘web-接口’是一个属性,在application.yml文件中指定。

代码语言:javascript
复制
spring:
  datasource:
    url: jdbc:mysql://localhost:3306/search-engine
    username: landsreyk
    password: 12345678
  jpa:
    database-platform: org.hibernate.dialect.MySQLDialect
    show-sql: false
    hibernate:
      ddl-auto: none
web-interface: /admin

预期行为:

路径:localhost:8080/管理映射到index.html资源

根路径: localhost:8080/映射为空,即404错误。

实际行为:

路径:“/admin”映射到index.html

路径:'/‘也映射到index.html

但是为什么呢?我不应该只看“白字错误页”吗?没有控制器,它将根路径映射到index.html文件。这没有任何意义。

顺便说一句,这是我的项目结构。

解决方案:

将index.html重命名为任何其他名称,如main.html和根路径'/‘将不再映射到该资源。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-04 10:54:42

根路径“/”默认情况下的映射到index.html。它是所有语言和框架的标准。index.html是指作为应用程序的入口点。

票数 2
EN

Stack Overflow用户

发布于 2021-12-04 11:11:39

它是每个入口点的默认行为。DefaultController实现默认行为,这就是为什么您调用“/"/root"”并不重要。欲了解更多信息:https://docs.spring.io/spring-boot/docs/2.6.1/reference/htmlsingle/#web.servlet.spring-mvc.welcome-page

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70224916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档