Você está na página 1de 14

Instituto Politcnico Nacional

Escuela Superior de Computo

Web Application Development


Prctica Graficas
M. en C. C. Jos Asuncin Enrquez Zrate
asuncionez@gmail.com

Creacin de la Base De Datos

01/10/15

M.en C. C. Asuncin Enrquez Zrate

Creacin del Stored Procedure


DELIMITER $$
USE `demograficas`$$
CREATE PROCEDURE spDatosGrafica()
begin
select count(*) as Alumnos ,c.nombreCarrera as
carrera from Alumnos a, Carreras c where
a.idCarrera=c.id group by c.id;
end
$$
DELIMITER ;

01/10/15

M.en C. C. Asuncin Enrquez Zrate

Creacin de la clase Grafica (Fragmento)


public class Grafica {
private int cantidad;
private String nombre;
public Grafica() {}
public int getCantidad() { return cantidad; }
public void setCantidad(int cantidad) { this.cantidad = cantidad; }
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
@Override
public String toString() {
return "Grafica{" + "cantidad=" + cantidad + ", nombre=" + nombre
+ '}';
}
}
01/10/15

M.en C. C. Asuncin Enrquez Zrate

Clase DAO (Fragmento)


private static final String
SQL_GRAFICAR =
"{call spDatosGrafica()}";

01/10/15

M.en C. C. Asuncin Enrquez Zrate

Clase DAO (Fragmento)


public List grafica(Connection cnn) throws SQLException {
CallableStatement cs = null;
ResultSet rs = null;
List lista = new ArrayList();
try {
cs = cnn.prepareCall(SQL_GRAFICAR);
rs = cs.executeQuery();
while (rs.next()) {
Grafica grafica = new Grafica();
grafica.setCantidad(Integer.parseInt(rs.getString("Alumnos")));
grafica.setNombre(rs.getString("carrera"));
lista.add(grafica);
}
}
01/10/15

M.en C. C. Asuncin Enrquez Zrate

Clase DAO (Fragmento)


} finally {
if (rs != null) {
rs.close();
}
if (cs != null) {
cs.close();
}
}
return lista;
}

01/10/15

M.en C. C. Asuncin Enrquez Zrate

Clase Facade(Fragmento)

public List grafica() throws SQLException {


return dao.grafica(cnn);
}

01/10/15

M.en C. C. Asuncin Enrquez Zrate

Clase Delegate(Fragmento)

public List grafica() throws SQLException {


return facade.grafica();
}

01/10/15

M.en C. C. Asuncin Enrquez Zrate

Grafica (Vista JSP)


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<img src="grafica1.png"/>
</body>
</html>
01/10/15

M.en C. C. Asuncin Enrquez Zrate

10

Controlador (Servlet)
private void grafica(HttpServletRequest request,
HttpServletResponse response) throws IOException, ServletException
{
JFreeChart chart = ChartFactory.createPieChart3D(
"Alumnos Por Carrera",
getGraficaAlumnos(), true, true, Locale.getDefault());
String arc = getServletConfig().
getServletContext().
getRealPath("/grafica2.png");
ChartUtilities.saveChartAsPNG(
new File(arc), chart, 700, 400);
irAPagina("graficaX.jsp", request, response);
}

01/10/15

M.en C. C. Asuncin Enrquez Zrate

11

Controlador (Servlet)
private DefaultPieDataset getGraficaAlumnos() {
DefaultPieDataset pie = new DefaultPieDataset();
UsuriosDelegate del = new UsuriosDelegate();
try {
List datos = del.grafica();
for (int indice = 0; indice < datos.size(); indice++){
Grafica dto = (Grafica)datos.get(indice);
pie.setValue(dto.getNombre(), dto.getCantidad());
}
} catch (Exception ex) {
ex.printStackTrace();
}
return pie;
}
01/10/15

M.en C. C. Asuncin Enrquez Zrate

12

Resultado

01/10/15

M.en C. C. Asuncin Enrquez Zrate

13

Instituto Politcnico Nacional


Escuela Superior de Computo

Web Application Development


Prctica Graficas
M. en C. C. Jos Asuncin Enrquez Zrate
asuncionez@gmail.com

Você também pode gostar