对JasperReports研究了2-3周了,期间走了一些弯路,过程也是曲折的。今天把工作中的心得总结一下,算是笔记吧!希望对同行是个帮助!
内容如下:
1,下载jasperreports-2.0.2-project.zip,其中包括的全部源码和demo。在Eclipse下全部编译,即可得到jasperreports-2.0.2.jar和jasperreports-2.0.2-applet.jar。
2,现在B/S模式大兴的应用模式下,我们公司也主要正对WebApp应用业务进行开发。因此鄙人对其Demo中的Webapp深入研究。
3,打包jasper-webapp.war,放在tomcat目录下的Webapps下,tomcat重启,自动解压jasper-webapp应用。这里有个注意点:就是sample的数据源是hsqldb。把驱动放好,然后要运行build.xml中的server,目的就是启动数据库。(只要启动过一次,以后都不用启动了,貌似这样)。这个时候,其它demo也就可以使用了,例如charts就会看到填充数据的表格,图片等等了。
4,打开IE,打开http://localhost:8080/jasper-webapp/,现在已经可以看到主页了。
5,在经过complie-fill-export中一切应用正常,但在applet viewer这里,会有安全问题。要对jasperreports-2.0.2-applet.jar进行安全数字签证。方法如下:(1) 生成密钥库(如boogie.store,别名为boogie)
keytool -genkey -keystore boogie.store -alias boogie
输入keystore密码: 123456
您的名字与姓氏是什么?
[Unknown]:
您的组织单位名称是什么?
[Unknown]:
您的组织名称是什么?
[Unknown]:
您所在的城市或区域名称是什么?
[Unknown]:
您所在的州或省份名称是什么?
[Unknown]:
该单位的两字母国家代码是什么
[Unknown]:
CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown 正确吗?
[否]: y
输入的主密码
(如果和 keystore 密码相同,按回车):
(2) 导出数字证书(如boogie.cer)
keytool -export -keystore boogie.store -alias boogie -file boogie.cer
输入keystore密码: 123456
保存在文件中的认证
(3) 对jasperreports-1.2.8-applet.jar文件进行签名
jarsigner -keystore boogie.store jasperreports-2.0.2-applet.jar boogie
Enter Passphrase for keystore: 123456
注意:以上都是在命令提示符下运行,把boogie.store boogie jasperreports-2.0.2-applet.jar三个文件放在同一个tomcat/webapp/applets目录下。(我从未开发过applet,刚开始一直报错:找不到类。)
现在所有的jasper-webapp都可以正常工作了!
思考:打印只能用Applet+Servlet来实现?!目前Jasper的Web打印方式,好像只有这样了!