Получить значения хэш-карты из сервлета Java для гибкости

Я работаю над «миграцией с JSP на FLEX и java в качестве серверной части. Я новичок в java и JSP.

Я застрял в получении значений из сервлета Java, где он принимает httprequest, и есть функция с именем forward(request,response), которая отвечает как страница JSP с обязательными значениями в ней.
Теперь мне нужно изменить это и получить только данные из этого сервлета и использовать что во флексе.

Проблема:
case1: При использовании httpservice он принимает результат в виде строки, но не может получить как объект.
case2: Если я использую RemoteObject, ему нужен метод в сервлете Java для получения возвращаемого значения, которого нет в существующих сервлет.

Могу я получить какие-нибудь предложения по этой проблеме?

Спасибо


person user1647017    schedule 10.01.2014    source источник
comment
Если объект является списком или картой, попробуйте изменить resultFormat на array и посмотрите, как вы вернулись с сервера.   -  person matilu    schedule 13.01.2014


Ответы (1)


case1: вы больше не используете пересылку, вы устанавливаете тип данных, которые хотите вернуть, например:

response.setContentType("application/json");

... и возврат данных в сервлете выполняется путем записи данных в поток, например:

PrintWriter out = response.getWriter();
out.print(object);

но это было довольно давно, так что может возникнуть небольшая проблема, с которой вы столкнетесь ...

case2: если вы используете сервлет, правильно использовать HTTPService, RemoteObject не будет работать, он используется по-другому ....


Теперь, если я могу, я бы предложил использовать другую вещь, чем сервлеты - для получения данных с Java-сервера в Flex - я люблю использовать GraniteDS.

Я просто расскажу о некоторых преимуществах, которые я вижу, если вам интересно:

Его легко настроить: - в java вы просто добавите библиотеку graniteDS, два файла конфигурации (granite + services-config xmls) добавьте конфигурацию сервлета гранита в web.xml - во flex также есть библиотека granite и services-config .xml

При настройке использовать его также очень просто - у вас есть класс с методом (или простой bean-компонент, или ejb) в Java, который просто возвращает объект любого типа! И все на Java

В этом случае вы используете RemoteObject, который вы просто вызываете этот удаленный java-метод, и в обработчике результата вы получаете ваш dataGranite позаботится о сериализации + передаче + десериализации и просто предоставит вам объект (либо просто динамический {}, либо даже точный класс тип)

person user3190916    schedule 21.01.2014
comment
Прошу прощения за поздний ответ. Я был занят другим проектом и с тех пор не вышел в онлайн. Я хотел бы поблагодарить вас @user и matilu за помощь в решении этой проблемы. Еще раз спасибо. - person user1647017; 21.03.2014