我们有一个struts 2应用程序,我们已经实现了将网页/ JSP的内容下载/提取到PDF的功能。我们正在使用iText。 当我在我的本地Dev环境中运行应用程序时,该功能正常工作,并且在单个测试服务器上工作正常,即我正在访问时 使用单个服务器URL的应用程序。最近我们已将应用程序迁移到Test,我们已设置域URL。迁移到域URL后, 下载/提取PDF功能是抛出错误。下面给出的是Code&来自server.log的堆栈跟踪。 (仅供参考......我在JBoss 5服务器上运行应用程序。)
我迫切需要解决这个问题,请求有人帮我解决这个问题。
代码:这是在我的动作类中调用的函数 - DownloadPriceSheetAction。
private String generatePDF(HttpServletRequest request) throws Exception {
File tempFile = File.createTempFile(ApplicationConstants.PRICE_SHEET,
ApplicationConstants.PDF);
OutputStream os = new FileOutputStream(tempFile);
StringBuilder stringURLBuilder = new StringBuilder();
stringURLBuilder.append(request.getScheme());
stringURLBuilder.append(ApplicationConstants.PDF_COLLEN);
stringURLBuilder.append(ApplicationConstants.PDF_DOUBLE_SLASH);
stringURLBuilder.append(request.getServerName());
stringURLBuilder.append(ApplicationConstants.PDF_COLLEN);
stringURLBuilder.append(request.getServerPort());
stringURLBuilder.append(request.getContextPath());
stringURLBuilder.append(ApplicationConstants.PDF_SLASH);
stringURLBuilder.append(ApplicationConstants.PDF_ACTION);
stringURLBuilder.append(getGenerateURL());
logger.debug("\n URL = " + stringURLBuilder.toString() + "\n");
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(stringURLBuilder.toString());
renderer.layout();
renderer.createPDF(os);
os.close();
fileInputStream = new FileInputStream(tempFile);
return ApplicationConstants.PDF;
}