【发布时间】:2016-10-13 15:48:01
【问题描述】:
我很难使用带有 JSP 的 Spring MVC 来显示图像。我知道还有其他非常相似的 SO 问题,但这些问题的答案似乎都不起作用。
我有一个非常简单的项目,只有两个 java 文件和一个 JSP 文件要显示。这是我的 WebMvcConfigurerAdapter 类:
@Configuration
@ComponentScan(basePackages="com.rigatron.rigs4j")
@EnableWebMvc
public class MvcConfiguration extends WebMvcConfigurerAdapter{
@Bean
public ViewResolver getViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**")
.addResourceLocations("/resources/");
}
这是我主页的控制器类:
@Controller
public class HomeController {
@RequestMapping(value="/")
public ModelAndView test(HttpServletResponse response) throws IOException {
return new ModelAndView("home");
}
这是 JSP 文件中我尝试显示图像的行:
<img src="/resources/old.jpeg" alt="Photo of Youthful William" id="pic" />
我的 /resources/ 文件夹中有 old.jpeg。页面的其余部分显示正常,但此处仅显示替代文本。
我正在使用 Tomcat8 部署这个应用程序,我的 Maven pom 文件是我的 Maven pom 文件,它在每次构建时将生成的 WAR 文件复制到 Tomcat 的 webapps 目录中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<outputDirectory>C:\my\local\dir\tomcat8\webapps</outputDirectory>
</configuration>
</plugin>
所以当我使用浏览器导航到 localhost:8080/myprojectname 时,JSP 文件的其余部分会正确显示,但照片不是,只有 alt 文本。对此问题的任何帮助将不胜感激。
【问题讨论】:
标签: java spring jsp spring-mvc