|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......技能|收集<Pstyle="TEXT-INDENT:2em">Java收集启动(JavaWebStart(JWS))能够完成在收集扫瞄器中运转具有全体特征的Java使用软件。Sun公司在2001年三月公布的Java1.0就已具有了对JWS的撑持,自从J2SE1.4版本以来,JWS就已成为Java运转时情况(JavaRuntimeEnvironment(JRE))的默许设置,不用再独自安装了,在这篇文章中,我将向您先容这一主要手艺。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">手艺<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">JWS是与收集扫瞄器相分离的使用软件,当用户点击链接的时分就会指向一个Java收集启动协定(JavaNetworkLaunchingProtocol(JNLP))文件,然后扫瞄器主动启动JWS,接着下载、缓存并运转基于Java手艺的使用软件。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在JWS面前的手艺是JNLP及其API,它们是在Java整体历程(JavaCommunityProcess)中开辟的。JWS实践上是JNLP标准的一个参考完成,JNLP手艺界说了一个尺度的文件格局,该格局形貌了怎样挪用一个JNLP文件。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">既然安装链接能够作为一般的HTTPURL的链接,那末您就能够经由过程网页来反省客户端是不是安装了JWS,您能够在IE中经由过程以下代码来反省:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">- <SCRIPTLANGUAGE="VBScript">onerrorresumenextIfisIE="true"ThenIfNot(IsObject(CreateObject("JavaWebStart.isInstalled")))ThenjavawsInstalled=0ElsejavawsInstalled=1EndIfIfNot(IsObject(CreateObject("JavaWebStart.isInstalled.1.4.2.0")))Thenjavaws142Installed=0Elsejavaws142Installed=1EndIfIfNot(IsObject(CreateObject("JavaWebStart.isInstalled.1.5.0.0")))Thenjavaws150Installed=0Elsejavaws150Installed=1EndIfEndIf</SCRIPT>
复制代码 <Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">开辟<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">开辟部署在JWS上的软件和开辟自力运转的软件在Java2平台上是基础不异的,好比,程序的出发点都是以下的尺度代码:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">publicstaticvoidmain(String[]argv)<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">但是,为了撑持收集部署,也就是完成主动下载和挪用软件,而且包管软件在一个平安的沙盒中运转,还必要一些分外的思索,包含:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">使用软件必须作为JAR文件汇合来利用;<Pstyle="TEXT-INDENT:2em">一切的使用软件资本,好比文件、图片都必须存储在JAR文件中,并且它们都必须利用Java2平台的getResource机制来援用;<Pstyle="TEXT-INDENT:2em">使用软件可使用System.exit挪用;<Pstyle="TEXT-INDENT:2em">举行不受限定地会见体系的软件必要经由过程署名的JAR文件来利用,并且JAR文件中一切的项目都必须经由署名;<Pstyle="TEXT-INDENT:2em">假如软件要运转在一个平安沙盒中,那末它必须遵守以下的限定;<Pstyle="TEXT-INDENT:2em">不克不及举行当地磁盘会见;<Pstyle="TEXT-INDENT:2em">一切的JAR文件都必需从统一个主机下载;<Pstyle="TEXT-INDENT:2em">只能和下载JAR文件的主机之间创建收集毗连;<Pstyle="TEXT-INDENT:2em">不克不及安装平安办理器;<Pstyle="TEXT-INDENT:2em">不克不及利用当地类库;<Pstyle="TEXT-INDENT:2em">对体系属性的会见遭到限定,关于JNLP中界说了的体系属性,使用软件能够举行读/写操纵,而且关于不异的属性汇合具有和applet一样的只读权限。<Pstyle="TEXT-INDENT:2em">平安<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">JWS是构建于Java2平台之上的,Java2平台供应了一个周全的平安架构,在Java6.0版中,JWS则供应了加倍壮大的平安特征,好比代码署名。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">在默许形态下,经由过程JWS挪用的使用软件将运转在一个遭到限定的情况中(一个“沙盒”),它们对当地盘算资本的会见,好比存储设备和当地收集,是无限的。如许,JWS就包管了下载的潜伏的不成信托的软件不会危及到当地文件或收集。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">固然,使用程序也能够哀求不受限定的当地体系会见,在这类情形下,当该软件第一次挪用时,JWS将显现平安告诫对话框,平安告诫的内容包括软件开辟者的信息。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如一个使用软件包括了一个或多个经由署名的JAR文件,JWS将会考证这些JAR文件在署名后是不是产生过变更,假如数字署名的认证失利,那末JWS就不会运转该软件,由于它们已被第三方修正过了。经由过程在JNLP文件中增加以下的设置,一个使用软件能够哀求完全的权限。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">- <security><all-permissions/></security>
复制代码 <Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">JNLP文件<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">JNLP是一个和JWS严密相干的观点,它常常能够和术语“收集启动”互相替换利用,实践上,JNLP是一个划定了JWS使用软件怎样启动的协定。JNLP中的包括了诸如JAR包文件的地位、使用软件次要类的称号,和程序的别的一些参数。在得当设置的扫瞄器中,JNLP文件是传送给JRE的,然后JRE将会下载使用软件到用户的呆板上并入手下手实行。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">一个JNLP文件不包括任何二进制数据,实践上它包括的URL指向一切的二进制数据和二进制代码资本。这些文件还能够指向其他的JNLP文件,它们被称为扩大形貌符,一个扩大形貌符一般形貌了运转软件所必须的组件,在扩大形貌符中形貌的资本将会成为使用软件类路径的一部分,如许,经常使用的功效只必要形貌一次便可,以下的例子是一个罕见的JNLP文件:<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">- <?xmlversion="1.0"encoding="UTF-8"?><jnlpcodebase="http://www.helloworld.com/hw_app"><information><title>Helloworld!</title><vendor>MyWebCompany</vendor><iconhref="http://www.webjx.com/htmldata/2007-05-22/hello.jpg"/><offline-allowed/></information><resources><j2seversion="1.3+"/><jarhref="hw.jar"/></resources><application-descmain-class="com.helloworld.Hello"/></jnlp>
复制代码 <Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">这个JNLP文件形貌了怎样挪用名为Hello的程序,在JNLP文件中指定了必要1.3或更高版本的Java来运转该程序,同时另有一些与程序相干的信息,这些信息城市在用户下载的过程当中显现。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">假如您但愿懂得更具体的JNLP协定和文件格局,能够参考这个官方标准。<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">结论<Pstyle="TEXT-INDENT:2em"><Pstyle="TEXT-INDENT:2em">JWS供应了一种与平台有关的、平安的并且壮大的部署手艺,开辟者只必要将使用软件部署在收集服务器上就能够为终极用户供应全体的功效,而终极用户也只必要利用收集扫瞄器就能够运转所需的使用软件,并且永久是最新的版本。<Pstyle="TEXT-INDENT:2em">JWS的一个次要长处是它克制了Java插件和分歧Java假造机的兼容性成绩,可是,利用收集启动的程序却不克不及像applet一样复杂地和扫瞄器举行通信。
你对java乐观有点盲目。java的关键就是在服务器上表现优异,而且它提供了整个开发所需要的工具。应该是说,看哪天。net有没有机会赶上java。 |
|