使用套接字时在Java页面中嵌入Java JApplet

时间:2011-10-13 10:51:01

标签: java html 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>

但是创建此签名并没有奏效。

有人可以帮我吗?

已更新

回应Andrew Thompson

  1. 我没有提示接受数字签名代码
  2. 当前正在测试的applet是否在本地
  3. 是的,小程序正在尝试连接回服务器,其他服务器正在本地运行
  4. 我不确定java控制台是不是在向我显示任何异常。
  5. 我如何创建签名的JAR文件

    我的Applet的命名空间是captureaudio.AppletTest类

    在cmd提示符下,找到了类文件:

    1. 您需要使用keytool.exe,我在这里找到了如何为applet创建jar签名www.xinotes.org/notes/note/434 /

    2.   

      jar -cf AppletTest.jar AppletTest.class

    3. &gt; jarsigner AppletTest.jar MyCert警告:此jar包含签名者证书将在六个月内过期的条目
    4. 4.&gt; jarsigner -verify -verbose -certs AppletTest.jar

      s k 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
      

      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/
      

      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
      

      RT)       [证书将于10/01/12 20:55到期]

      s =签名已经过验证   m =条目列在清单中   k =在密钥库中找到至少一个证书   i =在身份范围内找到至少一个证书

      jar验证。

      JAVA CONSOLE

      Java Plug-in 10.0.0.147 使用JRE版本1.7.0-b147 Java HotSpot(TM)客户端VM

      用户主目录= C:\ Users \ xxxxxxx

      c:清除控制台窗口 f:在终结队列上完成对象 g:垃圾收集 h:显示此帮助信息 l:转储类加载器列表 m:打印内存使用情况 o:触发日志记录 问:隐藏控制台 r:重新加载策略配置 s:转储系统和部署属性 t:转储线程列表 v:转储线程堆栈 x:清除类加载器缓存

      0-5:将跟踪级别设置为

      从bootclasspath检测到:C:\ PROGRA~1 \ Java \ jre7 \ lib \ deploy.jar

      更新

      文件夹位置

       web root> 
      ------AppletTest.jar
      ------classes>
      -----------captureaudio>
      ---------------------AppletTest.class    
      

1 个答案:

答案 0 :(得分:0)

使用Java网络启动协议(JNLP)。这是分发applet的正确方法。是的,必须签名才能访问套接字功能。

http://en.wikipedia.org/wiki/Java_Web_Start#Java_Network_Launching_Protocol_.28JNLP.29 http://www.oracle.com/technetwork/articles/javase/jnlp-142088.html