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 и очень понравилось.

Другие вопросы по тегам