在Tomcat服务器中运行Servlet时出现空白页

时间:2019-03-14 21:15:41

标签: java tomcat servlets exist-db

我在Tomcat服务器上部署了一个servlet Java,该服务器使用放置在现有数据库上的xml文件。但是我知道为该servlet指定的URL localhost tomcat中有一个空页面,知道我已将eXist-db的所有jar都放置在Tomcat服务器的lib中。

这是我的servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*; 
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import javax.xml.transform.OutputKeys;
import org.exist.storage.serializers.EXistOutputKeys; 
import org.exist.xmldb.EXistResource;
import org.xmldb.api.DatabaseManager;
import org.xmldb.api.base.Collection;
import org.xmldb.api.base.Database;
import org.xmldb.api.modules.XMLResource;
import javax.xml.transform.sax.*;    
public class poste extends HttpServlet {
protected static final String driver = "org.exist.xmldb.DatabaseImpl";
protected static final String URI = "xmldb:exist://localhost:8080/exist/xmlrpc";

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
try  {

    response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();

        ServletContext context = getServletContext();                       
        InputStream xsl = (InputStream)(context.getResourceAsStream("/WEB-INF/poste.xsl"));

            String collection = "/db/projet";

        Class cl = Class.forName(driver);
        Database database = (Database) cl.newInstance();
        database.setProperty("ssl-enable", "false");                     
        DatabaseManager.registerDatabase(database);

        Collection col = DatabaseManager.getCollection(URI +            
        collection,"admin","admin");

        col.setProperty(OutputKeys.INDENT, "yes");
        col.setProperty(EXistOutputKeys.EXPAND_XINCLUDES, "no");
        col.setProperty(EXistOutputKeys.PROCESS_XSL_PI, "yes");

        XMLResource res = (XMLResource)col.getResource("poste.xml");

        Source stylesheet =  new StreamSource(xsl);
        SAXTransformerFactory stf = (SAXTransformerFactory)                                 
        TransformerFactory.newInstance();       
        TransformerHandler handler = stf.newTransformerHandler(stylesheet);

        Result result =  new StreamResult(out);     
        handler.setResult(result);
        res.getContentAsSAX(handler);



     out.close();
    }catch(Exception e){
    e.printStackTrace();
    }
}}

我该如何解决我的问题?

0 个答案:

没有答案