HTC G1怎么用Java软件?
我下载了一个虚机,可是一打开就提示错误用不了啊!!
更新时间:2023-07-07 15:07
最满意答案
在服务器端的调用APPLET的HTML文件中也需要将它包含进来,以便没有事先安装JRE的客户端下载,具体的写法,请接着往下看; 具体步骤如下: 服务器端: 1.将程序需要用到的各种包文件全部解压(我这儿要用到WEBLOGIC的JMS包使用命令jar xf weblogicc.jar),然后使用JDK的打包命令将编译好的监控程序.class和刚才解压的包一起打包到一个包中。(前提我已经将监控程序和解开的包都放在同一个目录下了),都是dos状态下的命令,具体命令见jdk1.3(1.2)的bin目录下, 命令如下: jar cvf monitor.jar *.class 此命令生成一个名为monitor.jar的包 2.为刚才创建的包文件(monitor.jar)创建keystore和keys。其中,keystore将用来存放密匙(private keys)和公共钥匙的认证,alias别名这儿取为monitor。 命令如下: keytool -genkey -keystore monitor.keystore –alias monitor 此命令生成了一个名为monitor.keystore的keystore文件,接着这条命令,系统会问你好多问题,比如你的公司名称,你的地址,你要设定的密码等等,都由自己的随便写。 3.使用刚才生成的钥匙来对jar文件进行签名 命令如下: jarsigner -keystore monitor.keystore monitor.jar monitor 这个命令将对monitor.jar文件进行签名,不会生成新文件。 4.将公共钥匙导入到一个cer文件中,这个cer文件就是要拷贝到客户端的唯一文件 。 命令如下: keytool -export -keystore monitor.keystore -alias monitor -file monitor.cer 此条命令将生成monitor.cer认证文件,当然这几步都有可能问你刚才设置的密码。这样就完成了服务器端的设置。这时你就可以将jar文件和keystore文件以及cer文件(我这儿是monitor.jar,monitor.keystore,monitor.cer)拷贝到服务器的目录下了,我用的是weblogic6.0,所以就拷贝到C:\bea\wlserver6.0\config\mydomain\applications\DefaultWebApp_myserver下的自己建的一个目录下了。 客户端: 1. 首先应该安装jre1.3.0_01,然后将服务器端生成的monitor.cer 文件拷贝到jre的特定目录下,我这儿是: c:\program files\javasoft\jre\1.3.0_01\lib\security目录下。 2. 将公共钥匙倒入到jre的cacerts(这是jre的默认keystore) 命令如下: keytool -import -alias monitor -file monitor.cer -keystore cacerts 注意这儿要你输入的是cacerts的密码,应该是changeit,而不是你自己设定的keystore的密码。 3. 修改policy策略文件,在dos状态下使用命令 policytool 系统会自动弹出一个policytool的对话框,如图4所示,在这里面首先选择file菜单的open项,打开c:\program files\javasoft\jre\1.3.0_01\lib\security目录下的java.poliy文件,然后在edit菜单中选择Change keystore ,在对话框中new keystore url:中输入 file:/c:/program files /javasoft/jre/1.3.0_01/lib/security/cacerts, 这儿要注意反斜杠,在new keystore type 中输入JKS,这是cacerts的固定格式,然后单击Add Policy Entry,在出现的对话框中CodeBase中输入: http://URL:7001/* 其中的URL是服务器的IP地址,7001是我的weblogic的端口,如果你是在别的应用服务器上比如说是apache,那端口号就可以省略掉。 在SignedBy中输入(别名alias):这儿是Monitor然后单击add peimission按钮,在出现的对话框中permission中选择你想给这个applet的权限,这儿具体有许多权限,读者可以自己找资料看看。我这儿就选用allpeimission,右边的signedBy中输入别名:monitor 最后保存,在file菜单的save项。 当然你可以看见我已经对多个包实现了签名认证。 这样客户端的设置就完成了。在客户端用ie运行该applet程序时,会询问你是不是对该签名授权,选择授权后,包会自动从服务器下载到本地计算机,而且ie会自动启动jre,在右下栏中可以看见,相当于ie的java控制台。 4.调用applet的html文件 大家都知道由于java2的安全性,对applet的正常调用的html文件已经不能再使用了,而改为ActiveX类型的调用。具体的又分ie和nescape的不同写法,这一些在sun网上都能找到现成的教程。我就不多说了,只是将我的这个小程序为ie写的的html给大家看看。 <html> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=gb2312"> <center> <h3>消息中心实时监控平台</h3> <hr> <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" width="900" height="520" align="baseline" codebase=" http://192.168.2.217:7001/j2re-1_3_0_01-win-i.exe#Version=1,3,0,0"> <PARAM NAME="java_code" VALUE="wise.monitor.applet.monitorApplet"> <PARAM NAME="java_codebase" VALUE="monitor/classes"> <PARAM NAME="java_type" VALUE="application/x-java-applet;version=1.3"> <PARAM NAME="ARCHIVE" VALUE="monitor.jar" > <PARAM NAME="scriptable" VALUE="true"> </OBJECT> </center> </html> 其中我要强调一点,因为applet每一次的改动都需要重新打包签名,手续非常繁琐,所以在具体的实现中要将一些会变化参数放到html文件中来,传到applet中去,这一点网上文章好多,自己去看吧。
其他回答
问题可以在明确一点吗?貌似没听过java applet的四种方法,可能是我寡闻了,坐等高手吧。
相关问答
更多-
详解Java解析XML的四种方法[2023-06-01]
1、DOM生成和解析XML方式 为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。 2、SAX生成和解析XML方式 为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文 ... -
java 中init 方法是干嘛用的 啊[2022-01-22]
import java; public class nihao extends Applet { public void init() { setBackground(Color,而且只被调用一次!运行Applet程序时首先调用该方法.*.希望你能明白. 给你举个例子吧! import java.*.awt.blue) } } 此例就是用init()方法设置Applet背景区域的颜色.applet,这样我的工夫也没白费Applet主要方法有init() start() stop() pain() destr ... -
求Java解析xml的四种 方法的代码 dom sax jdom dom4j[2023-06-08]
1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那 ... -
java有哪四种循环结构?区别?急!![2023-06-25]
do while while for 貌似就三种 勉强加一个(for each) 区别的话,.讲讲 do while 和while do...while 是先执行一次循环体再做判断要不要再循环 而while是先判断条件满不满足才执行循环体 -
java 中init 方法是干嘛用的 啊[2022-04-29]
Applet主要方法有init() start() stop() pain() destroy() init() 方法是初始化方法,用于在启动Applet程序之前做一些必要的初始化工作!运行Applet程序时首先调用该方法,而且只被调用一次. 举个例子: import java.awt.*; import java.applet.*; public class nihao extends Applet { public void init() { setBackground(Color.blue) } } ... -
JAVA中的四种不同作用域的范围[2022-09-03]
是指的访问权限么? 1,public 2,protected 3,(default) 4,private 1任何类都可以访问 2在同一个包中的所有类可以访问,以及该类的子类 3同一个包中的所有类 4只能在本类中访问 -
java关于applet问题(init方法)[2023-01-04]
由浏览器或 applet viewer 调用,通知此 applet 它已经被加载到系统中。它经常在第一次调用 start 方法前被调用。 如果 Applet 的子类要执行初始化,则应该重写此方法。例如,使用线程的 applet 将用 init 方法创建线程,用 destroy 方法销毁它们。 Applet 类提供的此方法实现不执行任何操作。 ———————————————————————————— 以上是JDK的API说明,实际用的时候一般是在这里获取html的参数,进行一些初始化。 -
你的MouseInsert不是Mousebandymas的内部类(顺便说一句,你为什么要扩展Mousebandymas?),所以当你改为填充时,你改变了其他一些toFill,而不是Mousebandymas中的那个。 你的意思是这样的: package mousebandymas; import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; public class Mousebandymas extends A ...
-
请理解,您无法完全控制是否或何时调用paint(...),并且repaint()调用仅是JVM要绘制的建议。 如果有太多的repaint()请求进入并且它们像你的那样堆叠起来,那么它们将被合并。 有关这方面的更多详细信息,请查看本文, 在AWT和Swing中绘画 。 无论如何,即使您的代码有效,它仍然不会对代码的用户造成任何可见的更改,因为所有x和y的更改和绘制几乎都会立即完成。 也许你真的想要使用Swing Timer? 也许你想在Swing而不是AWT中重新编码。 Please understand t ...
-
不要使用浏览器组合框。 直接在applet中使用JComboBox或Choice ,这样您就可以在不出门的情况下完成所有操作。 它可能如@Roman C所述,但对于您描述的任务来说似乎过于复杂。 To have my applet work; 1- I exported the applet as jar file(named as printApplet.jar) and copied it under the same folder as my xhtml page. 2- I put the appl ...