我被分配了一项任务,将 Java 独立应用程序转换为 Python Web 应用程序。用 Python 语言重新编码整个模块需要花费大量时间和精力。因此有人建议我快速总结一下 Python 并让代码正常工作( jython.org)(Jython 是 JAVA 的 Python 包装).. 任何人都可以指导我如何开始,因为我是 Python 和 Jython 的新手?
1 回答
为了让你开始:
如果您熟悉 Java,那么您应该可以毫无问题地进入 Jython 提示符。像其他任何一样执行它.jar
。如果您没有下载独立的 jython.jar,请确保在您的类路径中包含 Jython 库。
假设您的 Java 应用程序的包名为com.stackoverflow.q10715162
,并编译为.jar
in 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 Web 应用程序,我听说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
并且非常喜欢它。