Ich bin mit diesem Problem den Kopf zerbrechen. Ich habe eine einfache Controller-Klasse mit der Fähigkeit, eine einfache HTML-Seite zusammen mit der Spring-Boot-Initialisierer-Klasse zu rendern.Statischer Inhalt wird nicht geladen mit Spring Boot
Ich habe die HTML-Seite in den statischen Ordner unter src/main/resources-Verzeichnis platziert. Aber ich bin nicht in der Lage, die HTML-Seite zu bekommen. Stattdessen erhalte ich 404 Fehler.
Unten finden Sie die Struktur meines Projekts
Im Folgenden meine pom.xml
ist<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Im Folgenden sind die Steuerung und Spring Initializer Klasse
DemoApplication.java:
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
SimpleController.java:
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class SimpleController {
@RequestMapping("/")
public String home(){
System.out.println("Hello Home...");
return "home";
}
}
home.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Hello</title>
</head>
<body>
Helloooo......
</body>
</html>
Konsolenprotokolle auf Ausführen des Frühlings-Boot:
:: Frühlings-Stiefel :: (v1.5.1.RELEASE)
2017.02.28 10: 46: 26,676 INFO 8240 --- [Main] com.example.DemoApplication: ab DemoApplication auf ABC mit PID 8240 (C: \ SpringB ootEx \ demo \ target \ classes gestartet von abc in C: \ SpringBootEx \ demo) 2017-02-28 10: 46: 26.681 INFO 8240 --- [main] com.example.DemoApplication: Kein aktives Profil gesetzt, fällt zurück zu Standardprofilen: Standard 2017-02-28 10: 46: 26.771 INFO 8240 --- [main] ationConfigEmbeddedWebApplicationContext: Aktualisierung org.springframework.boot[email protected]70b0b186: Startdatum [Di Feb 28 10:46 : 26 MST 2017]; Wurzel der Kontexthierarchie 2017-02-28 10: 46: 28.281 INFO 8240 --- [main] trationDelegate $ BeanPostProcessorChecker: Bean 'org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration' vom Typ [class org.springframework.boot .autoconfigure.validation.ValidationAutoConfiguration] kann nicht von allen BeanPostProcessors verarbeitet werden (zum Beispiel: nicht für Autoproxying geeignet) 2017-02-28 10: 46: 28.514 INFO 8240 --- [main] trationDelegate $ BeanPostProcessorChecker: Der Bean 'Validator' vom Typ [class org.springframework.validation.beanvalidation.LocalValidatorFactoryBean] kann nicht von allen BeanPostProcessors verarbeitet werden (zum Beispiel: nicht für Autoproxying geeignet) 2017-02-28 10: 46: 28.949 INFO 8240 --- [main] sbcetTomcatEmbeddedServletContainer: Tomcat initialisiert mit Port (s): 8080 (http) 2017-02-28 10: 46: 28.973 INFO 8240 --- [main] o.apache.catalina.core.StandardService: Starten des Dienstes Tomcat 2017-02-28 10: 46: 28.974 INFO 8240 --- [main] org.apache.catalina.core.StandardEngine: Starten der Servlet-Engine: Apache Tomcat/8.5.11 2017-02-28 10: 46: 29.194 INFO 8240 --- [ost-startStop-1] oaccC [Tomcat]. [Localhost]. [/]: Initialisierung von Spring embedded WebApplicationContext 2017-02-28 10: 46: 29.194 INFO 8240 --- [ost-startStop-1] osweb.context.ContextLoader: Stamm WebApplicationContext: Initialisierung in 2428 ms abgeschlossen 2017-02-28 10: 46: 29.448 INFO 8240 --- [ost-startStop-1] osbwservlet.ServletRegistrationBean: Zuordnung von Servlet: 'dispatchersServlet' zu [/] 2017-02-28 10:46:29.455 INFO 8240 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean: Zuweisungsfilter: 'characterEncodingFilter' zu: [/ ] 2017-02-28 10: 46: 29.457 INFO 8240 --- [ost-startStop -1] osbwservlet.FilterRegistrationBean: Zuordnungsfilter: 'hiddenHttpMethodFilter' zu: [/] 2017-02-28 10: 46: 29.458 INFO 8240 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean: Zuordnungsfilter : 'httpPutFormContentFilter' zu: [/ ] 2017-02-28 10: 46: 29.458 INFO 8240 --- [ost-startStop-1] osbwservlet.FilterRegistrationBean: Zuordnungsfilter: 'requestContextFilter' zu: [/] 2017-02-28 10: 46: 29.967 INFO 8240 --- [main] swsmmaRequestMappingHandlerAdapter: Auf der Suche nach @ControllerAdvice: org.springframework.boot.context.embedded.AnnotationConfigEmbed dedWebApplicationContext @ 70b0b186: Startdatum [Di Feb 28 10:46:26 MST 2017]; Wurzel der Kontexthierarchie 2017-02-28 10: 46: 30.071 INFO 8240 --- [main] swsmmaRequestMappingHandlerMapping: Zugewiesene "{[/]}" auf öffentlichen java.lang.String com.example.controller.SimpleController.home() 2017-02-28 10: 46: 30.080 INFO 8240 --- [main] swsmmaRequestMappingHandlerMapping: Mapped "{[/ Fehler]}" auf öffentliche org.springframework.http.ResponseEntity> org.springframework.boot.autoconfigure .web.BasicErrorController.error (javax.servlet.http.HttpServletRequest) 2017-02-28 10: 46: 30.081 INFO 8240 --- [Haupt] swsmmaRequestMappingHandlerMapping: Mapped "{[/ Fehler], produziert = [Text/html]} auf öffentliche org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml (javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 2017-02- 28 10: 46: 30.145 INFO 8240 --- [main] o. swshandler.SimpleUrlHandlerMapping: Zugeordneter URL-Pfad [/ webjars/] auf Handler vom Typ [Klasse org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2017-02-28 10: 46: 30.145 INFO 8240 --- [main ] oswshandler.SimpleUrlHandlerMapping: Zugeordneter URL-Pfad [/] auf Handler des Typs [Klasse org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2017-02-28 10: 46: 30.194 INFO 8240 --- [main] oswshandler.SimpleUrlHandlerMapping: Zugeordneter URL-Pfad [/**/favicon.ico] auf Handler des Typs [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 2017-02-28 10: 46: 30.478 INFO 8240 - - [main] osjeaAnnotationMBeanExporter: Registrieren von Beans für JMX-Exposure beim Start 2017-02-28 10: 46: 30.582 INFO 8240 --- [main] sbcetTomcatEmbeddedServletContain äh: Tomcat hat an Port (s) gestartet: 8080 (http) 2017-02-28 10: 46: 30.590 INFO 8240 --- [main] com.example.DemoApplication: Gestartete DemoApplication in 4.391 Sekunden (JVM läuft für 5.147) 2017-02-28 10: 49: 04.176 INFO 8240 --- [nio-8080-exec-1] oacc [Tomcat]. [Localhost]. [/]: SpringServlet 'dispatcherServlet' initialisieren 2017-02-28 10: 49: 04.176 INFO 8240 --- [nio-8080-exec-1] osweb.servlet.DispatcherServlet: FrameworkServlet 'dispatcherServlet': Initialisierung gestartet 2017-02-28 10: 49: 04.205 INFO 8240 --- [ nio-8080-exec-1] osweb.servlet.DispatcherServlet: FrameworkServlet 'dispatcherServlet': Initialisierung in 29 ms abgeschlossen Hallo Home ...
Kann mir bitte jemand helfen, den vi zu bekommen Ew gerendert? Dank ..
Zeigen Sie uns Ihre Controller, wo Sie die Ansicht aufrufen. Dein Screenshot zeigt die Ansicht außerhalb des statischen Ordners ... also bin ich etwas verwirrt. –
Ihre Datei ** home.html ** befindet sich nicht im Ordner ** src/main/resources/static **, aber im Ordner ** src/main/resources ** legen Sie sie in den Ordner, den Sie bereits erwähnt haben sollte arbeiten. – g00glen00b
Entschuldigung für die Verwirrung. Ich habe versucht, die home.html Seite auch in den statischen Ordner zu legen. Aber ich sehe immer noch das gleiche Problem. – Saravana6788