1

我正在使用Flying Saucer从 servlet 读取 JSP 文件的内容并生成 PDF。域是一样的。它在本地主机上工作,但在服务器上失败,即使 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)
4

2 回答 2

1

此刻感觉自己像个大白痴,但它已经修复了。服务器名称也在内部解析,并且不能保证所有主机都会自动为您执行此操作。仅仅因为我可以从我的连接中看到该页面并不意味着该应用程序可以从内部连接中看到该页面。因此,将必要的主机条目添加到 /etc/hosts 可以解决所有问题。

于 2011-03-14T01:44:49.590 回答
0

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

于 2011-03-14T00:45:01.473 回答