Chinaunix

标题: 为什么在win2000中运行正常,在unix下就报错呢? [打印本页]

作者: zql1219    时间: 2004-02-18 16:07
标题: 为什么在win2000中运行正常,在unix下就报错呢?
我是用的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);*/
   }
  }
作者: rollingpig    时间: 2004-02-18 17:41
标题: 为什么在win2000中运行正常,在unix下就报错呢?
http://www.chinaunix.net/jh/26/106466.html




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2