Sorry, wenn das schon einmal gefragt wurde, aber alles, was ich versucht habe, hat nicht funktioniert. Das Problem, das ich habe, ist, dass meine statische Ressourcen nicht geladen werden, wenn die URL nicht root ist, dh wenn die URL localhost ist: 8080/Benutzer die CSS-Dateien laden, aber wenn ich versuche, laden Sie die CSS-Dateien für localhost: 8080/users/1 oder eine andere URL nach Benutzern die statischen Dateien nicht geladen. Meine statischen Dateien befinden sich in Ressourcen/statisch/public/css.Zugriff auf statische Ressourcen im Spring Boot, wenn die URL nicht root ist
Ich weiß, es ist wahrscheinlich etwas dummes. Danke im Voraus.
Meine webConfig Klasse:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/webjars/**").permitAll();
http
.authorizeRequests()
.antMatchers("/",
"/home",
"/error",
"/signup",
"/forgot-password",
"/reset-password/*",
"/public/**").permitAll()
.anyRequest().authenticated();
http
.formLogin()
.loginPage("/login")
//.defaultSuccessUrl()
.permitAll().and()
.rememberMe().key(rememberMeKey).rememberMeServices(rememberMeServices()).and()
.logout()
.permitAll();
}
MvcConfig Klasse
@Configuration
@ComponentScan
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/").setViewName("home");
registry.addViewController("/login").setViewName("login");
}
private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
"classpath:/META-INF/resources/", "classpath:/resources/",
"classpath:/static/", "classpath:/public/" };
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations(CLASSPATH_RESOURCE_LOCATIONS);
}
}
aktualisiert *** Header-Datei
<link rel="shortcut icon" type="image/png" sizes="16x16" href="./public/images/favicon/logo.png"/>
<link type="text/css" rel="stylesheet" href="./public/css/style.css"/>
Footer:
<script src="./public/lib/bootstrap-3.1.1/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script src="./public/js/home.js"></script>
<script src="./public/js/webcam.js"></script>
<script src="./public/js/recordVideo.js"></script>
Das Problem liegt wahrscheinlich in der Art und Weise, wie Sie die Ressourcen in Ihre Vorlagen einbeziehen. Bitte posten Sie das. –
Habe sie einfach dort hinzugefügt! Prost. Ich verwende das auch für Tomcat, nur für den Fall, dass es einen Unterschied macht. – LiamMalone