Là một newbie tương đối trong thế giới Java, tôi đang tìm kiếm nhiều điều bực bội để thực hiện điều đó là tương đối nhỏ nhặt trong nhiều khung công tác khác. Ví dụ chính là một giải pháp đơn giản cho các yêu cầu http không đồng bộ. Nhìn như một dường như không tồn tại, cách tiếp cận tốt nhất là gì? Tạo chủ đề của riêng tôi bằng cách sử dụng một loại chặn lib như httpclient hoặc được xây dựng trong java http công cụ, hoặc tôi nên sử dụng mới hơn không chặn io java công cụ - nó có vẻ đặc biệt phức tạp cho một cái gì đó mà nên được đơn giản.Ứng dụng HTTP không đồng bộ cho Java
Điều tôi đang tìm kiếm là điều dễ sử dụng từ quan điểm của nhà phát triển - một thứ tương tự như URLLoader trong AS3 - nơi bạn chỉ cần tạo URLRequest - đính kèm một loạt các trình xử lý sự kiện để xử lý hoàn thành, lỗi, tiến trình, vv, và gọi một phương pháp để bắn nó đi.
Nếu bạn không quen thuộc với URLLoader trong AS3, nó nên siêu dễ dàng và trông giống như sau:
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
}
Hoàn toàn hiểu các hốc khác nhau. Tuy nhiên, trong trường hợp này, chúng tôi đang sử dụng Java làm khung giao diện người dùng ứng dụng khách và rất nhiều dữ liệu được trình bày đến từ các dịch vụ web bên ngoài. – helifreak
Trên thực tế có nhiều ứng dụng http không đồng bộ, được liệt kê trong các câu trả lời khác (cầu cảng đã có một năm trong nhiều năm, jakarta hc khá lâu; khách hàng http không đồng bộ của ning mới nhất và tích cực phát triển). Họ chỉ không nhận được đủ sự chú ý mà họ xứng đáng được hưởng. – StaxMan