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

问题描述:

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

用例是:

我曾经在的web2py应用和在点击该按钮创建了一个按钮,它应该实例化Java对象和调用该Java对象,这将进一步连接到远程机器的特定方法。

疑惑是:

  1. 我们可以部署特定的Java类web2py的服务器,这样的web2py应用程序可以很容易地访问它?

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

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

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

问候, 皮克斯

我会考虑寻找到web服务。 如果你可以暴露从Java的URL,这将路由到Java的方法/功能执行逻辑,并返回JSON对象。 在web2py urllib2中,您可以发出请求并将该json解码为本机Python字典。 线索是,你将不得不公开所有对象的方法,并将对象作为json来回传递。在大多数编程中不要害怕对象只是具有一些特殊质量的hash_arrays/dictionaries。所以,如果你可以序列化和反序列化对象,并揭露apriopriate网址,你会没事的。

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

+0

好的,我明白你在说什么,好像我需要做很多额外的工作才能实现它,所以如果我去执行web服务并且不需要JAVA代码,那么如何实现它呢?我再次以不同的方式使用我的用例: 1.我们的web2py应用程序位于一台机器上,Web客户机也将运行,并且数据库也将在那里。 – piks 2012-04-12 03:15:05

+0

如果我去执行web服务,并且不需要JAVA代码,那么如何实现它?我再次以不同的方式使用我的用例: 1.我们的web2py应用程序位于一台机器上,Web客户机也将运行,并且数据库也将在那里。 2.用户可以使用来自远程机器的URL访问web2py应用程序,并访问保存在数据库中的内容并显示给用户。 3.服务器可以与安装了Web服务服务器的远程系统进行通信,并从那里获取所需的数据并保存到数据库中。 因为我是新的蜜蜂在网络服务,所以请你给我提供一些基本的想法如何实现它。 – piks 2012-04-12 03:27:14

+0

本书中有一章主要解释如何从web2py内部暴露web服务。我对java并不熟悉,但我敢打赌,有些微框架只是将某些函数作为URL地址公开,并提供基本的post&get。 你需要做的是让这些函数返回jsons,然后你可以通过urllib发出请求。我会回答自己,如果它值得的话...如果它对于一些简单的类我敢打赌你会重写它比与Java堆栈斗争更快。 – 2012-04-14 17:59:40

如果所有的java都在连接到远程机器,那么我强烈建议你用python重新实现它。

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