当前位置: 首页 > 知识库问答 >
问题:

JasperReport查看器JSP WebApp错误

宇文勇
2023-03-14


我正在使用;

  1. 雄猫8
  2. Jasper iReport 5.6也尝试了Jasper Studio 6.1
  3. Tomcat/lib/jasper报告-6.1.1
  4. Tomcat/lib/mysql-连接器-java-5.1.34-bin
  5. Tomcat/lib/commons-beanutils-1.9.0.jar
  6. Tomcat/lib/commons-collections-3.2.1.jar
  7. Tomcat/lib/commons-digester-2.1.jar
  8. Tomcat/lib/commons-logging-1.1.1.jar
  9. Tomcat/lib/groovy-all-2.4.3.jar
  10. itext-2.1.7.js3.jar

我尝试在Web服务器中显示报告;

<%@ page  import="java.io.*"%> 
<%@ page  import="java.sql.Connection"%> 
<%@ page  import="java.sql.DriverManager"%>
<%@ page  import="java.util.HashMap"%>
<%@ page  import="java.util.Map"%>
<%@ page  import="net.sf.jasperreports.engine.*"%>
<%@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>
    <h2>Hello World!</h2>
    <%
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db", "root", "root");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        File reportFile = new File(application.getRealPath("report.jasper"));
        Map parameters = new HashMap();
        byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parameters, conn);

        response.setContentType("application/pdf");
        response.setContentLength(bytes.length);
        ServletOutputStream outStream = response.getOutputStream();
        outStream.write(bytes, 0, bytes.length);
        outStream.flush();
        outStream.close();
    %>
</body>
</html>

任何想法和建议都受到高度重视
我已经按照本教程进行了学习

谢谢,
Supun

共有2个答案

郑胡媚
2023-03-14

请始终在$TOMCAT\u HOME/webapps/your project directory root/中创建项目目录,然后插入所有jar文件my making one in your project root as WEB-INF/lib

在项目根目录中,您可以添加html、css、js、jsp等,并将java文件添加到/WEB-INF/classes文件夹中

在您的情况下:

  1. 在webapps中创建您的项目目录
  2. 将您的所有图像、js、css、html、jsp等添加到您的项目根目录中
  3. 将所有jar文件添加到 /WEB-INF/lib文件夹中
  4. 还添加 /WEB-INF/web.xml(部署描述符)
  5. 重启tomcat

干杯

鲁向明
2023-03-14

你真的应该考虑正确部署你的应用程序看看@Ghayel的答案

您的问题是应用程序。getRealPath(“report.jasper”)返回null,因此它找不到报告。贾斯珀。。

由于您坚持工作代码:

代替

 File reportFile = new File(application.getRealPath("report.jasper"));

具有

File reportFile = new File("C:\\Program Files\\Apache Software Foundation\\Tomcat 8.0\\webapps\\reports\\report.jasper");

请确保您的。jrxml。贾斯珀在那里。。。空指针将消失。

 类似资料:
  • 我的问题与生成报告时的错误有关。 在JasperReports Server中创建了一个单输入控制值,但当您尝试生成报告时,我得到了错误: 在预览版iReport中,一切都完美无瑕。我将输入值并生成报告。

  • 表查看器 以网格显示表数据。数据可以用两种模式显示:网格查看 和 表单查看。表查看器工具栏提供了以下功能管理数据: 开始事务、提交 或 回滚 点击 开始事务 来开始一个事务。令事务中的全部改变永久完成,点击 提交。或点击 回滚 来在当前的事务中撤消所做的工作。 提示:提交 和 回滚 按钮只有当在选项中启用 自动开始事务 或按了 开始事务 按钮时可用。 导入数据 从文件导入数据。 导出数据 导出数据

  • 我需要一些关于JasperReport的帮助,这是我的模板 下面是主要类:

  • 问题内容: 我正在使用Java和RCP,并且尝试在Acrobat上显示pdf文档。我不需要更改它们。我的这段代码有这个错误。任何想法如何解决这个问题?附言:它同时运作良好。 问候,Haythem 问题答案: 看看这些免费的pdf渲染器… 一些链接… http://www.icepdf.org/(现在位于http://www.icesoft.org/java/projects/ICEpdf/over

  • 问题内容: 首先,我在iReport 5.1.0中制作了一个R_D1.jrxml文件。 我执行报告的Java代码如下所示: 当我执行该类时,出现以下异常: 我不确定自己在做什么错,或者这个异常意味着什么。 问题答案: 这里的主要问题是您尚未编译文件。将JRXML文件视为Java源文件。要运行Java文件,您必须先对其进行编译,然后才能运行。jrxml文件只是人类可读的XML文件,它描述了您想要发生

  • 对不起我的英语我是法语:) 我正在尝试学习如何在Android studio中编码,我从一个回收器视图开始,不幸的是我有一个错误我不知道如何修复它。 事先谢谢你的帮助 错误: mainactivity.java(所有代码) MainActivity中的错误部分 与之链接的外部代码: 再次提前道谢,祝你有美好的一天:)