我被分配了一个任务,将java独立应用程序转换为python web应用程序。用python语言编写整个模块需要花费大量的时间和精力。因此我被建议快速完成python包装并获取代码工作(jython.org)(Jython是JAVA的Python包装)。任何人都可以指导我如何开始,因为我不熟悉Python和Jython吗?
答案 0 :(得分:0)
为了帮助您入门:
如果你熟悉Java,那么你应该能够进入Jython提示没问题。只需像执行任何其他.jar
一样执行它。如果您没有下载独立的jython.jar,请确保在类路径中包含Jython库。
假设您的Java应用程序包名为com.stackoverflow.q10715162
,并在.jar
中编译为C:\jars\your_app.jar
。
然后,您可以在Jython中访问其类。在Jython提示符下:
>>> import sys
>>> sys.path
['', 'C:\\jython\\Lib', 'C:\\jython\\jython.jar\\Lib', '__classpath__',
'__pyclasspath__']
这里,sys.path
是Jython发行版寻找编译模块的目录列表。通过将已编译的Java应用程序添加到列表中,它将变得可访问(在http://www.jython.org/jythonbook/en/1.0/ModulesPackages.html处可以获得更深入的信息):
>>> sys.path.append('C:\\jars\\your_app.jar')
>>> import com.stackoverflow.q10715162 as yourapp
*sys-package-mgr*: processing new jar, 'C:\\jars\\your_app.jar'
>>> dir(yourapp)
['Class1', 'Class2', 'Class3', ...]
通过使用dir(yourapp)
,您可以看到在Java应用程序中定义的类。 dir(yourapp.Class1)
将列出该类中的所有方法,函数等。
您可能想要阅读至少Jython Book的前几页,以熟悉新语法。我发现它比Java简单得多。
为了制作一个Jython网络应用程序,我听说cgi
是迄今为止以最少开销开始的紧急方式:
#!/usr/bin/python
print("Content-Type: text/plain\n\n")
print("Hello, World!\n")
本教程似乎很有帮助:http://www.cs.virginia.edu/~lab2q/lesson_1/。虽然它适用于Python,但几乎所有它都适用于Jython。
当然,如果cgi
不适合您或您的项目,还有许多其他Python / Jython Web服务选项。我使用过web2py
并非常喜欢它。