Вопрос об интеграции java и flex

У меня есть гибкое веб-приложение, и я хочу интегрировать его с Java.

Приложение будет иметь очень маленькую базу данных (2-3 таблицы) и некоторую рутинную логику, например, отправку почты.

Согласно этой ссылке (http://learn.adobe.com/wiki/display/Flex/2b.+Code+Files) мне также понадобится файл .jsp. Я думал, Flex будет интересоваться только моими занятиями?

Кроме того, мой метод java будет принимать параметры - как я могу передать значения в текстовых полях страницы flex .mxml в метод java? Мне бы очень помог простой пример.

Что еще мне нужно знать при использовании вызовов httpservice?

Спасибо

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 907
3

Ответы 3

Проверьте Blaze DS. Это довольно просто настроить так, чтобы вы могли вызывать методы своих классов Java из Flex.

http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/

Обычно вы регистрируете RemoteObject, который ссылается на URL-адрес вашей конечной точки Flash Remoting и указывает место назначения (обычно имя класса). Обратитесь к документации WebOrb о том, как это сделать. Как только это будет сделано, вы можете просто вызвать RemoteObject следующим образом:

var token: AsyncToken = emailService.sendEmail (тема, тело); token.addResponder (ResponderImpl);

Вы создаете реализацию интерфейса IResponder и регистрируете ее в «AsyncToken», который возвращается из вызовов удаленного взаимодействия в Flex. Все вызовы сервера в Flex являются асинхронными, поэтому вы регистрируете ответчик, который затем вызывает либо метод результата, либо метод ошибки.

Другой вариант - использовать Ajax (то есть JavaScript) в качестве посредника между Flex и Java на стороне сервера, чтобы обеспечить четкую развязку уровня представления и бизнес-уровня. Я видел, как это было сделано успешно - Flex может легко вызывать JavaScript, и есть много проверенных шаблонов для предоставления ваших Java-объектов / методов JavaScript для вызова в стиле Ajax (DWR - хороший выбор).

Если вы используете BlazeDS (который представляет собой сервлет, который вы добавляете на свой веб-сервер), вы сможете передавать объекты ActionScript при вызовах удаленного взаимодействия. Они будут упорядочены по сети в AMF, а затем упорядочены до объектов Java. Вам необходимо использовать инструмент генератора кода, чтобы использовать вашу службу удаленного взаимодействия Java и создать соответствующие классы ActionScript для использования на клиенте (для отправки аргументов и последующего получения результата).

Flex также поддерживает вызовы веб-служб в стиле SOAP. Менее эффективен, чем AMF, но не имеет большого значения, если обменивается не так много данных.

Когда я тороплюсь сделать что-то очень быстрое и грязное, я просто выполняю вызов HttpService send (), в котором я составил HTTP POST (данные не отображаются в URL-адресе, как в случае GET). Быстро написанный сервлет Java обрабатывает POST и получает данные в виде карты пар имя / значение в текстовом формате. (Метод HttpSerivce.send () ведет себя асинхронно, как механизм AJAX XmlHttpRequest ().)

Это просто не может быть проще, чем делать что-то подобное, но пары имя / значение не так гибки, как структурированные данные. Иногда вам нужно иметь дело с более сложными структурированными данными. Следовательно, сериализация объектов модели ActionScript в графы объектов AMF с помощью удаленного взаимодействия BlazeDS становится самостоятельной.

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