Native XML Data Management with XIS 7 : XML Servlets : XML : Java examples (example source code) Organized by topic

Java
C++
PHP
Java Home »  XML   » [  XML Servlets  ]  Screenshots 
 



Native XML Data Management with XIS 7


/*
  Java, XML, and Web Services Bible
  Mike Jasnowski
  ISBN: 0-7645-4847-6
*/
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 {
    // prepare the DOMIplementation
    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 {
    // code that prints the form shown in listing 25-3
  }

  public void doPost (HttpServletRequest request,
                     HttpServletResponse response)
      throws IOException, ServletException {
    Document doc = dom.createDocument("","parameters",null);
    Element parameters = doc.getDocumentElement();

    //populate the document
    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)));
    }

    // prepare XSLT source based on the generated DOM and
    // and XSLT result that will send the transformation
    // output to the servlet's response stream
    DOMSource domSource = new DOMSource (doc);
    StreamResult streamResult = new
        StreamResult (response.getWriter());

    // transform
    try {
      transformer.transform (domSource, streamResult);
    catch (TransformerException te) {
      throw new ServletException (te);
    }
  }
}

           
       
Related examples in the same category
























Home| Contact Us
Copyright 2003 - 04 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.