代码之家  ›  专栏  ›  技术社区  ›  durisvk10

Spring boot未显示index.html

  •  0
  • durisvk10  · 技术社区  · 7 年前

    com.tuke.doto.Controllers / RootController.java

    package com.tuke.doto.Controllers;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    @Controller
    public class RootController {
    
        @RequestMapping("/")
        public String root() {
            return "frontpage";
        }
    }
    

    我有 frontpage.html 在里面 main/resources/static (我还试图将其移动到 main/resources/templates

    当我请求时 localhost:8080

    HTTP Status [404] – [Not Found]
    
    Type Status Report
    
    Description The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
    
    Apache Tomcat/8.5.15
    

    在jetbrains intellij上的控制台中,我看到:

    javax.servlet.ServletException: Circular view path [error]: would dispatch back to the current handler URL [/error] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)
    

    我还包括 server.error.whitelabel.enabled=false main/resources/application.properties

    问题出在哪里?这不是最简单的例子吗?为什么它不起作用?

    编辑

    dependencies {
        compile('org.springframework.boot:spring-boot-starter-web')
        compile('org.springframework.boot:spring-boot-starter-websocket')
    
        compile("org.springframework.boot:spring-boot-devtools")
    
        testCompile('org.springframework.boot:spring-boot-starter-test')
    }
    
    5 回复  |  直到 7 年前
        1
  •  3
  •   qkerby    7 年前

    src公司

    compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
    
        2
  •  3
  •   shanmugaprabhu    7 年前

    如果您只是使用静态html,您可能不需要像百里香叶子这样的模板库。简单返回ModelAndViewObject。将html放在src/main/resources/static中

    实例

    @GetMapping("/")
    public ModelAndView index() {
        return new ModelAndView("frontpage.html");
    }
    
        3
  •  0
  •   fg78nc    7 年前

    尝试将以下内容添加到配置类中

        @Bean
        public EmbeddedServletContainerFactory factory(){
            TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory();
            factory.setContextPath("/myapp");
            return factory;
        }
    

    spring.resources.chain.strategy.fixed.enabled=true
    spring.resources.chain.strategy.fixed.paths=/**
    

    .html 文件内部 src/main/resources/templates

    然后尝试访问 localhost:8080/myapp/frontpage

        4
  •  0
  •   Anvita Shukla    5 年前

    enter image description here

    遵循此结构后,您将能够访问索引。通过启动localhost:8080创建html

        5
  •  0
  •   Awatansa Vishwakarma    4 年前

    对于CRA React,可以使用以下2种方法

    • 从CRA复制内容 build target/classes/static target/classes/public

    MVC 。您可以在启动spring boot应用程序时看到这一点,如下所示: Adding welcome page: class path resource [public/index.html] 如果此方法失败,也可以使用以下方法

    • ModelAndView
    @RequestMapping("/")
    public ModelAndView frontend(){
      return new ModelAndView("frontend.html")
    }