- 论坛徽章:
- 0
|
我是用的jfreeChart控件
所有的包都引入了,解决不了
报错信息:
500 Servlet Exception
java.lang.InternalError: Can't connect to X11 window server using ':0.0'
as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>;(X11GraphicsEnvironment.java:125)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
at java.awt.Font.initializeFont(Font.java:309)
at java.awt.Font.<init>;(Font.java:345)
at org.jfree.chart.axis.AxisConstants.<clinit>;(Unknown Source)
at org.jfree.chart.axis.Axis.<init>;(Unknown Source)
at org.jfree.chart.axis.ValueAxis.<init>;(Unknown Source)
at org.jfree.chart.axis.NumberAxis.<init>;(Unknown Source)
at org.jfree.chart.ChartFactory.createXYLineChart(Unknown Source)
at HelloWorld.service(ShowChart.java:283)
at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)
at com.caucho.server.http.Invocation.service(Invocation.java:315)
at com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:135)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164)
at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
at java.lang.Thread.run(Thread.java:536)
--------------------------------------------------------------------------------
Resin 2.1.11 (built Mon Sep 8 09:36:19 PDT 2003)
源程序
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
//import java.awt.Color;
//import java.io.IOException;
import javax.servlet.*;
import javax.servlet.http.HttpServlet;
import conn.DBconnect;
import java.sql.*;
import java.util.*;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Polygon;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardLegend;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.*;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.DefaultDrawingSupplier;
import org.jfree.chart.plot.DrawingSupplier;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.LineAndShapeRenderer;
import org.jfree.data.DefaultCategoryDataset;
import org.jfree.chart.axis.Axis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.renderer.StandardXYItemRenderer;
import org.jfree.chart.ui.*;
import org.jfree.data.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
public class ShowChart extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
String year=req.getParameter("year" ;
String month=req.getParameter("month" ;
if(month.length()==1)
{
month="0"+month;
}
String date=req.getParameter("date" ;
if(date.length()==1)
{
date="0"+date;
}
String last_time=year+month+date;
DBconnect db=new DBconnect();
String sql="select * from bank_fee_status_his where item_id='1' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
ResultSet rs=db.executeQuery(sql);
XYSeries series1 = new XYSeries("交通银行" ;
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00" )
{
series1.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='2' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series2 = new XYSeries("工商银行" ;
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00" )
{
series2.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='3' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series3 = new XYSeries("邮政储蓄" ;
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00" )
{
series3.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
//db.close();
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='4' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series4 = new XYSeries("招商银行" ;
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00"))
{
series4.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
//db.close();
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='5' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series5 = new XYSeries("商业银行");
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00"))
{
series5.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
//db.close();
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='6' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series6 = new XYSeries("上海浦东发展银行");
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00"))
{
series6.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='7' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series7 = new XYSeries("建设银行");
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00"))
{
series7.add(i, Double.parseDouble(rs.getString(6)));
}
//System.out.println(rs.getString(6));
i++;
}
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='8' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series8 = new XYSeries("深圳发展银行");
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00"))
{
series8.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='9' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series9 = new XYSeries("广东发展银行");
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00"))
{
series9.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
}
catch(Exception e){}
sql="select * from bank_fee_status_his where item_id='10' and to_char(last_time,'yyyymmdd')='"+last_time+"' order by last_time asc";
XYSeries series10= new XYSeries("华夏银行");
rs=db.executeQuery(sql);
try{
double i=6.0;
while(rs.next())
{
if(!rs.getString(6).equals("0.00"))
{
series10.add(i, Double.parseDouble(rs.getString(6)));
}
i++;
}
db.close();
}
catch(Exception e){}
res.setContentType("image/jpeg");
//res.setContentType("text/html");
XYSeriesCollection dataset = new XYSeriesCollection();
//DefaultCategoryDataset dataset1=new DefaultCategoryDataset();
dataset.addSeries(series1);
dataset.addSeries(series2);
dataset.addSeries(series3);
dataset.addSeries(series4);
dataset.addSeries(series5);
dataset.addSeries(series6);
dataset.addSeries(series7);
dataset.addSeries(series ;
dataset.addSeries(series9);
dataset.addSeries(series10);
JFreeChart chart = ChartFactory.createXYLineChart(
"银行代收费统计("+last_time+")" , // chart title
"时间", // x axis label
"金额(元)", // y axis label
dataset, // data
PlotOrientation.VERTICAL,
true, // include legend
true, // tooltips
false // urls
);
/* JFreeChart chart = ChartFactory.createXYLineChart(
"银行代收费统计("+last_time+")" , // chart title
"时间", // x axis label
"金额(元)", // y axis label
dataset, // data
PlotOrientation.VERTICAL,
true, // include legend
true, // tooltips
false // urls
);
chart.setBackgroundPaint(Color.white);
StandardLegend legend = (StandardLegend) chart.getLegend();
legend.setDisplaySeriesShapes(true);
// get a reference to the plot for further customisation...
XYPlot plot = chart.getXYPlot();
//主图背景色
plot.setBackgroundPaint(Color.lightGray);
//柚线与图像的距离
plot.setAxisOffset(new Spacer(Spacer.ABSOLUTE, 5.0, 5.0, 5.0, 5.0));
//纵向的背景线颜色
plot.setDomainGridlinePaint(Color.white);
//横向的背景线颜色
plot.setRangeGridlinePaint(Color.white);
StandardXYItemRenderer renderer = (StandardXYItemRenderer) plot.getRenderer();
renderer.setPlotShapes(true);
renderer.setShapesFilled(true);
// change the auto tick unit selection to integer units only...
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
ChartUtilities.writeChartAsJPEG(res.getOutputStream(),
100,chart,710,550,null);*/
}
} |
|