J'ai besoin de servir la page index.html statique de la requête "/" GET dans spring-web.
Mon module est inclus dans un module plus grand, emballé en tant que WAR et déployé sur tomcat.
J'ai essayé
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
System.out.println("WebMvcConfigurer - addResourceHandlers() function get loaded...");
registry.addResourceHandler("/WEB-INF/classes/index.html")
.addResourceLocations("/WEB-INF/classes/index.html");
}
}
et placé index.html dans le dossier des ressources. Encore 404. Quelqu'un peut-il m'aider à comprendre ce que j'ai fait de mal?
Le modèle du ResourceHandler doit refléter le chemin de la requête, dans votre cas /index.html
Les ressources à l'intérieur d'un bocal / d'une guerre /WEB-INF/classes/
sont accessibles via classpath:
, dans votre casclasspath:/index.html
Donc votre configuration aurait dû être comme ça
@Configuration
@EnableWebMvc
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/index.html")
.addResourceLocations("classpath:/index.html");
}
}
Vous pouvez simplifier si vous disposez de plus de ressources avec
registry.addResourceHandler("/*.html")
.addResourceLocations("classpath:/");
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots