2016-03-04 2 views
0

Spring Boot 1.3.3.RELEASE, который приносит Spring-webmvc 4.2.5.RELEASE не поддерживает файлы Javascript с ResourceUrlEncodingFilter.ResourceUrlEncodingFilter не поддерживает файлы Javascript

Макет проекта:

Project Layout

pom.xml:

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.3.3.RELEASE</version> 
    <relativePath /> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <java.version>1.8</java.version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
     <scope>provided</scope> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.tomcat.embed</groupId> 
     <artifactId>tomcat-embed-jasper</artifactId> 
     <scope>provided</scope> 
    </dependency> 
     <dependency> 
     <groupId>javax.servlet</groupId> 
     <artifactId>jstl</artifactId> 
    </dependency> 

</dependencies> 

WebMvcConfiguration.java:

@Configuration 
public class WebMvcConfiguration extends WebMvcConfigurerAdapter { 
    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations("/**").resourceChain(true) 
       .addResolver(new VersionResourceResolver().addContentVersionStrategy("/**")); 
    } 

    @Bean 
    public ResourceUrlEncodingFilter resourceUrlEncodingFilter() { 
     return new ResourceUrlEncodingFilter(); 
    } 
} 

ответ

0

Я был в состоянии заставить это работать с этой конфигурацией.

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/resources/**") 
     .addResourceLocations("/**") 
     .resourceChain(true) 
     .addResolver(
      new VersionResourceResolver().addContentVersionStrategy("/**")); 
} 

и выключая Spring Security для файлов JavaScript:

@Configuration 
@EnableWebSecurity 
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {  
    // ... 
    @Override 
    public void configure(WebSecurity web) throws Exception { 
     web.ignoring().antMatchers("/js/**"); 
    } 
} 
Смежные вопросы