2016-03-02 2 views
0

Я строй приложения с Maven + Spring, WebAPP архетипомSpring конфигурация Maven WebApp - Не нашел метод обработки изображений для

В изображении есть мое дерево каталогов. Изображения в WebAPP/общедоступный каталог

enter image description here

Они правильно развернуты в котом в/svgTest/общественных/изображений

я пытаюсь связать их в моих страниц JSP следующим образом:

<img src="<%=request.getContextPath() %>/public/images/disegno.svg" /> 

ссылка правильно, но в журналах я вижу

2016-03-02 11:52:33.192 DEBUG [http-nio-8080-exec-55]: Looking up handler method for path /public/images/disegno.svg 
2016-03-02 11:52:33.192 DEBUG [http-nio-8080-exec-55]: Did not find handler method for [/public/images/disegno.svg] 
2016-03-02 11:52:33.192 WARN [http-nio-8080-exec-55]: No mapping found for HTTP request with URI [/svgTest/public/images/disegno.svg] in DispatcherServlet with name 'dispatcher' 

Мои AppConfig.java очень просто:

@Configuration 
@EnableWebMvc 
@ComponentScan("it.besmart") 

public class AppConfig extends WebMvcConfigurerAdapter{ 


    @Bean 
    public ViewResolver viewResolver() { 
     InternalResourceViewResolver viewResolver = new InternalResourceViewResolver(); 
     viewResolver.setViewClass(JstlView.class); 
     viewResolver.setPrefix("/WEB-INF/pages/"); 
     viewResolver.setSuffix(".jsp"); 
     return viewResolver; 
    } 

    @Bean 
    public MessageSource messageSource() { 
     ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource(); 
     messageSource.setBasename("messages"); 
     return messageSource; 
    } 


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

    @Bean(name = "multipartResolver") 
    public StandardServletMultipartResolver resolver() { 
     return new StandardServletMultipartResolver(); 
    } 

    @Bean 
    public SVGParser parser(){ 
     return new SVGParser(); 
    } 

} 

и это мой AppInitializer.java

public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { 

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

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

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


} 

Чего не хватает?

+1

Вы должны добавить обработчик запросов к 'ResourceHandlerRegistry' для весны, чтобы определить свои ресурсы. или вы можете переместить свои imges в 'resources' – Pragnani

+1

включить обработку ресурсов по умолчанию. Переопределите 'configureDefaultServletHandling' и вызов' configure ''enabled()'. Это будет делегировать запросы, которые сервлет диспетчера не может обработать в базовом контейнере. –

ответ

0

Попробуйте с этой структурой

WebAPP-ресурсы-образы-xyz.svg

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