微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – Jasper与不同应用程序之间的通信

我有Jasper Reports Server(安装在 www.example.com)和一个单独的Java / JSP应用程序(安装在 www.example.net),我正在寻找生成报告的不同选项.

选项1(当前工作解决方案)

我目前的工作解决方案是用户登录Java / JSP应用程序,并选择一个报告.应用程序创建报告的XML表示形式,将其保存为fileNameXML,然后使用以下代码将其发送到Jasper Reports Server:

<IFRAME height="600" width="1000" src="https://www.example.com/jasperserver/flow.html?
    _flowId=viewReportFlow&standAlone=true&_flowId=viewReportFlow&
    ParentFolderUri=%2Freports&
    reportUnit=%2Freports%2FExample_Report_2&j_username=user&
    j_password=password&
net.sf.jasperreports.xml.source=https://www.example.net/<%=fileNameXML%>">                              
     </IFRAME>

(请注意,即使我在URL中传递用户名和密码,安全性也不会受到影响,因为filenameXML是使用String fileName = UUID.randomUUID()创建的.toString()fileExt;)

选项2

我将Jasper Reports服务器直接连接到www.example.net上的sql Server数据库,并以此方式生成报告.这种方法的缺点是(a)我需要在Jasper Reports中设置所有用户(b)我需要以安全意识的方式传递参数,以便每个用户只能访问他们自己的数据(c)我只能访问数据库,而不能访问我的应用程序

我的理想解决方

但是,我真的希望能够通过Jasper访问我的应用程序的计算,并绕过登录到我的应用程序.

这样做的一个优点是我的应用程序还没有适当的移动访问权限,用户可以下载Jasper Mobile Application应用程序并从那里访问报告.

这将涉及以下内容

>用户登录Jasper
>用户选择报告
> Jasper使用某些参数调用我的应用程序
>应用程序创建XML文件
>应用程序返回此文件链接
>贾斯帕表示报道

实现这一目标的最佳方法是什么?

解决方法

我认为最好的方法是:

>在您的应用中创建一个随时可访问的URL,并且不需要登录.如果您使用的是Spring或任何其他框架,请说明这一点很好,因为我可以告诉您如何执行此操作.

有很多方法可以给这只猫上皮.让我知道您正在使用的技术,也许我们可以从那里开始.我们已经实现了您现在的要求.

谢谢.

原文地址:https://www.jb51.cc/java/129175.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