Home
JavaEE
Java GUI
Framework
DHtml
Android
插画
教程下载

ATOM 2.0   RSS 2.0
Add to iGoogle Add to Live.com
  • 今天终于收到金山快盘的邀请码
  • 利用最短ie判断在不同浏览器上播放背景音乐
  • 对插画方面的一点感受与回忆
  • 网上看到的两个死里逃生的图片,记录一下
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 对Android在互联网应用开发上的纠结
  • 收藏夹中的书签都没了,决定写一个自已的书签管理器
  • 测试自已整理的本机的webapps客户端发送博文能否成功。
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 昨天借用飞姐的佳作做的一个浪漫爱情网页
  • 有几个腾讯微博的邀请码(实时更新)
  • BB的网站移到了GAE-JAVA上了
  • 一个基于GAE Python Web.py和JQuery的留言本程序
  • 类许愿墙的一个告白网站和一个电子书网站
  • Android中用Bitmap获取图片中某个区域的图象
  • 对暴力破解带密码的QQ相册的可行性分析
  • 对淘宝web旺旺版一些通讯接口的研究

在客户端IE中使用jasperView,客户端显示JasperViewer

posted by David Chen at July 11, 2009, 2:43 AM    

jasperView如果在servlet 中使用的话, 因为jsp和servlet 是服务端代码,所以无论客户端怎么点击servlet
的链接, 都只会在服务器上出现 jasperView生成的applet.

要使在客户端生成jasperView 的applet,

注意:
applet.jar, carnet.crt 都在 WebRoot 目录下
applet.jar包括了 jasperreport.jar , poi.jar, jxl.jar, jfreechat.jar, antlr.jar , commons.jar ….
可根据功能去掉一些jar, 为了方便, 我全部打包一下applet.jar里了
如果仅有jasperreport.jar , 客户端的生成的jasperView 只能浏览报表内容
但是不能够导出, 保存.

1) servlet ,返回 jasperPrint 的数据流
resp.setContentType("application/octet-stream");
try {
    ObjectOutputStream out = new ObjectOutputStream(resp.getOutputStream());
    out.writeObject(ReportFactory.getReport(jasperNameValue, map));
    out.flush();
    out.close();
} catch(Exception ex) {
}
// 将jasperPrint以流方式发送到客户端 ,让 applet接收

2) test1.jsp 调用报表的servlet 链接
<applet code= "ViewReport.class" archive ="applet.jar" width= "600" height ="500">
< name ="REPORT_URL" value= "<a href="http://www2.blogger.com/jaspername=" date1="2006-09-01&date2=" cancelcount="1&guaranteeNo=">http://192.168.18.59:80/atacarnet/viewReport/?jasperName=WeeklyIssuanceReport1&date1=2006-09-01&date2=2006-12-01&cancelCount=1&guaranteeNo=2 </a>">
</ applet>
// 其中 applet.jar 的类有很多, 下面有说明
ViewReport.class 是用在applet.jar 的根下的

3) Applet调用 JasperViewer.viewReport(jprint, false);
public class ViewReport extends JApplet {

public ViewReport() throws HeadlessException {
    super();
    // TODO Auto-generated constructor stub
}

public void init() {
try {
    URL url = new URL(this.getParameter("REPORT_URL"));
    JasperPrint jprint = (JasperPrint) JRLoader.loadObject(url);
    JasperViewer.viewReport(jprint, false);
} catch(Exception ex) {
    JOptionPane.showMessageDialog(this, ex.getMessage());
}
}

public void start() {
}
}

4) 给Applet.jar进行数字签名
1.Generate key: 於 command line下輸入 keyname 是你自己設的。這裡叫javaworld 。
keytool -genkey -keyalg rsa -alias carnet
填入你的資訊。 此時產生的是key 而已。 2.Export key: 於 command line下輸入 keyname 是你剛才設的。叫javaworld 。 anyname 是你自己設要產出的 cert。我都取和 keyname 一樣。
keytool -export -alias carnet -file carnet.crt
3.key 已成為檔案。 4Create JAR: 於command line 下輸入 applet 名稱看你自己要 jar誰…
jar cvf jarname.jar ViewReport.class
如果是目錄裡所有的檔案的話 例如你的東西全在classes 目錄下, 可先進入此目錄,再鍵入
jar cvf xxx.jar .
那一" 點" 記得要加…代表以下所有檔案。 5.sign jar: 於 command line 下輸入 keyname 就之前輸入的那個名字。carnet 。
jarsigner jarname.jar carnet
6. 密碼不要忘了耶。 7. 每次 compile classes後,要再編成 jar 一次,再singer 一次。

先用 cmd 命令去到 applet的目录下, 动行上面的命令,就可以生成经过签名的jar 包了,
同时生成carnet.crt

5) 打开 &lt;/a href="http://192.168.18.59/atacarnet/test1.jsp">http://192.168.18.59/atacarnet/test1.jsp&lt;/a&gt;
这样, 就可以提示是否信任数字签名,然后点 "YES" 就可以了
以测试, 别的机也可以看到.

相关文章:
在JasperViewer的报表中添加超链接
Labels:   JavaEE    JasperReport  
Trackback:   http://cwq.iou1314.com/jasperreport-jasperview_a4
微博最近更新
[2010-07-31 16:33]    今天下午又将昨天赢的哎齐出来了,郁闷,一进一出,要有入没出才行啊。
[2010-07-31 07:40]    昨晚又去啊泄度开台,呢次赢左差唔多3旧水,下周星期一请假,回郁南去转社保和入党资料。
本站内的任何文章,只代表个人意见或学习所用,如有版权声明,请尊重作者的劳动成果,在转载时请保留原始链接并注明出处。
Power by David's PhpCms, © 2007 - 2010 CWQ.IOU1314.COM All Rights Reserved.