Social Icons

Pages

Monday 26 August 2013

LANGKAH KONFIGIRASI iREPORT DESIGNER,JASPER REPORT DENGAN TOMCAT (ECOM) & ORACLE DB


Pengenalan
Bagi programmer java sering mengalami kesukaran untuk memanggil fail  jasper report bersama dengan jsp yang banyak menggunakan kod aturcara yang panjang serta disimpan di dalam bean ataupun servlet. Di dalam tutorial ini, kod aturcara yang pendek serta ringkas digunakan untuk memanggil fail jasper report (*.jrxml).
Apa yang perlu anda ada ?
Anda perlu mendapatkan perisian seperti yang berikut :-

a.      iReport versi terkini yang boleh dimuatturun secara percuma dari laman web http://jasperforge.org/projects/ireport
b.      Download fail jar untuk groovy-all.jar, commons-beanutils.jar sebagai tambahan dalam fail lib yang terdapat dalam folder /WEB-INF/lib.

Andaian dalam tutorial ini :
1.     Anda menggunakan framework j2ee tomcat ecom staf atau pelajar UMP yang sudah mempunyai  fail lib jasper report di dalam folder /WEB-INF/lib.

2.     Anda sudah memasang program aplikasi ireport di dalam computer anda seperti yang terdapat dalam tutorial pemasangan ireport, xampp dan php yang lepas.

LANGKAH PENTING :
1.       Sila salin dan paste kan file groovy-all.jar, commons-beanutils.jar ke dalam folder  /WEB-INF/lib.
2.       Buat satu fail jasper report menggunakan ireport designer (.jrxml) dan pastekan fail ini ke dalam folder web/cms/jasper_report (folder yang dicipta) seperti yang anda selalu lakukan untuk membangunkan modul di ecom.
3.       Sila pastikan fail *jrxml berada di lokasi yang sah :


String filePath="D:/eComm_UMPStaff/web/WEB-INF/report/tomcat.jrxml";  


4.       Bagi laporan yang ada parameter yang perlu dihantar kepada fail jasper report anda perlu menambah kod berikut :-

Map parameters = new HashMap();
parameters.put("Title", "Laporan sabri");



5.       Sila ubah connection mengikut setup pangkalan data local di computer anda (jika anda menggunakan tomcat yang bukan framework ecommunity :-

conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:dbpekan","cmsadmin","root"); /* changed here */



CONTOH 1 : MENJANA LAPORAN (MENGGUNAKAN DATASOURCE CMSDB ECOM)



<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.util.*"%>
<%@ page import ="java.io.*"%>
<%@ page import ="java.sql.*"%>
<%@ page import ="net.sf.jasperreports.view.*"%>
<%@ page import ="net.sf.jasperreports.view.save.*"%>
<%@ page import="java.sql.Connection.*"%>
<%@ page import="java.sql.SQLException.*"%>
<%@ page import="java.util.HashMap.*"%>
<%@ page import="java.util.Map.*"%>
<%@ page import="net.sf.jasperreports.engine.JRException.*"%>
<%@ page import="net.sf.jasperreports.engine.xml.JRXmlLoader.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperExportManager.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperPrint.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperReport.*"%>
<%@ page import="net.sf.jasperreports.engine.design.JasperDesign.*"%>
<%@ page import="net.sf.jasperreports.view.JasperViewer.*"%>
<%@ page import="java.util.*,java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="java.text.*"%>
<%@ page import="javax.sql.*"%>
<%@ page session="true" %>
<%@ include file="/includes/import.jsp" %>

<%

                Statement stmt1;
                JasperReport jasperReport;
                JasperPrint jasperPrint;
                JRResultSetDataSource obj ;
                ResultSet rs3;
                String pdftext , csvtext , htmltext , xmltext , exceltext , wordtext , path;
                Connection conn = null;
                DBConnectionPool dbPool = null;


                try
                {
                Context initCtx = new InitialContext();
                 Context envCtx  = (Context) initCtx.lookup( "java:comp/env" );
                DataSource ds   = (DataSource)envCtx.lookup( "jdbc/cmsdb" );
                conn = ds.getConnection();
                dbPool = TvoDBConnectionPoolFactory.getConnectionPool(request);
                               
                }
                catch(Exception e)
                {
                                out.println("Database error : " + e.toString());
                }
               






if (conn!=null)
                {
               
                try {
                                               
String fileName="tomcat.jrxml";
String filePath="D:/eComm_UMPStaff/web/WEB-INF/report/tomcat.jrxml";  

 /* @window path */
//String filePath=request.getRealPath(""+"/WEB-INF/report/"+fileName); 
/* @linux path */
                                                               
jasperReport = JasperCompileManager.compileReport(filePath);
jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),conn);
response.setContentType("application/pdf");
response.addHeader("Content-Type", "application/pdf");
response.setHeader("Cache-Control", "no-cache");
JasperExportManager.exportReportToPdfStream(jasperPrint,response.getOutputStream());
                                                               
                }
                catch(Exception ee)
                                {
                                                                System.out.println(ee);
                                }

                                                               
                }
