【发布时间】:2011-10-28 01:41:19
【问题描述】:
我正在使用 GWT 构建我的第一个 Java 应用程序,它必须从一个非常大的 XML 文件中读取数据。当我尝试发送对文件中信息的请求时遇到问题,我不太确定它是否与文件的大小或我的语义有关。在我的程序中,我有以下内容:
static final String xmlurl = "filename.xml";
String xmlData;
...
public void onModuleLoad() {
requestData(xmlurl);
if(xmlData.equals("Error")){
// display error message
return;
} else {
// display the xml
}
void requestData(String url){
final int STATUS_CODE = 200;
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url);
try {
builder.setTimeoutMillis(2000);
builder.sendRequest(null, new RequestCallback() {
public void onError(Request request, Throwable exception) {
xmlData = "Error"
}
public void onResponseReceived(Request request, Response response) {
if (STATUS_CODE == response.getStatusCode()){
xmlData = response.getText();
} else {
xmlData = "Error";
}
}
}
} catch (RequestException e) {
xmlData = "Error";
}
}
我重写了代码,所以我可能写了一些错字,但对于实际的应用程序,它编译并运行。问题是当我尝试显示 XML 并且 xmlData 从未分配给任何东西时,我得到了一个空指针异常。我尝试放置一个等待它存储“错误”或 XML 文本的 while 循环,但从未分配过该变量。我将XML文件保存在我项目的war目录中,似乎可以找到该文件。我在网上搜索了类似的示例,但一切似乎都比我尝试做的要复杂一些,而且我不确定是否需要 servlet 或为此更改配置,或者文件是否是太大而无法读入字符串。任何帮助表示赞赏。谢谢。
【问题讨论】:
标签: java xml gwt nullpointerexception