我们可以在web2py应用程序代码中使用java代码吗?

时间:2012-04-09 08:26:04

标签: python python-2.7 web2py web2py-modules

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

用例是:

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

怀疑是:

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

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

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

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

  5. 此致 皮克斯

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

如果所有java正在连接到远程计算机,那么我强烈建议您在python中重新实现它。

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