2016-11-21 5 views
0

Я только что начал новую Spring Boot (с Spring Security) и проект Thymeleaf. Поскольку я хотел интегрировать статические ресурсы, я пробовал разные файловые структуры, но ни с одним из них, Spring не привязывал файлы. Поскольку я не изменил путь статического ресурса, мои консольные выходы Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] при запуске.Spring Boot Thymeleaf статическое содержимое не загружается

Различные файловые структуры, которые я пробовал и не добились успеха.

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

также

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

или

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

В HTML/Thymeleaf Я попытался

<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"/> 

или

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

Ничего из этого не удалось. Я действительно надеюсь, что вы можете помочь мне и другим людям с тем же поблемом. Спасибо заранее!

+0

Возможный дубликат [проекта IntelliJ Spring загрузки не может найти свои CSS файлы с Thymeleaf] (http://stackoverflow.com/questions/40452365/intellij-spring-boot-project-cant-find-my-css-files-with-thymeleaf) – DimaSan

ответ

0

Ваша проблема может быть в конфигурации Spring Security. Во-первых, ознакомьтесь с инструментами разработчика вашего браузера и посмотрите, что ответ за ресурсы, которые вы не получаете на клиенте. Код состояния ответа может быть 302 или 401, в зависимости от вашей текущей конфигурации.

Если это так, то вам необходимо добавить в конфигурацию проекта, который выглядит следующим образом:

@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

Действительно, это был код ответа 302. Большое спасибо за вашу помощь, сэр! – Marius

Смежные вопросы