2012-05-23 23 views
0

我已经分配了一个任务来将java独立应用程序转换为python web应用程序。以python语言重新编码整个模块将花费大量时间和精力。因此,我被建议做一个快速包装(jython.org)(Jython是用于JAVA的Python包装)。任何人都可以引导我如何开始,因为我是Python新手,还有Jython?Reg Jython用于Java的Python包装

回答

0

为了让你开始:

如果你熟悉Java,那么你应该能够得到为Jython提示没有问题。只要像其他任何.jar一样执行它。如果您没有下载独立的jython.jar,请确保在您的类路径中包含Jython库。

假定您的Java应用程序的包名为com.stackoverflow.q10715162,并且在C:\jars\your_app.jar中编译为.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书籍的前几页来熟悉新的语法。我发现它比Java更简单。

为了使一个Jython的Web应用程序,我听说cgi是迄今为止fastet方式开始使用最少的开销:

#!/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网络服务选项。我用web2py,真的很喜欢它。