2017-12-03 2 views
0

Ich bin neu ein Spring-Boot und Feder-Framework. Laut mir, Web-App erstellen und bereitstellen sehr einfach mit Spring-Boot, aber wenn ich meine Probe Frühjahr Web-App, Anwendung nicht gefunden "Willkommen.html" Seite. Ich habe alle ähnlichen Fragen auf stackoverflow geprüft und mich nicht bearbeitet. Ich kann kein kleines Problem sehen, aber ich habe mein Problem nicht gefunden. Meine Anwendung Struktur und Codes sind unter:Keine Zuordnung gefunden auf Spring-Boot

project tree png

MyApplication Klasse ist unten:

@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 Klasse ist unten:

@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 Datei unter:

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

WebMvcAppConfig Klasse ist unten:

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"); 
    } 

} 
+2

Sie möchten '@ EnableWebMvc' fast nie in einer Spring Boot App verwenden. Außerdem ermöglicht '@ SpringBootApplication' bereits das Scannen von Komponenten für das Paket, in dem es verwendet wird, in diesem Fall 'net.samplespringboot'. –

+1

@forever_software Wenn Ihre HTML-Seite statisch ist, benötigen Sie nichts von dem, was Sie freigegeben haben, außer Ihrer Hauptanwendungsklasse. Alles, was Sie tun müssen, ist, Ihre statischen Dateien in 'src/main/resource/static' zu platzieren und sie werden automatisch von der statischen Ressourcenunterstützung, die Spring Boot automatisch konfiguriert, bedient. –

+1

move application.properties in src/main/resources nicht in diesem Standardpaket –

Antwort

0

Zunächst vielen Dank für die schnelle Antwort meiner Frage @Andy Wilkinson und georges van. Ich suchte im Frühjahr Boot Reference Guide und Serving Web Content mit Spring MVC und ich lernte eine Menge Informationen über Spring-Boot. Ich habe WebMvcAppConfig entfernt, weil diese Klasse für den Starter nicht erforderlich ist und SpringBootServletInitializer entfernt wurde. Ich habe HTML-Dateien in Templates verschoben, wie Sie sagen. Ich bleibe einfach und die Anwendung läuft ohne Probleme.

Verwandte Themen