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 并使用 servlet 生成的 post 数据和下载文件