Professional Documents
Culture Documents
GRAFICOS EN JSP
Empleando la Librería JfreeChart, que tiene muy buena resolución , vamos a graficar
los datos de una tabla que se encuentra en Oracle.
La tabla sesiones que tiene dos campos mes y venta ambos de tipo entero , crear la
estructura y adicionar datos en forma aleatora.
Creando la conexión utilizando la entidad session para almacenar los datos en una
ArrayList.
Conexión.java
package Clases;
import java.sql.*;
import java.util.*;
public class Conexion {
conectar_bd();
con=
DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","sys
tem","moreno");
rs= statement.executeQuery(sql);
while(rs.next()){
lista.add(new Sessiones(rs.getInt(1),rs.getInt(2)));
}
rs.close();
}catch(SQLException e ){
System.err.println("Error: "+e);
}
return lista;
La entidad Sessiones.java
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.awt.Color;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.data.xy.*;
import org.jfree.ui.*;
UTP -4- Ing. Alberto Moreno C.
import Clases.*;
return chart;
}
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("image/jpeg");
ChartUtilities.writeChartAsJPEG(salida,grafica,400,400);
salida.close();
}
import java.io.*;
import java.net.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.jfree.chart.*;
import org.jfree.data.category.*;
import org.jfree.data.*;
import org.jfree.chart.plot.*;
import java.awt.Color;
import Clases.*;
public class SerBarras2 extends HttpServlet {
}
UTP -5- Ing. Alberto Moreno C.
chart.setBackgroundPaint(Color.yellow);
chart.getTitle().setPaint(Color.blue);
CategoryPlot p = chart.getCategoryPlot();
p.setRangeGridlinePaint(Color.red);
return chart;
}
ChartUtilities.writeChartAsJPEG(salida,grafica,500,500);
salida.close();
A nivel de Cliente creamos una pagina HTML para llamar a los servlets respectivos
Tipos.Html
<html>
<head>
<script>
function ver(op){
switch(op){
case 1:fr.action="SerBarras2"; break;
}
</script>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-
8">
</head>
<body>
<form name="fr" action="">
</form>
<table>
UTP -6- Ing. Alberto Moreno C.
</table>
</body>
</html>