带有oracle数据库的Jfree条形图servlet代码

时间:2013-12-04 03:43:03

标签: oracle servlets jfreechart bar-chart

我是jfree图表的新手我有以下代码运行没有任何错误,但浏览器显示我一个空页..不知道问题出在哪里。

我正在尝试使用servlet中的jfree图表创建条形图,并且将从oracle数据库中检索数据。

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
import java.util.*;
import java.io.IOException;
import java.io.OutputStream;
import javax.servlet.ServletException;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.chart.ChartFactory; 
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.JFreeChart; 
import org.jfree.chart.ChartUtilities; 



 public class BarChar extends HttpServlet {


        @Override
public void init() {
try {
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  System.out.println("JDBC driver loaded");
}
catch (ClassNotFoundException e) {
  System.out.println(e.toString());
}
}


   @Override
 public void doGet(HttpServletRequest request, 
 HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html");

 OutputStream out = response.getOutputStream(); 

 try{


 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn =     DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","FATIMAH", "FATIMAH");
  DefaultCategoryDataset bar = new DefaultCategoryDataset();
  Statement stmt = conn.createStatement();
   ResultSet r = stmt.executeQuery("select category,marks from chart_data");
   while (r.next()) 
   {
   String category = r.getString("CATEGORY");
   int marks = r.getInt("MARKS");
   bar.addValue(marks,"Mark",category);
    }



     JFreeChart BarChartObject=ChartFactory.createBarChart("Subject Vs Marks Bar    Chart","Subject","Marks",bar,PlotOrientation.VERTICAL,true,true,false);

    response.setContentType("image/png"); 


    ChartUtilities.writeChartAsPNG(out, BarChartObject, 400, 300);
     }
             catch (Exception e) {
           System.err.println(e.toString());
            }
         finally {
     out.close();
  }
}
 }

0 个答案:

没有答案