我是第一次手动连接AngularJS和spring-boot应用程序。我遇到的问题是我的@RestController没有返回索引页面:
@RestController
public class IndexController {
@RequestMapping("/")
public String index(){
System.out.println("Looking in the index controller.........");
return "index";
}
}
目录:
它一直呈现默认的404错误页面:
---------------- 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错误页面。
答案 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
注释中提供相同的排除