直接从Java Servlet Class在客户端浏览器上打开PDF文件

时间:2011-02-21 12:28:02

标签: java servlets plsql pdf-generation

嘿伙计,所以这就是纲要:

基本上,我想要的是:PL / SQL过程调用(使用UTL_HTTP) - > Java Web应用程序,Servlet - >打开浏览器窗口并呈现PDF。

我们在PL / SQL过程中使用包UTL_HTTP,因为它有一个通过POST方法向外部URL发送请求的选项。我们使用这个包的唯一原因是确保我们的数据作为POST参数传递(显然,没有其他方法可以直接从PL / SQL过程打开外部站点,同时通过POST方法传递参数)。还有其他方法可以直接提供url并将get参数作为请求url字符串的一部分传递,但这会暴露敏感参数,如用户名,密码,序列ID等。

来自PL / SQL过程的这个http请求被我们的Java Web应用程序中的servlet拦截。我们的Java Web应用程序是一个文档管理应用程序,它处理所有文档管理逻辑。

我们设法访问了servlet,并获得了PDF并将其放入响应中。

这是一个问题:由于原始应用程序是一个PL / SQL过程,它将HTTP请求直接发送到我们的Web应用程序,因此打开浏览器窗口。因此,在我们的Java servlet类中,我们获取PDF并将其写入响应。但是我们需要生成一个浏览器窗口来渲染pdf。我发现this neat site提供了Java代码,可以直接从java类打开浏览器窗口。但问题是浏览器窗口直接在服务器上打开而不是在客户端上打开。这个浏览器窗口应该在我们的客户端机器中打开,而不是在服务器上发出http请求。

有什么建议吗?

干杯

1 个答案:

答案 0 :(得分:0)

如果您正在使用PL / SQL Web应用程序(使用APEX或webToolkit),您可以向浏览器发送从UTL_HTTP调用到servlet的blob