将 Java 小程序迁移到 Microsoft J# 浏览器控件(一)

翻译|其它|编辑:郝浩|2005-03-21 10:05:00.000|阅读 2458 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>


摘要:
JMicrosoft J# 浏览器控件允许开发人员将所编写的用于在 Java 虚拟机上运行的 Java 小程序迁移到 .NET Framework。本文向开发人员介绍 J# 浏览器控件,并说明将 Java 小程序迁移到 .NET Framework 的步骤。本文还涉及 J# 浏览器控件的安全性与调试以及当前版本中不支持的功能等主题。

本文假定开发人员熟悉 .NET Framework Visual J# .NET。要下载 J# 浏览器控件运行库,请参见 http://msdn.microsoft.com/vjsharp/downloads/browsercontrols/
 

目录:

  • 介绍
     
  • 将 Java 小程序编译为 J# 浏览器控件
     
  • 更新 HTML 页以使用 J# 浏览器控件
     
  • 部署 J# 浏览器控件
     
  • 在用户计算机上运行 J# 浏览器控件
     
  • 当前版本中不支持的功能
     
  • 结束语
     

介绍

使用 Visual J# .NET 迁移到 .NET Framework 的 Java 小程序称为“J# 浏览器控件”。J# 浏览器控件旨在让客户将他们现有的 Java 小程序迁移到 .NET Framework。

从 Java 小程序迁移过来的 J# 浏览器控件具有与 Java 小程序相似的运行时行为,并且还保留了 Java 语言语义。如果在计算机上安装了 J# 浏览器控件运行库,用户甚至可能不会意识到某个 Web 站点已经把它的 Java 小程序升级到 J# 浏览器控件了。

若要将 Java 小程序迁移到 J# 浏览器控件,您必须安装 Visual J# .NET 1.1 版可再发行软件包和 .NET Framework SDK 版本 1.1 或 Visual Studio® .NET 2003。同样,需要运行 Web 站点上承载的 J# 浏览器控件的用户必须在各自的计算机上安装 .NET Framework 1.1 Redistributable 和 J# 浏览器控件运行库。J# 浏览器控件不能用于在 Java 虚拟机上运行。J# 浏览器控件只能在 Microsoft Internet Explorer(5.1 及更高版本)中运行。
 

将 Java 小程序迁移到 J# 浏览器控件涉及以下三个步骤:

  1. 使用 Visual J# 编译器将 Java 小程序编译为 J# 浏览器控件。
     
  2. 更新 HTML 页以使用 J# 浏览器控件来取代 Java 小程序。
     
  3. 将 J# 浏览器控件和 HTML 页复制到 Web 服务器。
     

将 Java 小程序编译为 J# 浏览器控件

通过使用 Visual J# 编译器 (vjc.exe) 将 Java 小程序编译成一个托管库,可将 Java 小程序迁移到 J# 浏览器控件。可以通过命令提示符或通过 Visual Studio .NET 将 Java 小程序源编译为 J# 浏览器控件。如果 Java 小程序是使用 Microsoft Visual J++ 6.0 开发的,则可能只需直接使用 Visual Studio .NET 将此项目升级到 Visual J# .NET 即可。

将 Java 小程序编译为托管库的方法与编译 Visual J# 中任何其他库的方法相似。多数情况下,将 Java 小程序编译为托管库时不需要更改 Java 小程序源代码,因为 J# 浏览器控件运行库能够支持 Microsoft Java 虚拟机中的大多数功能。这包括对 JDK 1.1.4 级别包和 java.applet 包中的功能的支持。

包含 J# 浏览器控件的托管库与 .NET Framework 中的其他托管库没有什么不同。当用户访问承载 J# 浏览器控件的 Web 站点时,J# 浏览器控件运行库将下载托管库,然后在 Internet Explorer 中运行该托管库。
 

使用小程序类文件创建 J# 浏览器控件

如果只存在与 Java 小程序相对应的字节码(.class 文件),则可以使用 Visual J# 二进制转换器工具 (JbImp.exe) 将 Java 小程序转换为托管库。

从命令提示符编译 Java 小程序

您可以从命令行使用 Visual J# 编译器 (vjc.exe) 编译 Java 小程序。例如:

C:\AppletSources>vjc.exe /target:library /out:MyApplet.dll *.java

此命令将把 Java 小程序源文件(扩展名为 .java)编译成一个名为 MyApplet.dll 的新的 .NET Framework DLL。

也可以使用 Visual J# 二进制转换器工具:

