2014-12-03 2 views
1

После обновления моего веб-приложения с Spring 4.1.0 до 4.1.2 отображение ресурсов перестает работать.Ресурс не найден после весны 4.1.2 Обновление

Без каких-либо изменений каждый запрос на любой ресурс возвращает «HTTP 404 - NOT FOUND» (. Js, .png и т. Д.).

Затем я возвращаюсь к весне 4.1.0, и все снова становится работать.

Это мой класс конфигурации приложения:

public class MvcConfiguration extends WebMvcConfigurationSupport { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations("/resources/**"); 
    } 

} 

Этот вопрос похож на это: Resource Not Found after Spring 4.1.2 Update when deploy with JRebel 6.0.0

Мои ресурсы на:

  • [проект] \ WebContent \ ресурсы

И это мое ervlet инициализатор:

public class WebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer implements HttpSessionListener { 

    private static final int MAX_UPLOAD_SIZE = 1 * 1024 * 1024; // 1mb; 

    @Override 
    protected Class<?>[] getRootConfigClasses() { 
     return new Class<?>[] { MvcConfiguration.class }; 
    } 

    @Override 
    protected Class<?>[] getServletConfigClasses() { 
     return null; 
    } 

    @Override 
    protected String[] getServletMappings() { 
     return new String[] { "/" }; 
    } 

    @Override 
    protected Filter[] getServletFilters() { 
     CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); 
     encodingFilter.setEncoding("UTF-8"); 
     encodingFilter.setForceEncoding(true); 

     return new Filter[] { encodingFilter, new MultipartFilter() }; 
    } 

    @Override 
    protected void customizeRegistration(Dynamic registration) { 
     File uploadDirectory = new File(System.getProperty("java.io.tmpdir")); 
     MultipartConfigElement multipartConfigElement = new MultipartConfigElement(uploadDirectory.getAbsolutePath(), MAX_UPLOAD_SIZE, MAX_UPLOAD_SIZE * 2, MAX_UPLOAD_SIZE/2); 
     registration.setMultipartConfig(multipartConfigElement); 
    } 
+0

Не могли бы вы описать макет вашего проекта, где ресурсы находятся на диске, и какие ссылки вы используете в шаблонах. Кроме того, из-за этого должны быть предупреждения журнала, можете ли вы поделиться некоторыми из них? –

ответ

1

Просто измените свой обработчик ресурсов на следующее:

public class MvcConfiguration extends WebMvcConfigurationSupport { 

    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
    } 
} 

Это ломал код для меня тоже при обновлении с весны 4.1.1, но удаление концевой /** весной 4.1. 6 исправлено это.

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