0

我对 J2EE 相当陌生(虽然对 Java 不是),我有一个问题,我想请教一些大师。我已经阅读了许多教程,但我仍然有点朦胧。这是情况。

我继承了一个jsp,它生成存储在数据库中的一些数据的html表示。我需要对其进行修改,这样,如果传递了某个请求参数,除了生成 html 表示之外,它还将生成数据的替代表示(以 pdf 格式),它将通过一个帖子返回给用户url 也将在请求参数中指定。所以,我想要做的(当指定这两个额外参数时)首先返回 HTML 表示,然后调用一个单独的 jsp / servlet,它将负责生成 PDF 视图并将其发布回客户端。

我的困惑是如何将控制从初始 jsp 传递给我的新 jsp,这样第一个 jsp 不会在附加处理中被阻止,并且即使 PDF 内容正在烹饪,客户端也会收到 HTML 视图。这有道理吗?

我目前的计划是检查jsp最底部的scriptlet中的参数,如果它是“真”,则使用apache HttpClient将请求发布到负责的jsp / servlet(在同一个Web应用程序中运行)生成 PDF。然后,该 servlet 将使用 HttpClient 将完成的产品发布回客户端。我不知道这是否真的是正确的方法,或者即使它会起作用,这就是我发布这个问题的原因。任何意见或建议将不胜感激。

谢谢!

4

1 回答 1

0

我认为最好只生成 HTML 输出并在输出中的某个位置放置一个指向第二个 Servlet 的链接,该 Servlet 会生成 PDF。这样,如果用户真的想检索 PDF 版本,可以单击提供的链接并检索 PDF。

如果您的要求是在用户尝试检索 HTML 版本时生成 PDF,最好将请求放在 JMS 队列中,该队列会生成 PDF 版本的适当结果并将它们存储在临时位置。当用户单击 PDF 版本的下载链接时,您只需要获取结果(通过 JMS 生成)并将其作为结果发送回来。

于 2013-09-21T06:23:22.773 回答