我必须实现一个web2py应用程序,该应用程序必须访问java代码(其代码连接到远程机器),但不确定我们是否可以在web2py中执行。我的PC有Java 1.6,Python2.7, web2py,eclipse安装。
用例是:
我在web2py应用程序中创建了一个按钮,单击该按钮后,它应该实例化java对象并调用该java对象的特定方法,该方法将进一步连接到远程机器。
怀疑是:
我们可以将特定的java类部署到web2py服务器,以便web2py应用程序可以轻松访问它吗?
是否可以从python代码导入该类?
如何从python代码实例化java对象?
如何从python代码调用java方法?
此致 皮克斯
答案 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)。