Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / GWT RPC+ Spring / 13 сообщений из 13, страница 1 из 1
10.07.2014, 10:33
    #38692778
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Добрый день , в очередной раз решил найти красивое решение для интеграции GWT RPC+ Spring.

вопроса собственно два :
1) как ?
2) может что то уже придумали ?


из того что я видел , это библиотеки которые что то там делают с сервлетами ?!

Их нормальных решений мне нравится такое :

Как добавить бин через спринг в GWT сервлет :
через : WebApplicationContextUtils
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class GWTServiceImpl extends RemoteServiceServlet implements GWTService {
    
    @Autowired
    private OrderService orderService;
    
    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
      WebApplicationContextUtils.getWebApplicationContext(config.getServletContext()).getAutowireCapableBeanFactory().autowireBean(this);

    }




Второй вопрос :

как мы можем отказаться от объявления GWTServiceImpl в web.xml ? ну нет у нас web.xml - есть только javaconfig!
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<!--GWT -->
  <servlet>
        <servlet-name>GWTService</servlet-name>
        <servlet-class>ru.gwt.server.GWTServiceImpl</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>GWTService</servlet-name>
        <url-pattern>/gwt/gwtservice</url-pattern>
    </servlet-mapping>
 <!--GWT -->




Ведь Мы можем указать что то типа :
Код: java
1.
2.
3.
@Controller
@RequestMapping("/gwt/gwtservice")
public class GWTServiceImpl extends RemoteServiceServlet implements GWTService {




а далее :

Код: java
1.
2.
3.
4.
5.
    @RequestMapping(method = RequestMethod.GET)
    @ResponseBody
    public String gwtPage() {
        return "hello word";
    }



Еще одна интересная задачка - вопрос - это отказы от RPC ?

пока по теме интеграции я нашел только эту статью , но до конца с ней не удалось разобраться , как я понял идея такая - понять как GWT реализует RPC - и переопределить его ( extends RemoteServiceServlet ) - через implements SerializationPolicyProvider

вот статья :

http://javabeginnerstutorial.com/core-java-tutorial/gwt-rpc-integration-with-spring/

Эта статья меня навела на мыли ,что неплохо бы создать такую без шовную интеграцию со спрингом и полностью отказаться от RemoteServiceServlet, в пользу своего решения , которое будет основываться ,к примеру на RequestBuilder (возможно есть jsonRequestBuilder) + на стороне спринга использовать REST:

Код: java
1.
2.
3.
4.
@RepositoryRestResource(collectionResourceRel = "order", path = "order")
public interface RestOrderRepository extends PagingAndSortingRepository<Order, Long>{

 }
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
11.04.2016, 20:28
    #39213018
Anton Sakhno
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Atum1,

Понимаю что прошло уже много времени, но получилось как то решить этот вопрос? Столкнулся с такой же проблемой - нужно внедрить gwt в существующей spring mvc проект, весь конфиг сделан на java config.
...
Рейтинг: 0 / 0
12.04.2016, 07:42
    #39213173
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Anton SakhnoAtum1,

Понимаю что прошло уже много времени, но получилось как то решить этот вопрос? Столкнулся с такой же проблемой - нужно внедрить gwt в существующей spring mvc проект, весь конфиг сделан на java config.

Не работал с gwt, а что нельзя все в Spring'овские @Control завернуть?

P.S. Хотя у меня вопрос "нафига?". Т.е. зачем нужен GWT в Spring?!
...
Рейтинг: 0 / 0
12.04.2016, 08:23
    #39213181
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Anton SakhnoAtum1,

Понимаю что прошло уже много времени, но получилось как то решить этот вопрос? Столкнулся с такой же проблемой - нужно внедрить gwt в существующей spring mvc проект, весь конфиг сделан на java config.

Вроде как

даже набросал пример

https://github.com/isalnikov/GWTPortal/blob/master/src/main/java/ru/portal/gwt/gwtportal/server/GwtRpcController.java

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

Сам проект

https://github.com/isalnikov/GWTPortal/

+ смотрите в каждом классе ссылки на статьи (указаны источники того или иного решения).

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
    @Override
    public String processCall(String payload) throws SerializationException {
        try {
            RPCRequest rpcRequest = RPC.decodeRequest(payload, this.remoteServiceClass , this);
            // delegate work to the spring injected service
            onAfterRequestDeserialized(rpcRequest);
            //return  RPC.invokeAndEncodeResponse(this.remoteService, rpcRequest.getMethod(), rpcRequest.getParameters() ,new PortalLegacySerializationPolicy());
            return  RPC.invokeAndEncodeResponse(this.remoteService, rpcRequest.getMethod(), rpcRequest.getParameters() ,rpcRequest.getSerializationPolicy());
        } catch (IncompatibleRemoteServiceException ex) {
            getServletContext().log("An IncompatibleRemoteServiceException was thrown while processing this call.", ex);
            return RPC.encodeResponseForFailure(null, ex);
        }
    }
...
Рейтинг: 0 / 0
12.04.2016, 08:36
    #39213184
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
...
Рейтинг: 0 / 0
12.04.2016, 15:14
    #39213735
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
для GWT есть либа, которая предоставляет метод jquery.ajax. С ней можно выкинуть весь этот GWT.RPC
...
Рейтинг: 0 / 0
12.04.2016, 21:15
    #39214098
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Penkov Vladimirдля GWT есть либа, которая предоставляет метод jquery.ajax. С ней можно выкинуть весь этот GWT.RPC

Ссылку можно
...
Рейтинг: 0 / 0
13.04.2016, 10:03
    #39214316
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
тынц

есть примеры как через jsni дергать.
...
Рейтинг: 0 / 0
13.04.2016, 10:05
    #39214320
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
тынц2 с примером
...
Рейтинг: 0 / 0
13.04.2016, 21:55
    #39215115
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Penkov Vladimir,

Как я понимаю осноная идея gwt gxt жто прощрачность и возможность убрать еще один слой перекладки прохеобразования данных ну и конечно весь кодьна java

В сервлете у вас dto которые вы и отправляете на клиента и обратно
...
Рейтинг: 0 / 0
14.04.2016, 07:45
    #39215211
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Atum1Как я понимаю осноная идея gwt gxt жто прощрачность и возможность убрать еще один слой перекладки прохеобразования данных ну и конечно весь кодьна java
Не вижу никакого плюса в этом. Можно любую кросплатформенную сериализацию впердолить в любой клиент-сервер, будет то же самое что на GWT. А "весь кодьна java", значит что приходится использовать какой-то странный фреймверк на клиенте, единственная польза от которого - "весь кодьна java". Вещь в себе.
...
Рейтинг: 0 / 0
14.04.2016, 12:21
    #39215502
Сергей Арсеньев
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Blazkowicz "весь кодьна java". Вещь в себе.
Да. Необходимость переделывать одно в другое на корню съедает почти любой эффект.
А сама по себе идея легкого переноса логики с клиента на сервер и обратно, по мере необходимости, конечно интересная. Но гладко было на бумаге. :)
...
Рейтинг: 0 / 0
18.04.2016, 07:52
    #39217723
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GWT RPC+ Spring
Сергей АрсеньевBlazkowicz "весь кодьна java". Вещь в себе.
Да. Необходимость переделывать одно в другое на корню съедает почти любой эффект.
А сама по себе идея легкого переноса логики с клиента на сервер и обратно, по мере необходимости, конечно интересная. Но гладко было на бумаге. :)

можно как полную альтернативу - рассмотреть extjs

как следствие - на клиенте мы пишем полный mvc или mvvm со всеми вытекающими последствиями ...

в любом случае код писать нужно - клиентский код ... и как правило GUI делать сложнее , скучнее и дольше чем серверную часть ... все эти валидаторы на кнопочки , защиты от Дурака итд - когда код проверок в 10 раз превышает бизнес код ...
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / GWT RPC+ Spring / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]