This section illustrates you how to draw statistical chart in jsp by getting values from database..
To draw a bar chart, we have used JFreeChart Library. JFreeChart is a chart library used to generate different variety of charts. Download jar file: jfreechart.jar and jcommon.jar
Create a table in the database:
The class JDBCCategoryDataset provides the implementation over a database JDBC result set. Its constructor consists of url, driver, user, pass to connect to the database. The method executeQuery( query) executes the query against the existing database connection.
The class ChartFactory provides the utility methods for creating charts. The method createBarChart3D() creates a vertical 3D bar chart. The class PlotOrientation is used to indicate the orientation (horizontal or vertical) of a 2D plot.
The class ChartUtilities includes methods for converting charts to image formats (PNG and JPEG). The method saveChartAsJPEG(new File("C:/chart.jpg") saves a chart to a file specified in JPEG format.
Here is the code of bar.jsp
|<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="org.jfree.chart.ChartFactory" %>
<%@ page import="org.jfree.chart.ChartUtilities" %>
<%@ page import="org.jfree.chart.JFreeChart" %>
<%@ page import="org.jfree.chart.plot.PlotOrientation"%>
<%@ page import="org.jfree.data.*" %>
<%@ page import="org.jfree.data.jdbc.JDBCCategoryDataset"%>
String query="SELECT * from chart";
JDBCCategoryDataset dataset=new JDBCCategoryDataset("jdbc:mysql://localhost:3306/chart",
JFreeChart chart = ChartFactory .createBarChart3D(
PlotOrientation.VERTICAL,true, true, false);
ChartUtilities.saveChartAsJPEG(new File("C:/chart.jpg"), chart, 400, 300);
catch (IOException e)
System.out.println("Problem in creating chart.");
To run the above example start the tomcat and enter http://localhost:8080/application/jsp/bar.jsp to the address bar and hit enter. The image of chart is displayed in the file specified in the given location.
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.