Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在jsp页面上调用jasper报告_Java_Jsp_Jasper Reports - Fatal编程技术网

Java 如何在jsp页面上调用jasper报告

Java 如何在jsp页面上调用jasper报告,java,jsp,jasper-reports,Java,Jsp,Jasper Reports,当我通过.load()调用jrxml文件时,它会抛出一个异常FileNotfoundException。 我尝试过绝对路径,但它不起作用。请帮助。FileNotFoundException通常表示文件不在那里。从代码中获取路径并将其粘贴到文件系统资源管理器中,然后查看它是否存在 如果是,则表示由于某种原因无法访问: 当具有指定路径名的文件不存在时,FileInputStream、FileOutputStream和RandomAccessFile构造函数将引发此异常。如果文件确实存在,但由于某些原

当我通过
.load()
调用
jrxml
文件时,它会抛出一个异常
FileNotfoundException

我尝试过绝对路径,但它不起作用。请帮助。

FileNotFoundException
通常表示文件不在那里。从代码中获取路径并将其粘贴到文件系统资源管理器中,然后查看它是否存在

如果是,则表示由于某种原因无法访问:

当具有指定路径名的文件不存在时,FileInputStream、FileOutputStream和RandomAccessFile构造函数将引发此异常。如果文件确实存在,但由于某些原因无法访问,例如试图打开只读文件进行写入时,这些构造函数也会抛出该文件


在JavaIO中应该始终使用绝对路径。显然你试过的那一个是完全错误的。也许你只是根据webapp的部署位置猜到的。你不应该那样做。如果
jrxml
文件实际上位于webcontent中,那么您可以使用它将相对web路径转换为绝对磁盘文件系统路径,然后在通常的Java IO中进一步使用该路径

假设
file.jrxml
位于webcontent根目录中(例如可通过
http://example.com/contextname/file.jrxml
),下面是一个示例:

String absolutePath = getServletContext().getRealPath("file.jrxml");
File file = new File(absolutePath);

这取决于您如何为其提供对文件的引用。查看JRXmlLoader的文档 您可以看到,您可以通过引用将其传递给文件对象。您可能只是传递了一个字符串,这可能是错误的

试试像这样的东西 字符串路径=“/tmp/test.jrmxl”; 文件jrxmlFile=新文件(路径); JasperDesign JasperDesign=JRXmlLoader.load(jrxmlFile); 使用适当的try/catch和more,然后在担心加载程序之前先对文件进行调试


您可能应该获得一些jasperreports文档。这些书非常适合这些基本的东西。

提供失败的代码和堆栈跟踪