社区
Java
帖子详情
在applet端写文件的程序,可以在本机器上运行成功,却不能在别的机器上运行,为什么??
ideal2004
2005-03-22 10:27:57
我在applet端写文件的程序,已经可以在自己编写applet文件的机器上运行(我用了使数字签名的方法)在别的机器上运行时,却不行,连提示“是否接收该证书”的对话框都没有出现,请问各位该怎么解决?谢谢
...全文
73
4
打赏
收藏
在applet端写文件的程序,可以在本机器上运行成功,却不能在别的机器上运行,为什么??
我在applet端写文件的程序,已经可以在自己编写applet文件的机器上运行(我用了使数字签名的方法)在别的机器上运行时,却不行,连提示“是否接收该证书”的对话框都没有出现,请问各位该怎么解决?谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
寒舍人
2005-03-23
打赏
举报
回复
已经转载了 n 遍了 希望对你有用
//------------------------------------------------------------
步骤一:(打包class文件)
在命令行中执行以下的语句:jar -cvf MyApplet.jar class
步骤二:(在网页中嵌入Applet)
这个网页的名字叫做FileReaderApplet.html,下面是嵌入Applet部分的写法:
<APPLET
CODEBASE = "."
CODE = "jcomponent.FileReaderApplet.class"
ARCHIVE ="MyClass.jar"
NAME = "TestApplet"
WIDTH = 400
HEIGHT = 300
HSPACE = 0
VSPACE = 0
ALIGN = middle
>
</APPLET>
完成这个步骤后,这个Applet已经可以显示了。但是还不能读写本地的文件系统。
步骤三:(生成证书及签名)
请在命令行环境下执行以下的命令:
1、keytool -genkey -keystore pepper.store -alias pepper
这个命令用来产生一个密匙库,执行完毕后应该在c:/admin中产生一个pepper.store的文件,这里的pepper是我自己的名字,你可以对它进行修改。另外在执行命令的时候还有提示你输入密匙库的密码,这里你一定要记住,否则后面要用的时候无法输入。
2、keytool -export -keystore pepper.store -alias pepper -file pepper.cert
这个命令用来产生签名时所要用的证书,同样这里的pepper也可以换成你自己需要的名字。这个命令执行完后在c:/admin中产生一个pepper.cert的文件。
4、 jarsigner -keystore pepper.store MyApplet.jar pepper
这个命令用上面产生的证书将我们的jar文件进行了签名。
步骤四:(修改文件)
1、 在c:/admin中产生一个名为applet.policy的文件,其内容如下:
keystore "file:c: /admin/pepper.store", "JKS";
grant signedBy "pepper"
{ permission java.io.FilePermission "<<ALL FILES>>", "read";
};
这个文件让由pepper签名的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=file:c: /admin/applet.policy
完成这个修改后我们在前面创建的applet.policy文件才有效。
步骤五:(转换html文件)
运行前面提到的HTMLConvert工具,将原有的FileReaderApplet.html转化成下面的形式:
<!--"CONVERTED_APPLET"-->
<!-- CONVERTER VERSION 1.3 -->
<OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
WIDTH = 400 HEIGHT = 300 NAME = "TestApplet" ALIGN = middle VSPACE = 0 HSPACE = 0 codebase="http://java.sun.com/products/plugin/1.3/jinstall-13-win32.cab#Version=1,3,0,0">
<PARAM NAME = CODE VALUE = "jcomponent.FileReaderApplet.class" >
<PARAM NAME = CODEBASE VALUE = "." >
<PARAM NAME = ARCHIVE VALUE = "MyApplet.jar" >
<PARAM NAME = NAME VALUE = "TestApplet" >
<PARAM NAME="type" VALUE="application/x-java-applet;version=1.3">
<PARAM NAME="scriptable" VALUE="false">
<COMMENT>
<EMBED type="application/x-java-applet;version=1.3" CODE = "jcomponent.FileReaderApplet.class" CODEBASE = "." ARCHIVE = "MyApplet.jar" NAME = "TestApplet" WIDTH = 400 HEIGHT = 300 ALIGN = middle VSPACE = 0 HSPACE = 0 scriptable=false pluginspage="http://java.sun.com/products/plugin/1.3/plugin-install.html"><NOEMBED></COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!--
<APPLET CODE = "jcomponent.FileReaderApplet.class" CODEBASE = "." ARCHIVE = "MyApplet.jar" WIDTH = 400 HEIGHT = 300 NAME = "TestApplet" ALIGN = middle VSPACE = 0 HSPACE = 0>
</APPLET>
-->
<!--"END_CONVERTED_APPLET"-->
大家不要看到这里的写法很复杂,但是这些都是由HTMLConvert工具自动实现的。这个工具有命令行和图形界面两种运行方式。
好了,现在这个Applet可以运行读写文件的功能了。如果你要考虑在Internet上实现这个Applet,那么你也不需要在所有的客户端均做上面的步骤,你只需要在你的服务器上创建一个目录,例如c:/admin,将这个目录映射为www.testApplet.com/admin。这里的www.testApplet.com是一个假定的网址,将pepper.cert、pepper.store、FileReaderApplet.html、MyApplet.jar以及applet.policy放在这个目录中,然后修改applet.policy文件如下:
keystore "http:// www.testApplet.com/admin/pepper.store", "JKS";
grant signedBy "pepper"
{ permission java.io.FilePermission "<<ALL FILES>>", "read";
};
3、 而每个客户端仅仅需要修改一下它们的${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:// www.testApplet.com/admin/applet.policy
当然每个客户端还是需要安装JRE的,不过现在的浏览器安装时都已经自动安装了。
yadg
2005-03-22
打赏
举报
回复
贴错了http://forum.java.sun.com/thread.jspa?messageID=3154381
yadg
2005-03-22
打赏
举报
回复
你看看这个http://community.csdn.net/Expert/TopicView.asp?id=3870196,看能不能找出办法来。
yadg
2005-03-22
打赏
举报
回复
哈哈,同病相连啊。我也是,大家看看我的问题http://community.csdn.net/Expert/TopicView.asp?id=3870196
Java
程序
的编辑、编译、
运行
Java应用
程序
是完整的
程序
,一般可以独立
运行
在Java虚拟机上,而Java
Applet
则是用Java语言开发的嵌在网页中的非独立
程序
,由web浏览器内包含的Java解释器来解释执行。 一、Java应用
程序
的编辑、编译、
运行
1.编辑源...
applet
与java
程序
之间的关系_Java应用
程序
和
applet
程序
之间有什么不同
Java应用
程序
和
applet
程序
之间有什么不同发布时间:2020-05-29 18:37:09来源:亿速云阅读:200作者:鸽子
applet
是一种Java
程序
。它一般
运行
在支持Java的Web浏览器内。因为它有完整的Java API支持,所以
applet
是一个全...
【Java】Java
Applet
运行
原理
java
applet
运行
原理
Java具有创建
applet
的能力,它是在Web浏览器中
运行
的小
程序
-
Applet
的限制
Java具有创建
applet
的能力,它是在Web浏览器中
运行
的小
程序
。这种
程序
必须是安全的, 所以其功能就有所限制。不过,对于Web编程的主要问题之一,即客户
端
编程来说,
applet
仍然是一个有力的工具。 编
写
applet
很...
java
applet
教程_教你构建第一个Java
Applet
程序
介绍Note: 在你开始本教程之前,你必须下载downloaded 并...不同 的是,它们是在一部分网页上
运行
,而不是在你的桌面上
运行
。本文的主要目的是创建一个简单的Java
applet
. 为了达到这一点要遵循以下三个基本步骤:1...
Java
50,527
社区成员
85,605
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章