通过在服务器端生成图片 然后这样在页面中的图片可以真正的跨浏览器
package servlets;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ImageServlet extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("image/jpeg");
int width = 155; //图片的宽度和高度
int height = 155;
int x = 5;
int y = 5;
int ellipseWidth = 145;
int ellipseHeight = 145;
BufferedImage bi = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = (Graphics2D) bi.getGraphics();
RenderingHints renderHints = new RenderingHints(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHints(renderHints);
g2.setBackground(Color.WHITE);
g2.clearRect(0, 0, width, height);
g2.setPaint(Color.BLACK);
//饼状图外面的圆圈
Ellipse2D.Double ellipse = new Ellipse2D.Double(x, y, ellipseWidth, ellipseHeight);
g2.draw(ellipse);
g2.setPaint(Color.RED);
g2.fillArc(x, y, ellipseWidth, ellipseHeight, 0, 120);
g2.setPaint(Color.GREEN);
g2.fillArc(x, y, ellipseWidth, ellipseHeight, 120 , 120);
g2.setPaint(Color.blue);
g2.fillArc(x, y, ellipseWidth, ellipseHeight, 240, 120);
ImageIO.write(bi, "jpg", response.getOutputStream());
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
<img src="http://localhost:8080/myproject/ImageServlet" id="myImg">
</body>
</html>
分享到:
相关推荐
【轻松使用JSP生成饼图】的教程主要介绍了如何利用JSP技术从数据库中获取数据并生成饼状图,以直观地展示不同类别数据的比例。以下是详细的步骤和知识点解析: 1. **JSP基础**:JSP(JavaServer Pages)是一种基于...
1. 在JSP页面中,使用Java scriplets或JSTL(JavaServer Pages Standard Tag Library)来处理业务逻辑。 2. 使用JDBC建立数据库连接,执行SQL查询或更新语句。 3. 将查询结果集转换为Java对象,如ArrayList或自定义...
通过本篇文章,我们将深入了解如何使用`JFreeChart`来生成饼图,并将其嵌入到Web应用中。 #### 二、JFreeChart简介 `JFreeChart`是一个功能强大的Java图表类库,用于生成高质量的图表图像。它完全用Java语言编写,...
- 通过在JSP页面中嵌入Java代码来处理业务逻辑,并返回动态生成的HTML页面给客户端。 2. **JSP环境配置**: - JDK版本:至少需要JDK 1.2或更高版本。 - 数据库管理:需要一个关系数据库管理系统来存储和查询数据...
在这个项目中,可能使用了像JFreeChart这样的Java库来生成饼图和柱形图。JFreeChart是一个强大的Java图形库,可以生成多种类型的统计图表,包括饼图和柱形图。 生成饼图的步骤大致如下: 1. 使用Hibernate查询...
在JSP中使用JFreeChart,需要将生成的图表作为图像输出到页面上,通常通过在服务器端创建图表,然后将其转换为流式图像对象,最后输出到HTTP响应中。 对于**柱状图**,它是数据可视化的基本元素,常用来比较不同...
总结来说,这个项目展示了如何在Java Web环境中结合使用JSP和Servlet,通过处理数据和利用图表库生成饼状图,最终以图像形式在网页上展示。这种能力在数据分析、报表系统等场景中非常常见,有助于提升用户对数据的...
在JSP中,你可以通过这个组件快速创建饼图,例如展示产品销售的各个分类占比,或者用户来源的分布情况。它允许你自定义颜色、标签、百分比显示等,使得数据一目了然。 2. **柱状图**:柱状图是另一种常用的数据可视...
JFreeChart是一组功能强大、灵活易用的Java绘图API,使用它可以生成多种通用性的报表,包括 柱状图、饼图、曲线图、甘特图等。它能够用在Swing和Web等中制作自定义的图表或报表,并且得 到广泛的应用。 ...
7. **与其他技术集成**:作为Java库,JFreeChart 可以方便地与Spring、Struts等框架集成,也可以在Servlet或JSP中使用,生成图表动态网页。你可以在Web应用中调用这些服务方法,生成图表并以图像格式返回给客户端。 ...
在这个类中,我们使用了JDBC(Java Database Connectivity)来实现数据库连接,以及JFreeChart库来生成饼图。 在数据库连接部分,我们需要建立一个与数据库的连接,并执行SQL查询语句来获取所需的数据。例如,如果...
5. 在Web应用中集成:在Servlet或JSP中,将生成的图像作为响应的一部分发送给客户端,或者通过AJAX请求动态生成图表并更新页面。 JFreeChart的强大之处在于其灵活性和可定制性。你可以调整图表的每一个细节,从数据...
本篇文章将详细探讨如何在JSP页面中利用Highcharts生成的统计图表和其他信息导出为PDF。 首先,Highcharts是一个强大的JavaScript图表库,用于在网页上创建各种类型的数据可视化图表,如柱状图、折线图、饼图等。它...
要在JSP中使用JFreeChart,可以通过生成SVG或PNG格式的图表,并将其嵌入到HTML中。具体步骤如下: 1. **创建图表对象**:在Java类中创建图表对象,并设置好图表的各项属性。 2. **导出图表**:使用`ChartUtilities....
在JSP中使用JFreeChart时,你需要按照以下步骤操作: 1. **引入JFreeChart库**: 在项目中添加JFreeChart的依赖,通常是通过Maven或Gradle管理,或者直接将jar文件添加到项目的类路径中。 2. **创建数据模型**: ...
在JSP中使用`JFreeChart`,通常需要以下步骤: 1. **添加依赖**:在项目中引入`JFreeChart`库,这可以通过Maven或Gradle的依赖管理工具完成,或者直接将jar文件添加到项目的类路径中。 2. **创建图表**:使用`...
它提供了一个标签库,使得在JSP页面中添加图表无需编写Java代码。 7. **JOpenChart**:JOpenChart库提供了创建不同类型的图表(如饼图、直方图)的能力,并且可以轻松地将图表嵌入Swing或Web应用中。 8. **iReport...
以上就是如何在JSP中使用Ajax请求生成Highcharts图表的基本步骤。你可以根据实际需求调整Ajax请求的方式、后端处理逻辑以及Highcharts图表的配置。此案例适用于任何支持Ajax和Highcharts的语言,只需要将JSP部分替换...