1

我必须实现一个 web2py 应用程序,它必须访问 java 代码(它具有连接到远程机器的代码),但不确定我们是否可以在 web2py 中执行它。我的电脑有 Java 1.6、Python2.7、web2py、eclipse安装。

用例是:

我在 web2py 应用程序中创建了一个按钮,单击该按钮后,它应该实例化 java 对象并调用该 java 对象的特定方法,该方法将进一步连接到远程机器。

疑点是:

  1. 我们可以将那个特定的 java 类部署到 web2py 服务器,以便 web2py 应用程序可以轻松访问它吗?

  2. 是否可以从 python 代码中导入该类?

  3. 如何从python代码实例化java对象?

  4. 以及如何从python代码调用java方法?

问候, 皮克斯

4

2 回答 2

2

我会考虑研究网络服务。如果您可以从 java 公开 url,它将路由到执行逻辑的 java 方法/函数并返回 json 对象。在 web2py urllib2 中,您可以发出请求并将该 json 解码为本机 python 字典。线索是您必须公开对象的所有方法并将对象作为 json 来回传递。不要害怕在大多数编程语言中,对象只是具有某些特殊品质的 hash_arrays/字典。因此,如果您可以序列化和反序列化对象并公开适当的 url,那么您会没事的。

jython 中也有 web2py 的实现。但是然后整个堆栈将在 JVM 中,我可能会更复杂的工作。

于 2012-04-10T13:49:34.010 回答
0

如果 java 所做的只是连接到远程机器,那么我强烈建议您在 python 中重新实现它。

如果它正在做一些实质性的事情,那么考虑在它前面放置一个 web 界面(我喜欢spark微框架),你可以使用requests模块与它交谈(通过 pip 获取它)。

于 2012-04-10T13:55:06.297 回答