从applet访问dll

时间:2014-02-15 19:45:28

标签: dll applet

我有一个“概念证明”的作品,跨越了一些不熟悉的领域。我对J2EE技术​​有一些经验。我的任务是将EFTPOS机器连接到Web应用程序。我打算用applet与dll进行交互。 dll将在客户端运行。

我需要与Web应用程序中的一个dll进行交互。请给我任何指导,因为我是新手。我尝试从独立的java程序与dll交互,但无法从Web应用程序连接。任何示例代码对我都非常有用。

1 个答案:

答案 0 :(得分:0)

是的,使用applet是完全可能的。我之前“连接”了一个电子签名设备并且它工作得非常好。要知道我们在这里讨论什么样的.d,你需要做以下事情:

1。)为你的dll创建一个java访问层/接口,这样你就可以从java调用dll函数。根据我们谈论的dll类型,有几种可能性。基本技术是JNI,但使用起来相当繁琐,但幸运的是有更方便的方式:

  • 使用JNA(如果是 C dll)
  • 使用Jacob(如果是 COM 组件)
  • 使用bridj(如果它是 c ++ dll。您可以尝试swig但是没有使用它,所以无法分辨)

2.。)将你的dll放在一个jar文件中,并将它与你的applet一起分发。如何在jacob项目中很好地描述了它的工作原理。您可以在jacob-1.17_src.zip\jacob-1.17\samples\com\jacob\samples\applet下的源包中找到它。该示例描述了访问本机库的JNLP方法,该库将在java版本1.6.0_10之上工作。如果由于某种原因你不得不使用较低版本,它也可能但稍微有点棘手......

3。)还有一个注意事项:由于安全性,自最新的可用Java版本(1.7.0_51或1.6.0_71)以来,已经为java applet添加或收紧了一些规则。现在,您必须使用官方证书对applet进行签名,并在manifest,jnlp文件中设置正确的属性/属性。但是这里已经对此进行了详细讨论,所以只需要搜索它。我可能会使用一个稍微旧的版本进行开发,如果这样做,找出如何让它在最新的java版本中工作......

4.。)关于互动部分,还有几种可能性。您的Java Applet可以从运行它的网站(或者反过来)调用jscript方法,或者applet直接与您的服务器通信。你在这方面有各种可能性......