Quoting "Cooremans, Rony" <[EMAIL PROTECTED]>: > I ll try the web.xml solution as soon as i solve some other bugs
Take a look at this: I have a Servlet called XMLServlet: <servlet> <servlet-name>XMLServlet</servlet-name> <servlet-class>XMLServlet</servlet-class> </servlet> And I map everything with extension html, pdf, xml, rtf to this Servlet: <servlet-mapping> <servlet-name>XMLServlet</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XMLServlet</servlet-name> <url-pattern>*.pdf</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XMLServlet</servlet-name> <url-pattern>*.xml</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>XMLServlet</servlet-name> <url-pattern>*.rtf</url-pattern> </servlet-mapping> In the servlet I replace the extension by xml and I go looking for the file somewhere on my filesystem (could be a parameter in the web.xml too to do it really nice). Depending on the extension, I construct a PDF, HTML, RTF or XML file... It's magical, isn't it??? This is what they call MVC: 1 Model, 1 Controller, multiple views! Or didn't you see the movie 'Lord of the iText'? One document to rule them all, One servlet to find them, One library to bring them all and in the Brightness bind them ;-) /* * XMLServlet.java * * Created on 17 mei 2002, 14:16 */ import javax.servlet.*; import javax.servlet.http.*; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.OutputStream; import com.lowagie.text.Document; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.html.HtmlWriter; import com.lowagie.text.rtf.RtfWriter; import com.lowagie.text.xml.XmlParser; import com.lowagie.text.xml.XmlWriter; /** * * @author Bruno Lowagie * @version */ public class XMLServlet extends HttpServlet { /** Initializes the servlet. */ public void init(ServletConfig config) throws ServletException { super.init(config); } /** Destroys the servlet. */ public void destroy() { } /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { Document doc = new Document(); String path = request.getServletPath(); ByteArrayOutputStream ba = new ByteArrayOutputStream(); try { if (path.endsWith(".html")) { response.setContentType("text/html"); HtmlWriter.getInstance(doc, ba); } else if (path.endsWith(".pdf")) { response.setContentType("application/pdf"); PdfWriter.getInstance(doc, ba); } else if (path.endsWith(".rtf")) { response.setContentType("application/rtf"); RtfWriter.getInstance(doc, ba); } else if (path.endsWith(".xml")) { response.setContentType("text/xml"); XmlWriter.getInstance(doc, ba); } else { java.io.PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("Not a supported format"); out.println("</body>"); out.println("</html>"); out.close(); return; } XmlParser.parse(doc, new FileInputStream(new File(constructPath(path)))); response.setContentLength(ba.size()); OutputStream out = response.getOutputStream(); ba.writeTo(out); out.flush(); } catch(Exception e) { java.io.PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet</title>"); out.println("</head>"); out.println("<body>"); out.println("Error: " + e.getMessage()); out.println("</body>"); out.println("</html>"); out.close(); return; } } public String constructPath(String path) { return "D:/www/xml/mvc" + path.substring(0, path.lastIndexOf(".")) + ".xml"; } /** Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { processRequest(request, response); } /** Returns a short description of the servlet. */ public String getServletInfo() { return "This is the controller"; } } _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ iText-questions mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/itext-questions