red*_*c01 6 html java sockets japplet
我无法获取和applet在HTML页面上工作.当我从applet类中删除套接字连接并在HTML页面上测试applet时,applet会显示,但是当我在类文件中添加套接字连接时,applet不显示,并且Java控制台出现时没有堆栈跟踪.我确定这是一个安全原因,因为我正在使用套接字连接,所以我所做的是创建一个签名的jar文件并将其放在applet标记中,如下所示:
<APPLET codebase="classes" archive="captureaudio/AppletTest.jar" code="captureaudio/AppletTest.class" width=350 height=200></APPLET>
Run Code Online (Sandbox Code Playgroud)
但是创建这个签名并没有奏效.
有人可以帮我这个吗?
回应安德鲁汤普森
我的Applet的命名空间是captureaudio.AppletTest类
在cmd提示符下,类文件所在的位置:
您需要使用keytool.exe,我在这里找到了如何为applet创建jar签名www.xinotes.org/notes/note/434/
jar -cf AppletTest.jar AppletTest.class
4.> jarsigner -verify -verbose -certs AppletTest.jar
sk 153 Thu Oct 13 11:28:38 BST 2011 META-INF/MANIFEST.MF
X.509, CN=xxxxx, OU=None, O=None, L=xxxxx, ST=xxxxx, C=GB (myce
Run Code Online (Sandbox Code Playgroud)
rt)[证书将于10/01/12 20:55到期]
315 Thu Oct 13 11:28:40 BST 2011 META-INF/MYCERT.SF
1352 Thu Oct 13 11:28:40 BST 2011 META-INF/MYCERT.RSA
0 Thu Oct 13 11:28:10 BST 2011 META-INF/
Run Code Online (Sandbox Code Playgroud)
smk 11015 Thu Oct 13 10:49:08 BST 2011 AppletTest.class
X.509, CN=xxxxxx, OU=None, O=None, L=xxxxxxxx, ST=xxxxx, C=GB (myce
Run Code Online (Sandbox Code Playgroud)
rt)[证书将于10/01/12 20:55到期]
s =签名已经过验证m =条目列在清单中k =在密钥库中找到至少一个证书i =在身份范围内找到至少一个证书
jar验证.
Java Plug-in 10.0.0.147使用JRE版本1.7.0-b147 Java HotSpot(TM)客户端VM
c:清除控制台窗口f:终结最终化队列中的对象g:垃圾收集h:显示此帮助消息l:dump classloader list m:print memory usage o:trigger logging q:hide console r:reload policy configuration s:dump system and部署属性t:dump thread list v:dump thread stack x:clear classloader cache
从bootclasspath检测到:C:\ PROGRA~1\Java\jre7\lib\deploy.jar
文件夹位置
web root>
------AppletTest.jar
------classes>
-----------captureaudio>
---------------------AppletTest.class
Run Code Online (Sandbox Code Playgroud)
使用 Java 网络启动协议 (JNLP)。这是分发小程序的正确方法。是的,必须对其进行签名才能访问套接字功能。
http://en.wikipedia.org/wiki/Java_Web_Start#Java_Network_Launching_Protocol_.28JNLP.29 http://www.oracle.com/technetwork/articles/javase/jnlp-142088.html