如题。我是新手,以下是我通过网上的例子修改的代码, 也不知道哪里错了,高手指正下谢谢,
servlet类:
package chart;
/**
*创建日期:2008-10-27
*/
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import org.jfree.data.*;
import org.jfree.chart.*;
import java.io.*;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
public class chart extends HttpServlet{
public void doGet (ServletRequest req,ServletResponse res)throws ServletException,IOException
{
DefaultPieDataset data=getDataSet();
JFreeChart chart=ChartFactory.createPieChart3D(
"图书销量统计图", data, true,
false, false
);
chart.setTitle(new TextTitle("图书销量统计图",new Font("黑体",Font.ITALIC,22)));//标题字体
//设置图例部分
LegendTitle legend =chart.getLegend(0);
legend.setItemFont(new Font("宋体",Font.BOLD,20));//设置图例的字体
//设置图的部分
PiePlot plot =(PiePlot)chart.getPlot();
plot.setLabelFont(new Font("宋体",Font.BOLD,18));//设置实际统计图的字体
plot.setBackgroundAlpha(0.9f);
plot.setForegroundAlpha(0.50f);
res.setContentType(" image/jpeg ");
FileOutputStream fos=new FileOutputStream("D:" + "\\" + "book.jpg");
ChartUtilities.writeChartAsJPEG (res.getOutputStream(),chart,800,600); fos.close(); }
private static DefaultPieDataset getDataSet(){
DefaultPieDataset dataset=new DefaultPieDataset();
dataset.setValue("Spring2.0", 47000);
dataset.setValue("轻量级", 38000);
dataset.setValue("J2EE的Ajax宝典", 31000);
dataset.setValue("Ajax in Action", 25000);
return dataset;
}}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet>
<servlet-name>Test1</servlet-name>
<servlet-class>chart.chart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test1</servlet-name>
<url-pattern>/chart</url-pattern>
</servlet-mapping>
</web-app>
页面:<html>
<head><title>用servlet 显示图片</title></head><body><img src="chart"> </body>
</html>
servlet类:
package chart;
/**
*创建日期:2008-10-27
*/
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import org.jfree.data.*;
import org.jfree.chart.*;
import java.io.*;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.PiePlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.LegendTitle;
import org.jfree.chart.title.TextTitle;
public class chart extends HttpServlet{
public void doGet (ServletRequest req,ServletResponse res)throws ServletException,IOException
{
DefaultPieDataset data=getDataSet();
JFreeChart chart=ChartFactory.createPieChart3D(
"图书销量统计图", data, true,
false, false
);
chart.setTitle(new TextTitle("图书销量统计图",new Font("黑体",Font.ITALIC,22)));//标题字体
//设置图例部分
LegendTitle legend =chart.getLegend(0);
legend.setItemFont(new Font("宋体",Font.BOLD,20));//设置图例的字体
//设置图的部分
PiePlot plot =(PiePlot)chart.getPlot();
plot.setLabelFont(new Font("宋体",Font.BOLD,18));//设置实际统计图的字体
plot.setBackgroundAlpha(0.9f);
plot.setForegroundAlpha(0.50f);
res.setContentType(" image/jpeg ");
FileOutputStream fos=new FileOutputStream("D:" + "\\" + "book.jpg");
ChartUtilities.writeChartAsJPEG (res.getOutputStream(),chart,800,600); fos.close(); }
private static DefaultPieDataset getDataSet(){
DefaultPieDataset dataset=new DefaultPieDataset();
dataset.setValue("Spring2.0", 47000);
dataset.setValue("轻量级", 38000);
dataset.setValue("J2EE的Ajax宝典", 31000);
dataset.setValue("Ajax in Action", 25000);
return dataset;
}}
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet>
<servlet-name>Test1</servlet-name>
<servlet-class>chart.chart</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test1</servlet-name>
<url-pattern>/chart</url-pattern>
</servlet-mapping>
</web-app>
页面:<html>
<head><title>用servlet 显示图片</title></head><body><img src="chart"> </body>
</html>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货