繁体   English   中英

在Spring中显示图像的正确方法

[英]Proper way to display image in Spring

将生成的图像显示到<img>标签的正确方法是什么? 我尝试使用专门用于img的其他控制器

<div class="img">
    <img src="../resource/img/get_chart.do" class="img-rounded" />
</div>

它本身的页面的url映射是不同的。

但是仍然没有图像显示。

@RequestMapping( value = "/resource/img/get_chart", method = RequestMethod.GET )
public void displayChart( HttpServletResponse response )
{
    response.setContentType( "image/png" );
    try
    {
        JFreeChart chart = createChart();
        ChartUtilities.writeChartAsPNG( response.getOutputStream(), chart, 700, 500 );
        response.getOutputStream().close();
    }
    catch( IOException e )
    {
        e.printStackTrace();
    }
}

警告:在DispatcherServlet中,名称为“ Project”的URI [/Project/resource/img/get_chart.do]的HTTP请求找不到映射。

我明白了

更新:

<servlet>
   <servlet-name>Project</servlet-name>
   <servlet-class>
      org.springframework.web.servlet.DispatcherServlet
   </servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>Project</servlet-name>
   <url-pattern>*.do</url-pattern>
</servlet-mapping>

您的RequestMapping错误。 更改为

/resource/img/get_chart.do

终于我发现了我的错误。 加载<img>标签所在页面和图像src的映射不应位于不同的类中。

我的错误是我为@RequestMapping( value = "/resource/img/get_chart", method = RequestMethod.GET )创建了一个单独的类。 此映射也应该沿着控制器放置在第一页加载的位置。 这解决了我的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM