Spring-boot应用程序找不到index.html

时间:2016-03-11 19:31:55

标签: angularjs spring

我是第一次手动连接AngularJS和spring-boot应用程序。我遇到的问题是我的@RestController没有返回索引页面:

@RestController
public class IndexController {

    @RequestMapping("/")
    public String index(){
        System.out.println("Looking in the index controller.........");
        return "index";
    }

}

目录:

enter image description here

它一直呈现默认的404错误页面:

enter image description here

---------------- UPDATE 1 ------------------

我添加了一个配置文件:

@Configuration
public class IndexPageConfiguration {

    @Bean
    public InternalResourceViewResolver viewResolver(){

        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/app/");
        resolver.setSuffix(".html");
        return resolver;

    }

}

RestController

@RestController
public class IndexController {

    @RequestMapping("/")
    public String index(){
        System.out.println("Looking in the index controller.........");
        return "index";
    }

}

主要课程:

@SpringBootApplication(scanBasePackages = { "com.serviceImpl","com.service","com.config" },exclude = { ErrorMvcAutoConfiguration.class })
public class SpringCrudApplication {

    public static void main(String[] args) {

        SpringApplication.run(SpringCrudApplication.class, args);
    }
}

上面的主类仍然返回默认的404错误页面。

2 个答案:

答案 0 :(得分:2)

另一方面,如果您将.css()文件夹直接放在index.html文件夹下,它将自动查找webapp页面。所以你不需要任何配置。

这只是另一种方法。

答案 1 :(得分:1)

您需要配置InternalRosourceViewResolver以让spring知道您的jsp位置

@Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/app/");
        resolver.setSuffix(".html");
        return resolver;

    }

因此,Spring会追加并追加您的View返回的位置和后缀。

我认为最好将您的观点分别保存在任何其他文件夹中,并根据它配置您的文件夹位置。

如果您想继续当前的设置

您应该从控制器返回"/app/index.html"

Spring引导提供白标错误页面,以便在发生服务器端错误/异常时隐藏堆栈跟踪,这将有助于我们保护代码免受入侵者的侵害。 如果你想摆脱白标错误。

@SpringBootApplication指定排除ErrorMvcAutoConfiguration.class

@SpringBootApplication(scanBasePackages = { "com.ekart.app" }, exclude = { ErrorMvcAutoConfiguration.class })

如果您没有使用@SpringBootApplication annotatio,则应在@EnableAutoConfiguration注释中提供相同的排除