将.jar部署到html页面

时间:2014-12-09 07:44:46

标签: java html deployment jar applet

所以我在Java中有以下代码,它将applet部署到html页面。

由于安全问题,我试图将其设为.jar,然后签署.jar以便首先查看它是如何工作的。

不幸的是,由于.jar中的主要类是相同的,我不确定要将其作为.jar运行我应该更改的内容:

p.println(document+"<applet name=\"myApp\" codebase="+codebase+" code="+code+ " width='+(scnWid-30)+' height='+(scnHei-45)+'>');");
        p.println(document+"<param name=user value=\""+user+"\">');");
        p.println(document+"<param name=sessionid value=\""+sessionid+"\">');");

这里采用代码库和代码:

public void init(ServletConfig config) throws ServletException {
            super.init(config);
            ServletContext context = getServletContext();
            applet_code_base = context.getInitParameter("applet_code_base");
            applet_code = context.getInitParameter("applet_code");

          }

2 个答案:

答案 0 :(得分:2)

参考Deploying An Applet In Under 10 Minutes

  1. 编译/构建applet的Java代码并确保所有类 文件和资源(如图像等)位于单独的目录中, 示例build/components

  2. 创建一个包含applet的jar文件 类文件和资源。

    cd build

    jar cvf DynamicTreeDemo.jar components

  3. 如果applet需要,请在jar文件上签名 例如,使用默认设置在现代JRE中启动的特殊安全权限。默认情况下,将禁止未签名的代码。

    jarsigner -keystore myKeyStore -storepass abc123 -keypass abc123 DynamicTreeDemo.jar johndoe

    其中keystore已设置并位于“myKeyStore” 别名是“johndoe” 密钥库密码和别名密码是“abc123”

  4. 创建一个描述applet方式的JNLP文件 应该推出。

  5. dynamictree-applet.jnlp

    <?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" codebase="" href="">
        <information>
            <title>Dynamic Tree Demo</title>
            <vendor>Dynamic Team</vendor>
        </information>
        <resources>
            <!-- Application Resources -->
            <j2se version="1.6+"
                  href="http://java.sun.com/products/autodl/j2se"
                  max-heap-size="128m" />
    
            <jar href="DynamicTreeDemo.jar" main="true" />
    
        </resources>
        <applet-desc 
             name="Dynamic Tree Demo Applet"
             main-class="components.DynamicTreeApplet"
             width="300"
             height="300">
         </applet-desc>
    </jnlp>     
    
    1. 创建将显示applet的HTML页面。从Deployment Toolkit调用runApplet函数以部署applet。
    2. AppletPage.html

      <body>
          ....
          <script src="http://java.com/js/deployJava.js"></script>
      
          <script> 
              var attributes = { code:'components.DynamicTreeApplet',  width:300, height:300} ; 
              var parameters = {jnlp_href: 'dynamictree-applet.jnlp'} ; 
              deployJava.runApplet(attributes, parameters, '1.6'); 
          </script>
          ....
      </body>                 
      
      1. 对于此示例,请将DynamicTreeDemo.jardynamictree-applet.jnlpAppletPage.html放在本地计算机或Web服务器上的同一目录中。测试此小程序不需要Web服务器。

      2. 在网络浏览器中查看“AppletPage.html”。将显示动态树演示小程序。查看Java控制台日志以获取错误和调试消息。

      3. 有关详细信息,请参阅Deployment Toolkit 101 - Java Tutorials Blog

答案 1 :(得分:0)

位于this位置的Oracle网站说:

  

从HTML文件启动任何applet以在浏览器中运行,   你使用applet标签。有关更多信息,请参阅Java Applet   课。如果将applet捆绑为JAR文件,那么你就是唯一的东西   需要做的就是使用archive参数来指定   JAR文件的相对路径。

声称

<applet code=TicTacToe.class 
        archive="TicTacToe.jar"
        width="120" height="120">
</applet>

是相应的html代码,用于将TicTacToe.jar存储的applet显示在与html文件相同的目录中。