package questionnaire; import java.io.IOException; import java.io.PrintWriter; import java.io.StringWriter; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; /** * @author tsuhtan */ public class SummaryServlet extends HttpServlet { /** * 今回は特にやることなし^^; * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) */ public void init (ServletConfig sc) throws ServletException { super.init (sc); } /** * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { this.doPost(req, res); } /** * @see javax.servlet.http.HttpServlet#doPost(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Document response_document = createResponseAsDocument (req); sendResponseDocument (req, res, response_document); } private Document createResponseAsDocument (HttpServletRequest req) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document document = db.newDocument(); Element status = document.createElement ("status"); status.appendChild (document.createTextNode ("OK")); Element root = document.createElement ("root"); root.appendChild (status); document.appendChild (root); return document; } catch (Exception e) { throw new RuntimeException (e); } } private void sendResponseDocument (HttpServletRequest req, HttpServletResponse res, Document document) { try { TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); DOMSource ds = new DOMSource (document); StringWriter string = new StringWriter(); StreamResult sr = new StreamResult (string); transformer.transform (ds, sr); String s = string.toString(); int length = s.getBytes().length; res.setContentType ("text/plain"); res.setContentLength (length + 2); PrintWriter pw = res.getWriter(); pw.print (s + "\r\n"); pw.flush(); } catch (Exception e) { throw new RuntimeException (e); } } }