2017-05-18 22 views
0

私は以下のようにSpring MVCを設定しましたが、logo.pngイメージは表示されません。私は春の4.2.0.RELEASEを使用してい静的リソースへのアクセスSpring MVC 4

画像logo.pngはSRC /メイン/リソース/画像/ logo.png下

AppWebConfiguration.java

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages="br.com.casadocodigo.loja") 
public class AppWebConfiguration extends WebMvcConfigurerAdapter { 

@Bean 
public InternalResourceViewResolver internalResourceViewResolver() { 
    InternalResourceViewResolver resolver = new InternalResourceViewResolver(); 
    resolver.setPrefix("/WEB-INF/views"); 
    resolver.setSuffix(".jsp"); 
    return resolver; 
} 

@Bean(name="messageSource") 
public MessageSource messageResource() { 
    ReloadableResourceBundleMessageSource bundle = 
      new ReloadableResourceBundleMessageSource(); 
    bundle.setBasename("WEB-INF/messages"); 
    bundle.setDefaultEncoding("UTF-8"); 
    bundle.setCacheSeconds(1); 
    return bundle; 
} 

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry 
     .addResourceHandler("/resources/**") 
     .addResourceLocations("/resources/images") 
     .setCachePeriod(3600) 
     .resourceChain(true) 
     .addResolver(new PathResourceResolver()); 
} 

@Override 
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) { 
    configurer.enable(); 
} 

} 

ServletSpringMVC.java

です
public class ServletSpringMVC extends 
AbstractAnnotationConfigDispatcherServletInitializer { 

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

@Override 
protected Class<?>[] getServletConfigClasses() { 
    return new Class[] {AppWebConfiguration.class, JPAConfiguration.class}; 
} 

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

} 

JSPページ:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<div> 
    <img src="${pageContext.request.contextPath}/resources/images/logo.png" 
alt=""/> 
</div> 
+0

'/ srcに/メイン/ resources'は、あなたの現在の構成が'/srcに/メイン/リソース/リソース/ images'を見てクラスパスのルートで、このコードを試してみてください。また、リソースチェーンを設定していますが、常に 'null'を返すように' PathResolver'を設定してください。 –

+0

これはどのように設定することをお勧めしますか? @ M.Deinum –

答えて

0

@Override 
public void addResourceHandlers(ResourceHandlerRegistry registry) { 
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/").setCachePeriod(31556926); 
} 
関連する問題