public class MultipartResponse extends Object
To use this class, first construct a new MultipartResponse passing to its constructor the servlet's response parameter. MultipartResponse uses the response object to fetch the servlet's output stream and to set the response's content type.
Then, for each page of content, begin by calling startResponse() passing in the content type for that page. Send the content for the page by writing to the output stream as usual. A call to endResponse() ends the page and flushes the content so the client can see it. At this point a sleep() or other delay can be added until the next page is ready for sending.
The call to endResponse() is optional. The startResponse() method knows whether the last response has been ended, and ends it itself if necessary. However, it's wise to call endResponse() if there's to be a delay between the time one response ends and the next begins. It lets the client display the latest response during the time it waits for the next one.
Finally, after each response page has been sent, a call to the finish() method finishes the multipart response and sends a code telling the client there will be no more responses.
For example:
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();
ServletUtils
Modifier and Type | Field and Description |
---|---|
(package private) boolean |
endedLastResponse |
(package private) ServletOutputStream |
out |
(package private) HttpServletResponse |
res |
Constructor and Description |
---|
MultipartResponse(HttpServletResponse response)
Constructs a new MultipartResponse to send content to the given
servlet response.
|
Modifier and Type | Method and Description |
---|---|
void |
endResponse()
Ends a single response.
|
void |
finish()
Finishes the multipart response.
|
void |
startResponse(String contentType)
Begins a single response with the specified content type.
|
boolean endedLastResponse
public MultipartResponse(HttpServletResponse response) throws IOException
response
- the servlet responseIOException
- if an I/O error occurspublic void startResponse(String contentType) throws IOException
contentType
- the content type of this response partIOException
- if an I/O error occurspublic void endResponse() throws IOException
IOException
- if an I/O error occurspublic void finish() throws IOException
IOException
- if an I/O error occursWebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses