KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > icesoft > faces > webapp > http > common > standard > FixedXMLContentHandler


1 package com.icesoft.faces.webapp.http.common.standard;
2
3 import com.icesoft.faces.webapp.http.common.Response;
4 import com.icesoft.faces.webapp.http.common.ResponseHandler;
5
6 import java.io.IOException JavaDoc;
7 import java.io.StringWriter JavaDoc;
8 import java.io.Writer JavaDoc;
9
10 public abstract class FixedXMLContentHandler implements ResponseHandler {
11
12     public abstract void writeTo(Writer JavaDoc writer) throws IOException JavaDoc;
13
14     public void respond(Response response) throws Exception JavaDoc {
15         StringWriter JavaDoc writer = new StringWriter JavaDoc();
16         writeTo(writer);
17         writer.write("\n\n");
18         byte[] content = writer.getBuffer().toString().getBytes("UTF-8");
19         response.setHeader("Cache-Control", new String JavaDoc[]{"no-cache", "no-store", "must-revalidate"});//HTTP 1.1
20
response.setHeader("Pragma", "no-cache");//HTTP 1.0
21
response.setHeader("Expires", 0);//prevents proxy caching
22
response.setHeader("Content-Type", "text/xml; charset=UTF-8");
23         response.setHeader("Content-Length", content.length);
24         response.writeBody().write(content);
25     }
26 }
27
Popular Tags