我对下面的代码有疑问.. @RemoteServiceRelativePath("stockPrices")public interface StockPriceService extends RemoteService { StockPrice[] getPrices(String[] symbols);} 任何人都可以解释一下@RemoteServiceRelativePath(“stoc
@RemoteServiceRelativePath("stockPrices") public interface StockPriceService extends RemoteService { StockPrice[] getPrices(String[] symbols); }
任何人都可以解释一下@RemoteServiceRelativePath(“stockPrices”)的用途是什么以及我们需要在“stockPrices”中给出什么名称..是强制性的吗?
提前致谢!!!
查看 documentation for RemoteServiceRelativePath annotation,它很好地解释了这个注释的作用.在您的情况下,您的服务必须位于GWT.getModuleBaseURL()“stockPrices”…这意味着如果您的GWT应用程序位于/ mygwtapp,那么您的服务必须位于/ mygwtapp / stockPrices.您可以通过定义实现服务接口的servlet来在此URL上安装某些服务.您可以使用任何其他路径而不是“stockPrices”,只需确保服务器上此路径后面有真实的服务.
您的远程服务需要一些远程路径(入口点),可以使用@RemoteServiceRelativePath批注,也可以将其设置为ServiceDefTarget interface.如果service没有入口点,则无法调用它. (请记住:此路径是服务器上的URL)
例如,您可以在没有此批注的情况下定义服务,而不是使用@RemoteServiceRelativePath,然后在实例化异步服务代理时,显式设置路径:
StockPriceServiceAsync stockService = GWT.create(StockPriceService.class); ((ServiceDefTarget) stockService).setServiceEntryPoint("/services/stock.service");