如何为Tomcat&提供动态生成的文件? Java技术?

时间:2009-07-08 15:19:30

标签: java jsp tomcat servlets

很难确定如何将动态数据发送到网络应用的用户,而无需创建文件和文件。使用Java技术使用动态链接到静态内容。 (避免在磁盘上创建文件的主要原因是安全性和速度)

这是我之前在python中所做的事情,但是这个web-app旨在严格用于维护目的的Java技术。

在google中进行了一些搜索之后,我还没有进一步了解。有没有人以前做过这个或有一个好主意的起点?

1 个答案:

答案 0 :(得分:4)

您可以从servlet输出任何类型的内容类型。只需将标题设置为正确,然后将要发送的内容转储到请求正文中。

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=" + file);
// generate the content and send it to response.getOutputStream()

这会将内容类型设置为excel文件,并强制浏览器下载文件。

作为奖励,您可以告诉您的servlet收听特定路径,并使用真实文件名设置链接。

<servlet-mapping>
    <servlet-name>Export</servlet-name>
    <url-pattern>/export/*</url-pattern>
</servlet-mapping>

<a href="<%=request.getContextPath()%>/export/Myreport.xls">
    Myreport.xls
</a>