{"id":152,"date":"2014-06-19T22:19:40","date_gmt":"2014-06-19T20:19:40","guid":{"rendered":"http:\/\/www.valeriofinazzo.it\/wordpress\/?p=152"},"modified":"2014-06-19T22:23:36","modified_gmt":"2014-06-19T20:23:36","slug":"jasperreports-tutorial-7-integrare-il-report-in-una-servlet","status":"publish","type":"post","link":"http:\/\/www.valeriofinazzo.it\/wordpress\/2014\/06\/jasperreports-tutorial-7-integrare-il-report-in-una-servlet\/","title":{"rendered":"JASPERREPORTS TUTORIAL &#8211; 7 &#8211; INTEGRARE IL REPORT IN UNA SERVLET"},"content":{"rendered":"<p style=\"color: #0d293f; text-align: justify;\">Nell&#8217;articolo di oggi vedremo come rendere disponibile il report all&#8217;interno di una web application. Il report sar\u00e0 aperto invocando una url particolare e reso disponibile direttamente nel browser.<\/p>\n<p style=\"color: #0d293f; text-align: justify;\">Primo passo: creare la web application.<\/p>\n<p style=\"color: #0d293f; text-align: justify;\">Per fare questo ci avvaliamo di maven e uno dei suoi archetipi.<\/p>\n<pre class=\"lang:default decode:true\">mvn archetype:create \r\n-DgroupId=it.finazzo.web \r\n-DartifactId=ReportJasperWeb \r\n-DarchetypeArtifactId=maven-archetype-webapp<\/pre>\n<p style=\"color: #0d293f; text-align: justify;\">Creato il progetto possiamo importarlo in eclipse tramite la direttiva mvn eclipse:eclipse.<\/p>\n<p style=\"color: #0d293f; text-align: justify;\">Secondo Passo: definire la servlet per l&#8217;export<\/p>\n<p style=\"color: #0d293f; text-align: justify;\">A questo punto dichiaramo la servlet che si preoccuper\u00e0 di esportare il report in formato pdf. Definiamo nel file web.xml la servlet e l&#8217;url pattern che la attiva<\/p>\n<pre class=\"lang:default decode:true\">&lt;servlet&gt;\r\n  &lt;servlet-name&gt;Manager&lt;\/servlet-name&gt;\r\n  &lt;servlet-class&gt;it.finazzo.servlet.Manager&lt;\/servlet-class&gt;\r\n  &lt;\/servlet&gt;  \r\n  &lt;servlet-mapping&gt;\r\n  \t&lt;servlet-name&gt;Manager&lt;\/servlet-name&gt;\r\n  \t&lt;url-pattern&gt;\/manager&lt;\/url-pattern&gt;\r\n  &lt;\/servlet-mapping&gt;\r\n&lt;\/web-app&gt;<\/pre>\n<p style=\"color: #0d293f; text-align: justify;\">Terzo Passo: implementare la funzione di export.<\/p>\n<pre style=\"color: #0d293f;\">JRDataSource ds = new it.finazzo.ds.DataSource();\r\nString reportFileName = \r\ngetServletContext().getRealPath(\"WEB-INF\/classes\/reportFromXml.jrxml\");\r\nJasperReport jasperReport = null;\r\njasperReport = JasperCompileManager.compileReport(reportFileName);\r\nJasperPrint jasperPrint = null;\r\njasperPrint = JasperFillManager.fillReport(jasperReport, new HashMap(), ds );\r\nJasperExportManager.exportReportToPdfStream(jasperPrint, resp.getOutputStream());\r\n\r\n<\/pre>\n<p style=\"color: #0d293f; text-align: justify;\">Recuperiamo il file jrxml dal classpath e usiamo il metodo per esportare il report direttamente nell&#8217;output stream della response, con l&#8217;effetto di aprire il file direttamente nel browser quando invochiamo l&#8217;url\u00a0http:\/\/localhost:9000\/Report\/manager<\/p>\n<p style=\"color: #0d293f; text-align: justify;\"><a style=\"color: #2675b5;\" title=\"Jasper Reports - Esportare report tramite servlet\" href=\"http:\/\/www.valeriofinazzo.it\/joomla\/file\/ReportJasperWeb.zip\" target=\"_blank\">Qui\u00a0<\/a>sono disponibili i sorgenti per provare in locale.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nell&#8217;articolo di oggi vedremo come rendere disponibile il report all&#8217;interno di una web application. Il report sar\u00e0 aperto invocando una url particolare e reso disponibile direttamente nel browser. Primo passo: creare la web application. Per fare questo ci avvaliamo di maven e uno dei suoi archetipi. mvn archetype:create -DgroupId=it.finazzo.web -DartifactId=ReportJasperWeb -DarchetypeArtifactId=maven-archetype-webapp Creato il progetto possiamo &hellip; <a href=\"http:\/\/www.valeriofinazzo.it\/wordpress\/2014\/06\/jasperreports-tutorial-7-integrare-il-report-in-una-servlet\/\" class=\"more-link\">Continua la lettura di <span class=\"screen-reader-text\">JASPERREPORTS TUTORIAL &#8211; 7 &#8211; INTEGRARE IL REPORT IN UNA SERVLET<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[23],"tags":[24,8,27],"_links":{"self":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/152"}],"collection":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/comments?post=152"}],"version-history":[{"count":5,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/152\/revisions"}],"predecessor-version":[{"id":159,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/posts\/152\/revisions\/159"}],"wp:attachment":[{"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/media?parent=152"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/categories?post=152"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.valeriofinazzo.it\/wordpress\/wp-json\/wp\/v2\/tags?post=152"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}