2011-01-26 32 views
6

Tôi đang xây dựng một dịch vụ web trả về phản hồi nhiều phần. Tôi biết định dạng để xây dựng một phản ứng đa phần; và tôi sẽ xây dựng các công cụ của riêng mình nếu tôi không thể tìm thấy các công cụ hiện có.Có tiện ích java nào để tạo ra các phản hồi đa phần của http không?

Có lẽ tôi chỉ cần trợ giúp với google-foo của mình. Tất cả mọi thứ tôi tìm thấy là về POSTing hoặc tiêu thụ tin nhắn đa phần. Không có gì về sản xuất phản hồi đa phần.

+0

Một từ khóa hữu ích hơn Google có thể * sao chổi * và/hoặc * multipart/x -mixed-replace *. – BalusC

+0

Bạn đã tìm thấy một thư viện phù hợp hay bạn đã tự mình xây dựng? Tôi đang gặp vấn đề tương tự bây giờ. – Wysawyg

Trả lời

-1

Bạn đã thử dự án Apache HttpClient chưa? Tôi đã không nhìn vào nó kể từ khi nó nổ ra từ các công cụ Apache Commons, nhưng tôi biết nó đã làm rất nhiều với các phản ứng đa phần.

Điều này là để tiêu thụ - không chắc chắn nếu có bất cứ điều gì để sản xuất, nhưng nó có thể là một nơi để bắt đầu.

http://hc.apache.org/httpclient-3.x/methods/multipartpost.html

+1

Đây không phải là các câu trả lời * tiêu thụ * nhiều phần ** **. HttpClient * tạo ra các yêu cầu * nhiều phần **. Một ví dụ về người tiêu dùng các yêu cầu nhiều phần sẽ là [Commons FileUpload] (http://commons.apache.org/fileupload/). OP đặc biệt yêu cầu * sản xuất * phản hồi ** nhiều **. Tôi không chắc chắn nếu HttpClient hỗ trợ * tiêu thụ * multipart phản ứng. Phản hồi multipart khá hiếm. – BalusC

+0

HttpClient sẽ sử dụng phản hồi nhiều phần. Tôi không thể tìm thấy bất kỳ cơ sở nào để sản xuất phản ứng mulit-part. –

6

Bạn có thể sử dụng oreilly servlets http://www.servlets.com/cos/

Một ví dụ là trong javadoc: http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartResponse.html

import com.oreilly.servlet.MultipartResponse 

//javax.servlet.http.HttpServletResponse res 
MultipartResponse multi = new MultipartResponse(res); 

multi.startResponse("text/plain"); 
out.println("On your mark"); 
multi.endResponse(); 

try { Thread.sleep(1000); } catch (InterruptedException e) { } 

multi.startResponse("text/plain"); 
out.println("Get set"); 
multi.endResponse(); 

try { Thread.sleep(1000); } catch (InterruptedException e) { } 

multi.startResponse("image/gif"); 
ServletUtils.returnFile(req.getRealPath("/images/go.gif"), out); 

multi.finish(); 
Các vấn đề liên quan