【发布时间】:2009-06-18 18:53:43
【问题描述】:
作为 Java 世界中的新手,我发现许多其他框架中相对微不足道的事情令人沮丧地难以完成。一个主要示例是异步 http 请求的简单解决方案。看到一个似乎不存在,最好的方法是什么?使用像 httpclient 这样的阻塞类型库或内置的 java http 东西创建我自己的线程,或者我应该使用较新的非阻塞 io java 东西 - 对于应该简单的东西来说似乎特别复杂。
我正在寻找的是从开发人员的角度来看易于使用的东西 - 类似于 AS3 中的 URLLoader - 您只需创建一个 URLRequest - 附加一堆事件处理程序来处理完成、错误、进度等, 并调用一个方法来触发它。
如果你不熟悉 AS3 中的 URLLoader,它超级简单,看起来像这样:
private void getURL(String url)
{
URLLoader loader = new URLLoader();
loader.addEventListener(Event.Complete, completeHandler);
loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
URLRequest request = new URLRequest(url);
// fire it off - this is asynchronous so we handle
// completion with event handlers
loader.load(request);
}
private void completeHandler(Event event)
{
URLLoader loader = (URLLoader)event.target;
Object results = loader.data;
// process results
}
private void httpStatusHandler(Event event)
{
// check status code
}
private void ioErrorHandler(Event event)
{
// handle errors
}
【问题讨论】:
标签: java actionscript-3 http httpwebrequest