%>





CONTOH 2 : MENJANA LAPORAN (TANPA MENGGUNAKAN DATASOURCE)


<%@ page import="net.sf.jasperreports.engine.*"%>
<%@ page import="java.util.*"%>
<%@ page import ="java.io.*"%>
<%@ page import ="java.sql.*"%>
<%@ page import ="net.sf.jasperreports.view.*"%>
<%@ page import ="net.sf.jasperreports.view.save.*"%>
<%@ page import="java.sql.Connection.*"%>
<%@ page import="java.sql.SQLException.*"%>
<%@ page import="java.util.HashMap.*"%>
<%@ page import="java.util.Map.*"%>
<%@ page import="net.sf.jasperreports.engine.JRException.*"%>
<%@ page import="net.sf.jasperreports.engine.xml.JRXmlLoader.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperCompileManager.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperFillManager.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperExportManager.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperPrint.*"%>
<%@ page import="net.sf.jasperreports.engine.JasperReport.*"%>
<%@ page import="net.sf.jasperreports.engine.design.JasperDesign.*"%>
<%@ page import="net.sf.jasperreports.view.JasperViewer.*"%>
<%@ page import="java.util.*,java.sql.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="java.text.*"%>
<%@ page import="javax.sql.*"%>
<%@ page session="true" %>
<%@ include file="/includes/import.jsp" %>

<%
                Connection conn;
                Statement stmt1;
                JasperReport jasperReport;
                JasperPrint jasperPrint;
                JRResultSetDataSource obj ;
                ResultSet rs3;
                String pdftext , csvtext , htmltext , xmltext , exceltext , wordtext , path;
               

                Class.forName("oracle.jdbc.driver.OracleDriver"); /* @load oracle driver */
                conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:dbpekan","cmsadmin","root"); /* changed here */

                if (conn!=null)
                {
               
                                try {
                                               
                                                                String fileName="tomcat.jrxml";
                                                                String filePath="D:/eComm_UMPStaff/web/WEB-INF/report/tomcat.jrxml";    /* @window path */
                                                                //String filePath=request.getRealPath(""+"/WEB-INF/report/"+fileName);  /* @linux path */
                                                               
                                                                jasperReport = JasperCompileManager.compileReport(filePath);
                                                                jasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(),conn);
                                                                response.setContentType("application/pdf");
                                                                response.addHeader("Content-Type", "application/pdf");
                                                                response.setHeader("Cache-Control", "no-cache");
                                                                JasperExportManager.exportReportToPdfStream(jasperPrint,response.getOutputStream());
                                                               
                                                }
                                catch(Exception ee)
                                {
                                                                System.out.println(ee);
                                }

                                                               
                }
%>




CONTOH OUTPUT :






















No comments:

Post a Comment