【问题标题】:How can you serve a dynamically generated file w/ Tomcat & Java technology?如何使用 Tomcat 和 Java 技术提供动态生成的文件?
【发布时间】:2009-07-08 15:19:29
【问题描述】:

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

这是我以前在 python 中做过的事情,但是这个 web-app 是为了维护目的而设计的严格的 java 技术。

在谷歌上做了几次搜索后,我没有进一步了解。有没有人这样做过或有一个好的起点?

【问题讨论】:

  • 你可以使用 Servlet 吗?还是 JSP-s?
  • 两者。事实上,如果您有其他建议,任何基于 Java 的网络技术都可以。

标签: java jsp tomcat servlets


【解决方案1】:

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

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

这会将 content-type 设置为 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>

【讨论】:

  • 这似乎是我想要的。当我回到办公室并检查它时,我会试一试,因为它工作正常。
猜你喜欢
  • 2016-10-14
  • 2012-10-23
  • 1970-01-01
  • 2013-11-18
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 2015-05-29
  • 2010-11-07
相关资源
最近更新 更多