C:\AppletSources>jbimp.exe /target:library /out:MyApplet.dll *.class

如果安装了 Visual Studio .NET,则可从 Visual Studio .NET 命令窗口访问 Visual J# 编译器 (vjc.exe) 和 Visual J# 二进制转换器工具 (JbImp.exe)。如果没有安装 Visual Studio .NET,则必须确保这些工具位于命令提示符的路径中。

迁移那些使用资源的 Java 小程序时,必须按照升级使用资源的 Visual J++ 6.0 应用程序HowTo:Visual J# .NET 中的资源中描述的步骤操作。
 

使用 Visual Studio .NET 迁移 Java 小程序

如果 Java 小程序是 Visual J++ 6.0 项目,则也可以使用 Visual Studio .NET 来移植它。
 

使用 Visual Studio .NET 升级 Visual J++ 6.0 项目
 

  1. 在 Visual Studio .NET 中打开 Visual J++ 6.0 项目。此操作将启动 Visual J# .NET 项目升级向导。
     
  2. 在升级向导的所有步骤中单击“下一步”。升级向导将把 Visual J++® 项目转换为 Visual J# .NET 类库项目。
     
  3. 打开升级报告,查看向导在升级期间是否检测到任何问题。

    注意 报告将显示“不支持 Applet 项目”。可以忽略这一错误。在生成项目前,必须修复升级报告中列出的所有其他错误。
     
  4. 生成项目。此操作将把 Java 小程序编译为托管库。
     

不能通过在 Visual Studio 中单击“调试”然后单击“开始”或按下 F5 键的方法,在 Internet Explorer 中启动 J# 浏览器控件。必须将控件复制到 Web 服务器上的虚拟目录中才能运行它。有关更多信息,请参见部署 J# 浏览器控件和如何:调试 J# 浏览器控件

有关将 Visual J++ 6.0 项目升级为 Visual J# .NET 项目的更多信息,请参见从 Visual J++ 6.0 升级
 

更新 HTML 页以使用 J# 浏览器控件

将 Java 小程序编译为 J# 浏览器控件后,下一步就是更新 HTML 页以便立即使用迁移过来的控件。必须将 HTML 页中的 <APPLET> 标记和 Java <OBJECT> 标记转换为表示 J# 浏览器控件的 <OBJECT> 标记。

此白皮书中包含一个名为“HTML 小程序到对象标记转换器”的示例工具 (TagConvert.exe),该工具可以自动升级 HTML 页以使用 J# 浏览器控件。用于下载此示例工具的链接位于此白皮书的开头。请下载和并运行 TagConvertSetup.exe 以安装“HTML 小程序到对象标记转换器”(TagConvert.exe)。

可以按如下方式使用转换器工具:

TagConvert [options] <source files>

例如:

TagConvert.exe MyAppletPage.html

转换器工具的输入可以是任何文本文件,并可包含具有 .html、.htm、.asp 和 .aspx 扩展名的文件。

此工具将 <APPLET> 标记或 Java 小程序 <OBJECT> 标记替换为包含下面的 J# 浏览器控件 <OBJECT> 标记的 HTML 代码:

<OBJECT
CLASSID="clsid:a399591c-0fd0-41f8-9d25-bd76f632415f"
WIDTH= pixels
HEIGHT= pixels
ID=browserControlName
ALIGN= alignment
HSPACE= pixels
VSPACE= pixels
VJSCODEBASE = codebaseURL
>
<PARAM NAME = parameter1 VALUE = value>
<PARAM NAME = parameter2 VALUE = value>
. . .
alternateHTML
</OBJECT>

其中:

CLASSID

  下载并执行 J# 浏览器控件的 ActiveX 控件的 CLASSID。在 J# 浏览器控件 <OBJECT> 标记中必须原样使用该 CLASSID。
 
VJSCODEBASE

  J# 浏览器控件类的 URL 和包含该类的托管库。“#”标记将托管库文件名与 J# 浏览器控件类名分隔开。如果文件名包括空格,则 VJSCODEBASE 属性值需要放在引号中。文件名中还必须包含文件扩展名。例如:

VJSCODEBASE =
http://www.microsoft.com/MyApplet/MyAppletClass.dll#MyAppletClass

如果您选择手动更新 HTML 页,则可以通过将 <APPLET> 或 Java 小程序 <OBJECT> 标记替换为上面的 J# 浏览器控件 <OBJECT> 标记来实现此目的。但是,由于此示例工具会生成一些附加的、能够改进您的浏览体验的 HTML 代码,因此建议您还是使用示例工具。
 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP