日期:2014-05-17  浏览次数:20839 次

JasperReport报表打印的问题?
对于jasperreport里的webapp的例子,里面有调用jasperPrint的对象.这里可以用下面的方式也可以同样得到.

jasperPrint=(JasperPrint) request.getSession().getAttribute(BaseHttpServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE);


在这过程中我遇到这样的问题,就是applet的安全问题?
点击打印时报错,如下所示错误信息,

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.awt.windows)
	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.applet.AppletSecurity.checkPackageAccess(Unknown Source)
	at java.lang.Class.checkMemberAccess(Unknown Source)
	at java.lang.Class.getMethod(Unknown Source)
	at net.sf.jasperreports.engine.print.JRPrinterAWT.initPrinterJobFields(JRPrinterAWT.java:273)
	at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:140)
	at net.sf.jasperreports.engine.print.JRPrinterAWT.printPages(JRPrinterAWT.java:88)
	at net.sf.jasperreports.engine.JasperPrintManager.printPages(JasperPrintManager.java:348)
	at net.sf.jasperreports.engine.JasperPrintManager.printReport(JasperPrintManager.java:239)
	at net.sf.jasperreports.view.JRViewer$20.run(JRViewer.java:1126)
	at java.lang.Thread.run(Unknown Source)
basic: 模态已推进


而后有看到可能是安全问题,所以我在:java.policy的文件里加了以下的几行:

//localhost secuerity
grant codeBase "http://localhost:80/jasper-webapp/applets/*" {
    permission java.lang.RuntimePermission "accessClassInPackage.sun.awt.windows";  
};


为什么还会报同样的错误呢?
有人知道如何处理吗?
1 楼 axiang_2898 2006-12-14  
怎么没有人在啊?急啊!
2 楼 axiang_2898 2006-12-15  
此问题已解决了,呵呵!
3 楼 xinlnix 2007-01-09  
楼主如何解决的,能否提供?
目前,我正在解决如何在浏览器中打印jasperreport产生的pdf文件。

楼主《报表制作的思考--Applet与Servlet通信》一文很好,可是要在客户端打印pdf,是否要把服务器端的jasperreport.jar,itext...下载到客户端,能否只通过applet就实现打印。

如果不用pdf,只使用jasperreport专有格式.jasper能否实现applet打印?
4 楼 boogie 2007-01-10  
xinlnix 写道
楼主如何解决的,能否提供?
目前,我正在解决如何在浏览器中打印jasperreport产生的pdf文件。

楼主《报表制作的思考--Applet与Servlet通信》一文很好,可是要在客户端打印pdf,是否要把服务器端的jasperreport.jar,itext...下载到客户端,能否只通过applet就实现打印。

如果不用pdf,只使用jasperreport专有格式.jasper能否实现applet打印?

对applet进行数字签名就可以解决!applet访问本地资源是个安全问题
5 楼 boogie 2007-01-10  
axiang_2898 写道
此问题已解决了,呵呵!

如果是在每个客户端都加这些东西,那是不现实的!
6 楼 xinlnix 2007-01-11  
Applet的话,jasperreport-1.2.8-applet.jar怎么用,楼主能否提供?我在jasper网站上找了半天,也没见所说的webapp例子。不知如何使用?能否提供一些代码参考,谢谢。

7 楼 boogie 2007-01-13  
xinlnix 写道
Applet的话,jasperreport-1.2.8-applet.jar怎么用,楼主能否提供?我在jasper网站上找了半天,也没见所说的webapp例子。不知如何使用?能否提供一些代码参考,谢谢。


在jasperreport-1.2.8的下载包里,sample目录名webapp