2016-11-21 2 views
0

Ich habe gerade einen neuen Spring Boot (mit Spring Security) und Thymeleaf Projekt gestartet. Da ich statische Ressourcen integrieren wollte, habe ich verschiedene Dateistrukturen ausprobiert, aber Spring hat die Dateien nicht gebunden. Da ich den statischen Ressourcenpfad nicht geändert habe, gibt meine Konsole beim Start Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] aus.Spring Boot Thymeleaf statischer Inhalt lädt nicht

Verschiedene Dateistrukturen, die ich ausprobiert habe und die ich nicht geschafft habe.

src 
|--main 
    |--java 
    |--resources 
     |--static 
      |--css 
      |--bootstrap.min.css 
      |--custom_test.css 
      |--templates 
      |--.... 

auch

src 
|--main 
    |--java 
    |--resources 
     |--webjars   
      |--static 
      |--css 
       |--bootstrap.min.css 
       |--custom_test.css 
     |--templates 
      |--.... 

oder

src 
|--main 
    |--java 
    |--resources 
     |--public 
      |--css 
      |--bootstrap.min.css 
      |--custom_test.css 
      |--templates 
      |--.... 

In HTML/Thymeleaf Ich habe versucht,

<link rel="stylesheet" type="text/css" href="webjars/static/css/bootstrap.min.css"/> 
    <link rel="stylesheet" type="text/css" href="webjars/static/css/custom_test.css"/> 

oder

<link rel="stylesheet" type="text/css" th:href="@{/css/bootstrap.min.css}"/> 
    <link rel="stylesheet" type="text/css" th:href="@{/css/custom_test.css}"/> 

Nichts davon funktionierte bisher. Ich hoffe wirklich, dass Sie mir und anderen mit dem gleichen Problem helfen können. Vielen Dank im Voraus!

+0

Mögliches Duplikat [IntelliJ Frühlings-Boot-Projekt kann nicht meine CSS-Dateien mit Thymeleaf finden] (http://stackoverflow.com/questions/40452365/intellij-spring-boot-project-cant-find-my-css-files-with-thymeleaf) – DimaSan

Antwort

0

Ihr Problem könnte die Konfiguration von Spring Security sein. Überprüfen Sie zunächst mit den Entwicklertools Ihres Browsers, welche Response für die Ressourcen gilt, die Sie nicht auf dem Client erhalten. Der Antwortstatuscode kann 302 oder 401 sein, abhängig von Ihrer aktuellen Konfiguration.

Wenn das der Fall ist, müssen Sie eine zusätzliche Konfiguration zu einem Projekt hinzuzufügen, der wie folgt aussieht:

@Configuration 
@EnableWebSecurity 
public class WebSecurityConfig extends WebSecurityConfigurerAdapter 
{   
    @Override 
    protected void configure(HttpSecurity http) throws Exception 
    { 
     http.authorizeRequests() 
       .antMatchers("/").permitAll() 
       .antMatchers("/favicon.ico").permitAll() 
       .antMatchers("/css/**").permitAll() 
       .antMatchers("/js/**").permitAll() 
       .antMatchers("/static/**").permitAll() 
       .antMatchers("/images/**").permitAll() 
       .antMatchers("/blog/**").permitAll() 
       .anyRequest().authenticated() 
       .and() 
       .formLogin() 
       .loginPage("/login") 
       .permitAll() 
       .and() 
       .logout() 
       .permitAll(); 
    } 
// ... 
} 
+0

es war tatsächlich ein 302 Antwort-Code. Vielen Dank für Ihre Hilfe, Sir! – Marius

Verwandte Themen