作为Java世界中的一个相对新手,我发现很多事情令人沮丧地完成,在许多其他框架中相对微不足道.一个主要的例子是异步http请求的简单解决方案.看起来似乎并不存在,最好的方法是什么?使用像httpclient这样的阻塞类型的lib或内置的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 …Run Code Online (Sandbox Code Playgroud)