Java Servlet 图表教程展示了如何使用 JFreeChart 创建图表并将其提供给 Servlet。 该示例生成一个饼图。
Servlet
是 Java 类,可响应特定类型的网络请求-最常见的是 HTTP 请求。 Servlet 用于以 Java 实现 Web 应用。 它们在 Tomcat 或 Jetty 之类的 servlet 容器中运行。 如今,Java Web 程序员使用基于 Servlet 构建的框架来开发应用。
Jetty 是 HTTP 服务器和 Servlet 容器,能够通过独立或嵌入式实例提供静态和动态内容。
JFreeChart 是流行的 Java 图表库。 它允许创建各种交互式和非交互式图表。
Java Servlet 图表示例
下面的示例使用 JFreeChart 库创建一个饼图,并将其提供给 Java Servlet。
pom.xml
javax.servlet-api
依赖性是用于构建 Java Servlet 的库。 jfreechart
是 JFreeChart 库的依赖项。
maven-war-plugin
收集 Web 应用的所有工件依赖项,类和资源,并将它们打包到 Web 应用存档(WAR)中。 jetty-maven-plugin
允许我们与mvn jetty:run
一起运行嵌入式 Jetty 服务器。
这是项目结构。
webapp/index.html
在index.html
文件中,我们有一个调用 servlet 的链接,该 servlet 服务于饼图。
com/zetcode/web/DoChart.java
DoChart
Servlet 将饼图返回给客户端。
@WebServlet
批注将具有showChart
URL 模式的请求映射到DoChart
servlet。
该请求是一个 GET 请求,因此我们以doGet()
方法为其提供服务。
该图表用作 PNG 格式的图像; 因此,我们将响应的内容类型设置为image/png
。
从response
对象获得OutputStream
。 我们通过写 servlet 的OutputStream
将图表提供给客户端。
ChartUtils.writeChartAsPNG()
将图表转换为 PNG 文件,并将其写入输出流。
在getChart()
方法中,我们生成图表。 DefaultPieDataset
包含饼图的数据。
使用ChartFactory.createPieChart()
创建饼图。
条形图
以下代码是发送条形图的替代解决方案。
使用ChartFactory.createBarChart()
创建条形图。
运行 Jetty 服务器并导航到localhost:8080
。
在本教程中,我们使用了 Java Servlet 中的 JFreeChart 库创建饼图并将其提供给客户端。
您可能也对以下相关教程感兴趣: Java Log4j 教程, Java Servlet RESTful 客户端, Java Servlet 上传文件,Java Servlet 复选框教程,Java Servlet 图表教程, Java Servlet HTTP 标头或 Java 教程。