Java URL读取问题

时间:2011-03-14 00:40:11

标签: java jsp tomcat servlets flying-saucer

我正在使用Flying Saucer从servlet读取JSP文件的内容并生成PDF。域名是相同的。它适用于localhost但在服务器上失败,即使webapp具有所有权限。我通过阅读不同的域(作品)进行测试,读取没有PDF的通用url文件(在服务器上失败)。

所以我不确定它是servlet还是Tomcat配置,以使servlet能够检索同一域上URL的内容?

这是超时错误:

org.xhtmlrenderer.util.XRRuntimeException: Can't load the XML resource (using TRaX transformer). java.io.IOException: Stream closed
    org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:191)
    org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:71)
    org.xhtmlrenderer.swing.NaiveUserAgent.getXMLResource(NaiveUserAgent.java:211)
    org.xhtmlrenderer.pdf.ITextRenderer.loadDocument(ITextRenderer.java:134)
    org.xhtmlrenderer.pdf.ITextRenderer.setDocument(ITextRenderer.java:138)
    com.cusa.sms.reportprinter.ReportPrinter.doGet(Unknown Source)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:244)
    java.security.AccessController.doPrivileged(Native Method)
    javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:276)
    org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162)

2 个答案:

答案 0 :(得分:1)

此刻感觉就像一个大笨蛋,但它是固定的。服务器名称也在内部解析,并不保证所有主机都会自动为您执行此操作。仅仅因为我可以从我的连接中看到该页面并不意味着该应用程序可以从内部连接中看到该页面。因此,向/ etc / hosts添加必要的主机条目可以解决所有问题。

答案 1 :(得分:0)

你有你在webcontent中使用的罐子吗?只是将它们包含在项目中是不够的,你实际上需要将jar拖入webcontent,以便servlet可以访问它。