我的 Java Web 应用程序需要提供许多静态 HTML 报告。
报告是使用第三方应用程序根据用户的输入按需生成的。每次运行的报告始终不同,因此无法缓存它们。报告包括多个 HTML 页面(包括 JS 和 CSS 页面)以及文件之间的相对链接。
向前端用户提供这些报告的最简单方法是什么?
报告不需要保留 - 它们可以在设定时间后或用户注销后删除。
我正在使用:
- Tomcat 7
- Spring框架
这是一个类似的示例:
假设 Web 应用程序是一个在线 IDE,并且您希望偶尔生成并显示项目的 Javadoc 页面。
最佳答案
我个人会使用 Web 服务器(例如 Apache)来执行此操作,因为我的 Java 应用程序始终落后于 Apache。这是一个 Apache 示例:
# Serve /path/to/html/files/ with static files stored at /var/path/to/files/
ProxyPass /path/to/html/files/ !
Alias /path/to/html/files/ /var/path/to/files/
# Proxy / to Java application at localhost:8080
ProxyPass / http://localhost:8080/
如果您必须使用纯Java解决方案,您可以尝试设置一个文件下载servlet,such as this one by BalusC 。请务必小心处理请求 url 中提供的文件路径,因为 servlet 可能容易受到 directory traversal attack 的攻击。 .
关于java - 如何从 Java Web 应用程序托管用户生成的 HTML 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24327802/