In the past, multiple times, I have created jasper reports integration in web applications in the following manner... This assumes that you have created your reports with the data source defined in the report definition (i.e. The SQL statement to select data for the report is in the report definition.) Create database table for storing the following...Report DefinitionsNamejrxml file nameCLOB containing HTML needed to present form to collect input parameters for report from userCreate a servlet which the reporting UI will use to communicate with the server and jasper reports engineCreate a web page that presents the Report UILet user select desired report from list retrieved from above table through the above servletOn selection of report...Retrieve the HTML associated with the report from above table through above servletPresent form retrieved from above table in divLet user edit the formSubmit the form to the servletOn the server, compile the jrxml file associated with the selected reportPump the parameters obtained in the last submit to the servlet into the compiled reportProduce the report using the jasper engine to a .pdf streamOutput that stream to the report UI for display (and possible conversions supported by the report UI)This approach provides your web application with a single implementation that allows for producing and viewing any or all reports, as well as allowing the user to control the rendering of the report as well (i.e. turn headers on/off). By presenting the reports in the UI as well, you can also provide buttons for printing and converting to different formats which can be used by all reports.