Java/XML/XML Servlets

Материал из Java эксперт
Перейти к: навигация, поиск

Native XML Data Management with XIS 7

   <source lang="java">

import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.util.*; import org.w3c.dom.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import javax.xml.parsers.*; public class XsltDomServlet extends HttpServlet {

 private DOMImplementation dom;
 private Transformer transformer;
 public void init () throws ServletException {
   DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
   try {
     DocumentBuilder db = dbf.newDocumentBuilder();
     dom = db.getDOMImplementation();
   } catch (ParserConfigurationException pce) {
     throw new ServletException (pce);
   }
   // prepare the XSLT transformer
   TransformerFactory tf = TransformerFactory.newInstance();
   StreamSource ss = new StreamSource("/var/www/stylesheets/paramTable.xslt");
   try {
     transformer = tf.newTransformer (ss);
   } catch (TransformerConfigurationException tce) {
     throw new ServletException (tce);
   }
 }
 public void doGet (HttpServletRequest request,
                    HttpServletResponse response)
     throws IOException, ServletException {
 }
 public void doPost (HttpServletRequest request,
                    HttpServletResponse response)
     throws IOException, ServletException {
   Document doc = dom.createDocument("","parameters",null);
   Element parameters = doc.getDocumentElement();
   parameters.setAttribute ("title", "XSLT DOM Servlet");
   Enumeration parameterNames = request.getParameterNames();
   while (parameterNames.hasMoreElements ()) {
     String parameterName =
         parameterNames.nextElement().toString();
     Element parameter = doc.createElement ("parameter");
     parameters.appendChild (parameter);
     parameter.setAttribute ("name", parameterName);
     parameter.appendChild (doc.createTextNode
         (request.getParameter(parameterName)));
   }
   DOMSource domSource = new DOMSource (doc);
   StreamResult streamResult = new StreamResult (response.getWriter());
   try {
     transformer.transform (domSource, streamResult);
   } catch (TransformerException te) {
     throw new ServletException (te);
   }
 }

}

      </source>