JasperReport的打印小程序从 [英] Printing JasperReport From Applet
问题描述
的JasperReports
报告的目的我已经开发Web应用程序。
在我不得不使用小程序在客户端查看报告。我通常可以看到小程序报告,但是当涉及到印刷(当我在浏览器点击打印按钮),它抛出一个异常,我可以在Java控制台中看到。我上网很多关于这个问题,并做了这是由在网专家建议什么的。我加入 catalina.policy里
文件授予权限,因为我使用了的Tomcat
作为我的Web服务器。此外,在的java.policy
文件添加权限授予我的小应用程序为codeBase的。我签署了具有类文件一个applet的jar文件。但我仍然得到同样的错误。
以下是Java控制台的堆栈跟踪。
Java插件1.6.0_24
使用JRE版本1.6.0_24-B07的HotSpot的Java(TM)客户机VM
用户主目录= C:\\ Documents和Settings \\ Administrator的
异常的线程线程13java.lang.ExceptionInInitializerError
在net.sf.jasperreports.view.JRViewer $ 21.run(JRViewer.java:1211)
在java.lang.Thread.run(来源不明)
java.security.AccessControlException:引起拒绝访问(java.lang.RuntimePermission accessClassInPackage.sun.print)
在java.security.AccessControlContext.checkPermission(来源不明)
在java.security.AccessController.checkPermission(来源不明)
在java.lang.SecurityManager.checkPermission(来源不明)
在java.lang.SecurityManager.checkPackageAccess(来源不明)
在sun.plugin2.applet.Applet2SecurityManager.checkPackageAccess(来源不明)
在sun.misc.Launcher $ AppClassLoader.loadClass(来源不明)
在java.lang.ClassLoader.loadClass(来源不明)
在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(来源不明)
在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
在sun.plugin2.applet.Plugin2ClassLoader.loadClass0(来源不明)
在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
在sun.plugin2.applet.Plugin2ClassLoader.loadClass(来源不明)
在java.lang.ClassLoader.loadClass(来源不明)
在java.lang.Class.forName0(本机方法)
在java.lang.Class.forName(来源不明)
在net.sf.jasperreports.engine.JasperPrintManager< clinit>(JasperPrintManager.java:419)
... 2个
为了让一个applet打印您需要注册小程序:
I have developed web application which uses JasperReports
for reporting purpose.
In that I have to use Applet to View report at Client side. I can see report in applet normally , but when it comes to printing (when i clicked on Print Button in Viewer), it throws an Exception which I can see in Java Console. I surfed lots of about this Problem and did whatever which are suggested by experts on the net. I added the grant permission in catalina.policy
file as I uses the Tomcat
as my web server. Also, added grant permission to my applet as a codebase in java.policy
file. I signed the jar file which has class file for an Applet. But I still getting the same error.
below is the stack trace from Java console .
Java Plug-in 1.6.0_24
Using JRE version 1.6.0_24-b07 Java HotSpot(TM) Client VM
User home directory = C:\Documents and Settings\Administrator
Exception in thread "Thread-13" java.lang.ExceptionInInitializerError
at net.sf.jasperreports.view.JRViewer$21.run(JRViewer.java:1211)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.print)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkPackageAccess(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at net.sf.jasperreports.engine.JasperPrintManager.<clinit>(JasperPrintManager.java:419)
... 2 more
In order to allow an applet to print you need to sign the applet:
Signing and Verifying JAR Files
这篇关于JasperReport的打印小程序从的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!