2011-01-26 2 views
6

Я создаю веб-сервис, который возвращает многочастный ответ. Я знаю формат для создания многочастного ответа; и я создам свои собственные инструменты, если не найду существующие инструменты.Есть ли утилита java для создания ответов с несколькими частями?

Возможно, мне просто нужна помощь в моем google-foo. Все, что я нахожу, это загрузка POST или многопользовательских сообщений. Ничего о создании многочастных ответов.

+0

Более полезным ключевое слово Google может быть * Комета * и/или * многочастному/х -mixed замененный *. – BalusC

+0

Вы нашли подходящую библиотеку или вы в конечном итоге создали свой собственный? Сейчас я сталкиваюсь с той же проблемой. – Wysawyg

ответ

-1

Вы пробовали проект Apache HttpClient? Я не смотрел на него с тех пор, как он вырвался из материала Apache Commons, но я знаю, что он много сделал с многочастными ответами.

Это для потребления - не уверен, что есть что-то для производства, но это может быть место для начала.

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

+1

Это не для * потребляющих * multipart ** ответов **. HttpClient * производит * multipart ** запросы **. Примером потребителя многопользовательских запросов будет [Commons FileUpload] (http://commons.apache.org/fileupload/). OP специально просит * продлить * multipart ** ответы **. Я не уверен, поддерживает ли HttpClient * многопользовательские ответы. Многосторонние ответы довольно редки. – BalusC

+0

HttpClient будет использовать многочастные ответы. Я не мог найти никаких средств для получения ответов на мулитную часть. –

6

Вы можете использовать OReilly сервлеты http://www.servlets.com/cos/

Примером может служить в 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(); 
Смежные вопросы