如何在JSP中绘制图形

时间:2009-08-05 02:46:51

标签: jsp

我想在JSP.i中使用applet插件创建带有数据库值的图表,但它不能很好地工作,因为它在我传递参数时会引发异常。请帮助我。

3 个答案:

答案 0 :(得分:2)

您可以从应用中访问以下网络服务:

http://code.google.com/apis/chart/

Google会为您完成所有工作,因此会节省大量工作...

答案 1 :(得分:2)

您可以使用由某个servlet生成的服务器生成的映像,例如

<img src="path-to-servlet?extra=data&goes=here">

servlet将使用BufferedImage生成所述图像,并通过ImageIO将其转换为PNG(或其他浏览器友好格式),将其保存为流。您只需将响应MIME类型设置为image / png并发回缓冲数据。

检查API的BufferedImage,ImageIO,Graphics,ByteArrayOutputStream等类。我昨天实际做了类似的事情来生成图像服务器端,虽然不是使用专用的servlet来发回我插入的图像它在我用于可以接受生成资源的网站其余部分的框架中。但是对于独立映像来说这个想法是一样的(并且该过程类似于其他技术,例如PHP)。

但请注意,如果您有很多请求,则可能需要缓存数据。

答案 2 :(得分:0)

另一个需要考虑的选择是在一个JSP中以SVG格式生成图形,并将其嵌入另一个JSP中。

在您的SVG JSP中,您可以执行以下操作:

<%@ page contentType="image/svg+xml" %>
<svg version="1.1"
    baseprofile="full"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
    xmlns:ev="http://www.w3.org/2001/xml-events">
    <!-- ... your content here... -->
</svg>

请注意,并非所有浏览器都支持SVG(尽管您始终可以通过Adobe plug in获得支持)。