Я успешно следую инструкциям GWT и spring4gwt и преобразую демонстрацию StockWatcher в сервис с поддержкой Spring (3.0) с помощью следующих конфигураций:
web.xml:
<servlet-mapping>
<servlet-name>springGwtRemoteServiceServlet</servlet-name>
<!-- stockWatcher module is rename-to="stock" -->
<url-pattern>/stock/spring/*</url-pattern>
</servlet-mapping>
StockPriceService.java:
@RemoteServiceRelativePath("spring/stockPriceService")
public interface StockPriceService extends RemoteService
{
StockPrice[] getPrices(String[] symbols) throws DelistedException;
}
весенний app.xml:
<bean id="stockPriceService" class="destiny.gwt.stock.server.StockPriceServiceImpl"/>
Затем я хочу добавить еще один сервис: Chatroom.gwt.xml (rename-to = "chatroom") и надеюсь, что эти два сервиса могут быть объединены в одном веб-приложении и обслуживаться одним экземпляром spring4gwt.
Это мой ChatService.java:
@RemoteServiceRelativePath("spring/chatService")
public interface ChatService extends RemoteService
{
public boolean login(String username , String password);
}
app.xml весны:
<bean id="chatService" class="destiny.gwt.chatroom.server.ChatServiceImpl"/>
<bean id="stockPriceService" class="destiny.gwt.stock.server.StockPriceServiceImpl"/>
Что касается web.xml:
<servlet-mapping>
<servlet-name>springGwtRemoteServiceServlet</servlet-name>
<url-pattern>/stock/spring/*</url-pattern>
</servlet-mapping>
Вот и проблема! Я не знаю, как написать правильный шаблон URL, чтобы SpringGwtRemoteServiceServlet мог одновременно слушать / stock / spring / * и / chatroom / spring / *?
Модуль StockWatcher переименован в = "stock", поэтому каждый POST-запрос будет публиковаться в URI "/ stock / ...". Модуль чата переименован в "chatroom", и каждый POST будет публиковать в URI "/ chatroom / ...". Я пытался написать /*/spring/*
, но зря оба не работают ...