gwt - servlet 路径 + url

Posted

技术标签:

【中文标题】gwt - servlet 路径 + url【英文标题】:gwt - servlet path + url 【发布时间】:2012-10-21 10:00:12 【问题描述】:

我需要从 WAR 目录下的 xml 文件中读取数据。 我使用RequestBuilder 创建GET 请求。 它看起来像这样:

   RequestBuilder requestBuilder = new RequestBuilder(RequestBuilder.GET,"customerRecord.xml");  
   try   
        requestBuilder.sendRequest(null, new RequestCallback()   
            public void onError(Request request, Throwable exception)   
                requestFailed(exception);  
              
            public void onResponseReceived(Request request,Response   response)   
                renderXML(response.getText());  
              
        );  
     catch (RequestException ex)   
        requestFailed(ex);  
       

现在,我不想加载所有数据。我想发送一个参数,告诉服务器要带哪个部分,(比方说 - 多少行数据)然后覆盖 servlet 的 doGet 方法并处理参数。 我有两个问题: 1)如何声明servlet的路径? servlet 和请求之间的连接在哪里?? 2) 我在RequestBuilder 的网址中写什么(而不是“customerRecord.xml”)?我是否需要参考那里的 servlet 或者我可以保留它像

【问题讨论】:

【参考方案1】:

你是说 GWT 服务吗?

您需要创建 2 个接口 - Service 和 ServiceAsync 以及在服务器包中实现 Service(与客户端包处于同一级别)。然后您将实现定义为 servlet(在我的 JBoss 7.1 中它只是注释。在旧版本的 servlet 映射中):

@WebServlet(name="YourService", urlPatterns="/%module%/YourService")
public class YourServiceImpl extends RemoteServiceServlet implements YourService 

在你的 modeule.xml 中写:

<servlet path="/YourService" class="org.name.YourServiceImpl"/>

最后你可以从你的代码中调用这个服务

YourService.App.getInstance().getSomething(new AsyncCallback<Collection<Something>>() 
        @Override
        public void onFailure(Throwable caught) 
            new MessagePopup("Error: " + caught.getMessage()).center();
        

        @Override
        public void onSuccess(Collection<Something> result) 

        
    );

您可以从您钟爱的 IDE 中创建的接口。更简单)

一个想法仍然困扰着我 - 我无法在另一个模块中指定 servlet 的路径。

【讨论】:

找到解决方案***.com/questions/5284190/…

以上是关于gwt - servlet 路径 + url的主要内容,如果未能解决你的问题,请参考以下文章

如何为 GWT servlet 编写测试?

GWT 显示从 servlet 指定的图像

从 GWT 调用 servlet 并使用 servlet 生成的 post 数据和下载文件

如何使用 GWT-RPC 以外的方式访问 GWT servlet?

在 GWT 中下载时使用 servlet 发送字符串

gwt - 在继承的模块中访问 servlet 的问题