`
daoyongyu
  • 浏览: 125246 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

APPLET打印的一些总结

阅读更多
项目中使用的是APPLET打印,在实现过程中遇到一些问题,特总结如下。
首先要将Applet数字签名,授予访问本地资源,读写权限设置
步骤一:将Applet Class打成Jar包

jar -cvf  MyApplet.jar .


步骤二:生成证书及签名
1、keytool -genkey -keystore 7csky.store -alias 7csky
  这个命令用来产生一个密匙库,执行完毕后应该在当前目录中产生一个7csky.store的文件,这里的7csky是我自己定义的名字,你可以对它进行修改。另外在执行命令的时候还有提示你输入密匙库的密码,这里你一定要记住,否则后面要用的时候无法输入。

  2、keytool -export -keystore 7csky.store -alias 7csky -file 7csky.cert
  

这个命令用来产生签名时所要用的证书,同样这里的7csky也可以换成你自己需要的名字。这个命令执行完后在当前目录中产生一个7csky.cert的文件。

 
 3、 jarsigner -keystore 7csky.store MyApplet.jar 7csky
  
这个命令用上面产生的证书将我们的jar文件进行了签名。


步骤三:新建一个策略文件,并把这些策略文件加入(修改文件)
      1.新建applet.policy的文件,其内容如下:
     
keystore "http://192.168.200.35/JYDA/security/7csky.store","JKS";

grant signedBy "7csky"{ permission java.io.FilePermission "<<ALL FILES>>", "read,write";};


grant signedBy "7csky"{ permission java.io.FilePermission "<<ALL FILES>>", "read,write";};
代表授与当前已经签名的APPLET对文件系统的所有文件读写权限。

      2、 修改${java.home}/jre/lib/security目录下的java.security,找到下面这两行:
  policy.url.1=file:${java.home}/lib/security/java.policy
policy.url.2=file:${user.home}/.java.policy

第二行代表当前用户的策略文件。一般都没有。

  在下面添写第三行
  policy.url.3=http://192.168.200.35/JYDA/security/7csky.store  

完成这个修改后我们在前面创建的applet.policy文件才有效。

另外,在使用APPLET打印时,即使已经对APPLET签名了,有些浏览器还是会弹出有APPLET请求打印机操作的警告框,需要在策略文件中增加如下配置。

permission java.lang.RuntimePermission "queuePrintJob";
permission java.net.SocketPermission "127.0.0.1:1024", "listen,connect";




注意:
      在linux下的firefox中试了一下,发现有时firefox无法正常显示applet。发生这种情况的原因是由于firefox未安装jdk插件,读者可按如下的方法为linux版的firefox安装jdk插件:
    jdk插件的库文件是libjavaplugin_oji.so,这个文件在<JDK安装目录>/jre/plugin/i386/ns7目录中,其中ns7根据当前jdk版本不同而有所差异,但前两个字母都为ns。在linux下,jdk一般都安装在/usr/java目录中。
    找到libjavaplugin_oji.so文件后,再进行<firefox的安装目录>/plugins目录中,使用如下的命令为libjavaplugin_oji.so文件添加一个符号链接:

ln -s <jdk安装目录>/jre/plugin/i386/ns7/libjavaplugin_oji.so
重启Firefox,再访问applet.jsp页面,就可以正常显示applet了。

另:在html页面中,用javascript调用applet的方法时,同样不能访问客户端本地文件。只有在applet内部才可以访问本地文件。
分享到:
评论

相关推荐

    applet和servlet的通讯,并打印

    在Applet和Servlet之间进行通信,通常是为了实现一些复杂的交互功能,比如在这个例子中,Applet需要请求Servlet来获取文件流,然后利用该文件流进行打印。 1. **Applet请求Servlet**: 当Applet需要从服务器获取...

    zebra Applet打印

    总结,Zebra Applet打印技术为用户提供了一种高效、灵活的远程打印解决方案,尤其适合需要频繁打印标签和条形码的企业。了解并熟练掌握Zebra Applet的使用,对于提升企业的信息化水平和运营效率具有重要意义。

    jasperreports-applet-5.1.0.jar

    总结,JasperReports Applet 5.1.0是JasperReports在Web环境下的一种创新尝试,它通过applet技术实现了报表的在线打印,为开发者提供了更灵活的报表展示方案。理解并掌握这个特性,有助于提升Web应用的报表功能,为...

    Java燗applet+jasperReport 实现web端打印

    ### Java Applet + JasperReport 实现Web端打印 #### 背景介绍 在Web开发领域,特别是企业级应用中,精确打印与批量打印是非常重要的功能之一。这不仅关乎用户体验,还涉及到业务流程的顺利执行。传统的Web打印...

    SWT或Applet打开Office文件

    总结来说,利用SWT或Applet打开Office文件涉及到跨平台的文件操作、网络通信、安全性以及用户交互等多个方面。开发者需要理解这些技术的基本原理,并熟练掌握相关的API和库,以确保应用的安全、稳定和高效。同时,...

    解决报表打印各类问题集锦

    ##### 如何使用Applet打印数据结果 - **前提准备**:用户端需安装Java运行环境(JRE)。 - **操作步骤**: 1. 在报表预览页面选择Applet打印选项。 2. 系统自动启动Applet程序。 3. Applet从服务器获取报表数据并...

    jni_java_dll_jsp.zip_Java调用dll_applet_java Applet_java dll jsp_j

    总结,"jni_java_dll_jsp.zip"包含的资源提供了关于如何在Java中使用JNI调用DLL,特别是在Applet环境下如何安全地访问本地资源的解决方案。这对于需要结合Java Web应用和本地系统功能的开发者来说,是一份非常有价值...

    web打印控件大全

    总结来说,"Web打印控件大全"是一个包含多种Web打印解决方案的资源集合,对于开发人员来说,这是一份宝贵的参考资料,可以帮助他们在项目中实现高效且定制化的打印功能。无论你是初学者还是经验丰富的开发者,理解并...

    阳光酒店管理系统(javaapplet+SQL)130425.zip

    总结,阳光酒店管理系统充分利用了Java Applet的交互性和SQL数据库的强大功能,构建出一个高效、安全、易用的酒店管理解决方案。该系统不仅提升了酒店的服务质量,也为企业带来了显著的管理效益。对于学习和理解现代...

    家庭理财系统(java+applet)毕业设计—(包含完整源码可运行).zip

    《家庭理财系统基于Java+Applet的实现与分析》 ...总结,家庭理财系统利用Java+Applet技术可以构建出功能完善、易于使用的财务管理工具。然而,随着技术的发展,开发者应关注新技术的引入,以适应不断变化的网络环境。

    web打印.doc

    4. **直接打印报表**:客户端Applet接收到报表后,使用JasperReport直接打印。 #### 技术难点 在实现过程中,存在几个主要的技术难点: 1. **PDF报表生成**:如何高效地生成高质量的PDF报表。 2. **Applet与...

    iReport+jasperReport之客户端打印 ----数字签名

    当涉及到客户端打印时,尤其是通过 Applet 形式实现打印功能时,为了确保应用的安全性,数字签名变得尤为重要。 #### 二、Java沙箱与安全机制 Java沙箱(Java sandbox)是一种安全模型,它限制了Java Applet 或...

    基于Web打印控件jatoolsPrinter在物理平台下的应用及研究

    总结来说,jatoolsPrinter打印控件为B/S模式下的物流服务平台提供了高效的报表打印解决方案。通过克服浏览器打印的局限性,它实现了报表的精确控制和便捷操作,对物流行业的信息化进程起到了积极推动作用。这一技术...

    JavaCard入门源码

    总结起来,JavaCard入门源码提供了学习JavaCard技术的一个起点,通过这个项目,你可以了解到如何编写、编译、打包和部署JavaCard应用,以及如何设计和实现卡片上的业务逻辑。对于想要进入智能卡开发领域的初学者来说...

    Text Edit Applet-开源

    总结来说,Text Edit Applet是一个开源的Java小程序,提供了一个简单易用的所见即所得文本编辑环境,适用于各种小规模的文本编辑需求。其开源特性使得它有可能吸引开发者社区的贡献,不断进化和完善。在了解和使用这...

    Java文本打印机效果

    为了实现动态打印效果,程序通过更新文本显示位置并重新绘制Applet窗口来模拟打印机逐字符打印的过程。 - **文本位置更新**: - 变量`x_character`记录当前显示的字符位置。 - 每次循环时,`x_character`加1,...

    java基础知识总结

    上述代码展示了如何加载MySQL的JDBC驱动,连接到数据库,执行查询并打印结果。 总之,Java的基础知识涵盖了语言特性、程序结构、并发编程和数据库连接等多个方面,这些知识是成为一名熟练的Java开发者所必需的。...

    Java实验指导书_11

    在Java编程中,实验是...总结起来,这个实验涵盖了Java编程的基础,包括环境配置、主类的定义、输出语句的使用、Applet的创建以及图形绘制。这些知识点是Java学习者必须掌握的,为后续更复杂的编程任务打下坚实基础。

    Hello Java的实现

    这里,`main`方法是Java应用程序的入口点,`System.out.println`用于打印输出到控制台。 3. **编译源代码**:使用`javac`命令编译源代码文件,这将生成一个名为`HelloJava.class`的字节码文件。 4. **运行程序**...

Global site tag (gtag.js) - Google Analytics