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