作为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
}
https://stackoverflow.com/questions/1014528
复制相似问题