Reg Jython Python для Java
Мне было поручено преобразовать автономное Java-приложение в веб-приложение на Python. Перезапись всего модуля на языке Python потребует много времени и усилий. Поэтому мне посоветовали сделать быстрое завершение Python и получить работающий код (jython.org) (Jython - это оболочка Python для JAVA). Может ли кто-нибудь подсказать мне, как начать работу, поскольку я новичок в Python, а также в Jython?
1 ответ
Для начала:
Если вы знакомы с Java, у вас не должно возникнуть проблем с поиском в окне Jython. Просто выполните это как любой другой .jar
, Если вы не загрузили автономный jython.jar, обязательно включите библиотеки Jython в ваш путь к классам.
Скажите, что пакет вашего Java-приложения назван com.stackru.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.stackru.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.
И, конечно, есть много других вариантов веб-сервисов Python/Jython, если cgi
не подходит вам или вашему проекту. Я использовал web2py
и очень понравилось.