在Spring-Boot上找不到映射

时间:2017-12-03 19:24:46

标签: java spring spring-mvc spring-boot

我是一个新的弹簧靴和弹簧框架。根据我的说法,使用spring-boot创建和部署Web应用程序非常容易,但是当我运行我的示例spring web应用程序时,应用程序找不到“welcome.html”页面。我在stackoverflow上检查了所有类似的问题并没有帮助我。我看不出什么问题,但我没有发现我的问题。我的申请结构和代码如下:

project tree png

MyApplication类如下:

@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(MyApplication.class);
}

public static void main(String[] args) {
    SpringApplication.run(MyApplication.class, args);
}
}

WelcomeController类如下:

@Controller
public class WelcomeController {

    @RequestMapping(value = "/welcome")
    public String welcome() {
        return "welcome"; //<- this is your login.html if it is directly in resource/templates folder
    }

}

application.properties文件如下:

spring.mvc.view.prefix = templates/
spring.mvc.view.suffix = .html
spring.mvc.static-path-pattern=/resources/**

WebMvcAppConfig类如下:

public class WebMvcAppConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        super.addViewControllers(registry); //To change body of generated methods, choose Tools | Templates.
        registry.addViewController("/welcome").setViewName("welcome.html");
    }

}

1 个答案:

答案 0 :(得分:0)

首先非常感谢我快速回答我的问题@Andy Wilkinson和georges van。我在Spring引导参考指南和使用Spring MVC服务Web内容中寻找,我学到了很多关于spring-boot的信息。我删除了WebMvcAppConfig,因为这个类不需要启动器和删除SpringBootServletInitializer。正如你所说,我将html文件移动到了模板中。我保持简单,应用程序运行没有问题。