Я строй приложения с Maven + Spring, WebAPP архетипомSpring конфигурация Maven WebApp - Не нашел метод обработки изображений для
В изображении есть мое дерево каталогов. Изображения в WebAPP/общедоступный каталог
Они правильно развернуты в котом в/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[] { "/" };
}
}
Чего не хватает?
Вы должны добавить обработчик запросов к 'ResourceHandlerRegistry' для весны, чтобы определить свои ресурсы. или вы можете переместить свои imges в 'resources' – Pragnani
включить обработку ресурсов по умолчанию. Переопределите 'configureDefaultServletHandling' и вызов' configure ''enabled()'. Это будет делегировать запросы, которые сервлет диспетчера не может обработать в базовом контейнере. –