Sto avviando un tomcat incorporato tramite spring-boot
e desidero pubblicare una pagina statica index.html
come parte di un'applicazione in esecuzione.Come pubblicare la pagina di contenuto html statico in spring-boot
ma il seguente non funziona:
@SpringBootApplication
public class HMyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController
public class HomeContoller {
@RequestMapping("/")
public String index() {
return "index";
}
}
src/main/resources/static/index.html
Risultato: quando chiamo localhost:8080
, vedo solo la parola "indice", ma non la mia pagina html. Perché?
Questo perché '@ RestController' è una meta-annotazione per' @ Controller' e 'ResponseBody', ovvero scrive" indice "sul flusso di input della risposta. Dovresti usare '@ Controller' invece che" index "sia risolto come nome di vista. –
Omg hai ragione, assolutamente. Probabilmente ero confuso sviluppando un '@ RestController 'fianco a fianco. Comunque ora sto ottenendo la seguente eccezione usando '@ Controller':' javax.servlet.ServletException: Impossibile risolvere la vista con nome 'index' in servlet con nome 'dispatcherServlet''. Non funziona nemmeno restituendo 'index.html'. – membersound
Penso che il nome della vista dovrebbe essere 'static/index.html' –