2011-02-25 40 views
1

我開發了使用JasperReports進行報告的網絡應用程序。 因爲我必須使用Applet來查看客戶端的報告。我可以正常看到小程序中的報告,但是當涉及到打印時(當我單擊查看器中的打印按鈕時),它會引發一個異常,我可以在Java控制檯中看到它。我對這個問題進行了大量的研究,並且做了網絡專家提出的任何建議。我在catalina.policy文件中添加了授予權限,因爲我使用Tomcat作爲我的Web服務器。此外,在java.policy文件中添加授權許可給我的小程序作爲代碼庫。我簽署了具有Applet類文件的jar文件。但我仍然得到同樣的錯誤。從Applet打印JasperReport

下面是來自Java控制檯的堆棧跟蹤。

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 

回答

2

爲了讓一個applet打印您需要註冊的小程序:

Signing and Verifying JAR Files

Signing Your Applet

+0

非常感謝您的快速回復。我已經做到了。還設置了策略文件,catalina和java。我仍然有例外。 – Mihir 2011-02-25 12:13:30

+0

另一個問題是,如果我們簽署Applet和Jar文件,那麼是否需要更改策略文件? – Mihir 2011-02-25 12:14:32

+0

爲了獲得運行Applet的權限,我得到了附加的對話框,其中包含我在此附加的屏幕截圖。 – Mihir 2011-02-25 12:18:32