Java 将.jar部署到html页面中

Java 将.jar部署到html页面中,java,html,deployment,jar,applet,Java,Html,Deployment,Jar,Applet,因此,我有以下Java代码,它将小程序部署到html页面中 由于安全问题,我尝试将其设置为.jar,然后在.jar上签名,以首先查看它是如何工作的 不幸的是,考虑到.jar中的主类是相同的,我不确定应该更改什么才能将其作为.jar运行: p.println(document+"<applet name=\"myApp\" codebase="+codebase+" code="+code+ " width='+(scnWid-30)+' height='+(scnHei-45)+'>

因此,我有以下Java代码,它将小程序部署到
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+"\">');");
参考:

  • 编译/构建小程序的Java代码,并确保所有类 图像等文件和资源位于单独的目录中, 示例
    build/components

  • 创建一个
    jar
    文件,其中包含小程序的 类文件和资源

    cd构建

    jar cvf DynamicReedemo.jar组件

  • 如果小程序需要,请签署
    jar
    文件 例如,在具有默认设置的现代JRE中启动的特殊安全权限。默认情况下,未签名代码将被阻止

    jarsigner-keystoremykeystore-storepass abc123-keypass abc123 dynamicreteedemo.jar johndoe

    其中密钥库已设置并位于“myKeyStore” 别名是“约翰多” 密钥库密码和别名密码为“abc123”

  • 创建一个
    JNLP
    文件,描述小程序如何 应该启动

  • 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>     
    
    
    动态树演示
    动态团队
    

    Oracle网站的位置显示:

    要从HTML文件启动任何小程序以在浏览器中运行, 您可以使用applet标记。有关更多信息,请参阅Java小程序 课程如果小程序绑定为JAR文件,那么 需要做的不同是使用archive参数来指定 JAR文件的相对路径

    它声称

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

    是否适合使用
    html
    代码来显示存储为
    TicTacToe.jar
    的小程序,该小程序与
    html
    文件位于同一目录中。

    您能告诉我们您的问题吗?或者更详细地了解您遇到的“安全问题”?好吧,我想知道我应该向代码中添加什么,以便在html页面中运行.jar(基本上就是applet的.jar)。我尝试添加archive=“myjar.jar”,但没有成功(即使myjar.jar与主类位于同一目录中),好吧,我有点理解这一点,但我遇到的问题是,我的html页面是使用java构建的,因此我无法将Applet.html与其他页面放在同一个目录中,因为它确实不存在。现在,Applet标记不受支持。我是否可以在没有小程序的情况下运行jar文件?
    <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>                 
    
    <applet code=TicTacToe.class 
            archive="TicTacToe.jar"
            width="120" height="120">
    </applet>