当前位置:  技术问答>java相关

IE不能显示用了swing 的APPLET??? 在线等~~~~~~~~`

    来源: 互联网  发布时间:2015-09-15

    本文导语:  我在我的APPLET里加了SWING控件,在TOMCAT就不能显示了, 谁知道如何解决?  不在客户端装任何东西,就在TOMCAT中加类可以解决吗? | applet 数字签名    步骤一:(打包class文件)   在命令行中...

我在我的APPLET里加了SWING控件,在TOMCAT就不能显示了,
谁知道如何解决? 
不在客户端装任何东西,就在TOMCAT中加类可以解决吗?

|
applet 数字签名 

  步骤一:(打包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的,不过现在的浏览器安装时都已经自动安装了。





|
其实,缘故是这样的,所有java程序的运行都依赖于jvm,在浏览器中的也是一样,(一定要有本地的jvm,而不能上面说的在tomcat中加上什么类),一般情况下不需要在pc中安装jvm就可以在浏览器中运行applet是因为ie和netscape都已经内置了jvm,但问题是一般来说ie支持的java版本比较低,所以要运行所谓的swing,就需要在客户端系统中安装java plugin(java浏览器插件),当前的版本已经到了1.4.x,我装的是1.3.1.03,在jdk1.3.1以上都已经集成在j2sdk中,也可以独立安装,安装包名为j2re1.3.x等版本,你可以到java.sun.com上去找一个安装一下。

|
转移到java中去,这边是VC

|
java VM版本太低,java1.2以上

|
如果如你所说,我赞成楼上的意见,1.1.2以上才有 swing的,下载歌jdk   load 一下

|
请安装J2DK1_3-win.exe

|
既然能编译过,说明楼主已经装了jdk1.1.2以上的版本了。

需要在CLASSPATH中,添加 %JAVA_HOME%jrelibrt.jar

|
>>不在客户端装任何东西,就在TOMCAT中加类可以解决吗?
这个好像不行吧。

|
是jdk的问题。

    
 
 

您可能感兴趣的文章:

  • Mozilla 浏览器,中文字不能正常显示,显示的是一些方块,方块包含该字的编码:9D56,如何让它正常显示。
  • help,weblogic 为什么能显示html但不能显示jsp?
  • 我不知道该了什么?RH7.2里面txt不能显示中文,可是mozilla能显示有些中文网站
  • 中文问题:我使用的是MEPIS Linux,系统不能显示中文,我能不能把Redhat中的中文字体移植到这个系统中?
  • 请问:Linux不能显示U盘中中文文件名,但能显示中文的内容?怎么解决?
  • 刚学linux语言问题,运行在init5时候可以用中文正常显示,但在init3下不能显示中文,需在哪里调整
  • 为什么在applet里面显示一个弹出试菜单,不能显示,跟踪可以知道,代码都已经运行,为什么?为什么?
  • 在servlet里面用xml和xslt合成html文件,在ie5里面能正常显示,ie6里面不能正常显示!
  • 中文不能正常显示
  • 谁能帮我一下100分:在PDA的WinCE平台上,用JAVA语言开发程序,为什么不能在label,button显示汉字呢?却能在textarea中显示汉字呢!!!
  • Fedora挂载Windows分区为什么不能显示中文?
  • Fedora Core5 不能显示中文
  • IE下完好,Netscape不能显示
  • 请教我的opera为什么不能显示xml格式的文件
  • ELinks不能显示中文
  • 文字界面下不能显示中文!!!
  • 我的linux已经安装了flash player的插件,可是flash不能显示中文
  • 我安装了Redhat 7.3中文版,可以输入和显示中文文件,但是在光盘上的中文文件名却不能正确显示,为什么?你们的是这样的吗?
  • fedora下Netbeans不能显示中文
  • 在redhat8.0中怎么不能显示文件名的中文?
  • Applet对本地资源是不能访问的,那如果我要用Applet做打印设计,那如何是好呢??
  • applet与jsp通讯问题:applet为何不能正确显示网页?
  • 这个Applet程序为什么不能在网页中运行?提示找不到Java.awt.*;Java.applet.*;
  • 难道applet不能用socket?
  • 请问一下, 我用applet和服务器socket通信, 是不是不能用IE浏览运行我的applet程序?
  • applet小问题,我却不能搞定
  • Applet中包含Swing组件而不能正确绘画如何解决?
  • JBuilder编的Applet为何不能在IE中正确使用?
  • 用JBUILDER做出的applet好象不能用
  • 为什么applet&servlet不能都放在classes目录中
  • Applet能作什么,不能作什么,送分了
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 申请加薪时绝对不能说的4件事!
  • 在LINUX下不能拷影碟还是不能拷.dat文件??
  • sqlserver登陆后报不能为空不能为null的错误
  • 修改/ETC/FSTAB后,系统不能进入,/文件系统只读,不能改,我该怎么办,分不是问题
  • 在Linux下访问Windows的NTFS分区为什么不能写,也不能删里面的东西?
  • 在Linux下访问Windows的NTFS分区为什么不能写,也不能删里面的东西? iis7站长之家
  • 如何配置wu-ftp不能匿名登陆同时用户上传后的文件不能删除和修改?
  • 救急!Linux下WAS4.0不能启动(DB2 数据库也不能启动)
  • 高难Unix问题,为什么不能通过中国网通的宽带联接(ADSL)不能看到我的网站?
  • 在linux下面使用相关的硬件,为何不能,系统不能检测到modem,网卡,以及其他,请教
  • 新手虚心请教.在线等复....vsftp配置成功后,本机可以FTP上,但其他系统通过FTP工具不能上.防火墙不能关..
  • 在静态上下文中不能引用非静态方法test(),天啊,为什么我的main()不能调用任何其它函数?
  • 愁死了,一开始使用redhat7.3,安装时定制为服务器,squid不能使用,改用redhat9.0,安装时选择服务器安装选项,squid还是不能用
  • Redhat9为什么不能安装?是因为不能识别串口硬盘吗?
  • 为什么我安装完系统后不能输入密码,不能进系统
  • 装完fc1后,设置后可以上网了,网页,链接都可以,可是却不能收邮件,不能登陆,为什么,还有一个小问题,装完系统后,有什么特别好用的
  • 我在VMWARE上装LINUX的 ,安装时不能检测到 我的显卡的型号,安装好后不能进入KDE,高分求助啊
  • ubuntu没有顶部工具栏,不能移动,不能改变大小
  • 我的华硕笔记本M5000安装redhat9不能图形安装,用text模式安装完毕后也不能进xwindow
  • 【新人用Ubuntu】Ubuntu中复制粘贴怎么这么麻烦,CtrC、CtrV不能用,箭头又貌似太灵活不能控制~
  • 我在/etc/profile文件后面加上一段内容后,系统不能正常启动,也不能进入bash使用vi,ed,emacs,mv等指令,请问我怎么把/etc/profile文件内


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3