Академический Документы
Профессиональный Документы
Культура Документы
1 Configurar iReportDesigner
1.1 Descargar iReport Designer
El primer paso será descargar el iReport Designer desde el siguiente link:
https://community.jaspersoft.com/project/ireport-designer/releases
https://www.youtube.com/watch?v=oMz3uQq2PQg
2 Librerías y dependencias
2.1 Descargar librería Struts 2.5.20
Lo primero que vamos a realizar es descargar todas las librerías y dependencias requeridas
para nuestra aplicación struts2. Para ello iremos a la página oficial de struts2
https://struts.apache.org/download.cgi y descargaremos Struts 2.5.0.20 la versión “All
Dependencies”.
https://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%205.6.0/
3 Estructura del proyecto Web Struts2.5
A continuación, crearemos un proyecto del tipo “Dynamic Web Project”.
Hay que recordar que podemos elegir cualquier versión de apache tomcat, recomendado de
la versión 7 en adelante. Para este caso utilizaré “apache tomcat 8.5” con “Dynamic Web
Module 3.1.”
edu.cibertec.action (Controlador)
ReportAction.java
edu.cibertec.dao (capa de datos)
ReportDAO.java
edu.cibertec.sql (capa de conexión a la base de datos)
ConexionBD.java
Y un directorio:
“struts.xml”
struts-2.5.20
asm-5.2.jar
asm-commons-5.2.jar
asm-tree-5.2.jar
commons-beanutils-1.9.3.jar
commons-collections-3.2.2.jar
commons-digester-2.1.jar
commons-fileupload-1.4.jar
commons-io-2.6.jar
commons-lang-2.4.jar
commons-lang3-3.8.1.jar
commons-logging-1.2.jar
freemarker-2.3.28.jar
javassist-3.20.0-GA.jar
log4j-api-2.11.1.jar
ognl-3.1.21.jar
struts2-core-2.5.20.jar
struts2-jasperreports-plugin-2.5.20.jar
Jasper Reports
jasperreports-5.6.0.jar
Mysql 5
mysql-connector-java-5.1.34.jar
iText
iText-2.1.7.jar
4 Archivos de configuración xml
A continuación, configuraremos los 2 archivos de configuración.
import com.opensymphony.xwork2.ActionSupport;
6.2 ReportAction.class
package edu.cibertec.action;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.ResultSet;
import java.util.HashMap;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
import edu.cibertec.dao.ReportDAO;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
@Override
public String execute() throws Exception {
try {
rs = new ReportDAO().listadoAlumnos();
jasperPath =
ServletActionContext.getServletContext().getRealPath("/Reports");
pdfName = "Student Report";
rpt = "rptListadoAlumnos.jrxml";
JRResultSetDataSource resultSetDataSource = new
JRResultSetDataSource(rs);
HashMap<String, Object> pm = new HashMap<String, Object>();
JasperReport jr = JasperCompileManager.compileReport(jasperPath +
"/" + rpt);
JasperPrint jp = JasperFillManager.fillReport(jr, pm,
resultSetDataSource);
JasperExportManager.exportReportToPdfFile(jp, jasperPath +
pdfName + ".pdf");
fileInputStream = new FileInputStream(new File(jasperPath +
pdfName + ".pdf"));
} catch (Exception e) {
System.out.println(e.getMessage());
}
return "SUCCESS";
}
}
6.3 ReportDAO.class
package edu.cibertec.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import edu.cibertec.sql.ConexionBD;
public ReportDAO() {
this.sql = new ConexionBD();
}
import java.sql.Connection;
import java.sql.DriverManager;
6.5 listadoAlumnos.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>Listado de alumnos</h1>
https://sourceforge.net/projects/jasperstudio/files/updatesite/6.3.1/