Servlet pdf下载按钮创建

时间:2012-06-11 14:32:51

标签: java java-ee servlets

我想要一个servlet,当用户按下一个按钮时,它会生成动态pdf(根据用户给定的数据)并将其下载到用户的c:/ location。有人可以帮我怎么做吗?

2 个答案:

答案 0 :(得分:4)

到底有什么不清楚的?如何写一个HTML表单?如何从HttpServletRequest获取参数?或者如何生成pdf并下载到用户?

<form action="yourServlet">
 <input type="text" name="sometxt"/>
 <input type="secret" name="passwd"/>
 <input type="submit"/>
</form>

然后,您可以在getXXX方法中检索它,如

final String text  = request.getParameter("sometxt");
final String rawPassword = request.getParameter("secret");

如果你需要渲染pdf,你应该看看Apache PdfBox。

最后,如果您在向用户下载文件时遇到问题:

response.setContentType("application/pdf");
InputStream in = ... // depends where you store your file 
ServletOutputStream out = response.getOutputStream();
byte[] buffer = new byte[4096];
while(in.read(buffer, 0, 4096) != -1)
   out.write(buffer, 0, 4096);
in.close();
out.flush();
out.close();

并且不要忘记handilng IOException,我错过了简单的目的。

答案 1 :(得分:3)

以下是下载文件的Java servlet的一个很好的示例:http://www.dzone.com/snippets/example-file-download-servlet

请注意,无需询问用户下载文件的位置,该文​​件由浏览器下载机制处理。

这里还有一些有用的信息:http://www.mkyong.com/java/how-to-download-file-from-website-java-jsp/