servlet - 单击 link 选择要下载的文件

servlet - choosing the file to download on clicking a link

场景是这样的:我有一个页面,当我们提交文件编号时,客户端会得到一个 link 来下载文件。但我不知道如何编写一个 servlet 来决定将哪个文件发送给客户端。这必须在单击 link 时发生,因此我无法发送可以帮助我确定要下载哪个文件的参数。

请帮忙。

  1. 您提交一个档案号;
  2. 你根据那个文件号构建一个link(它是GET的link。GET可以有参数,所以你可以把参数放在URL路径或查询字符串);
  3. 用户点击 link;
  4. link 由 servlet 处理;
  5. servlet 使用 GET 请求中的参数来确定要发送的文件;
  6. 您在响应中发送该文件的内容。

这些是步骤。

这是 BalusC 博客上的示例:http://balusc.blogspot.ro/2007/07/fileservlet.html

您需要注意的是安全:

  • 不要将文件直接公开为服务器上的路径,否则用户可以导航该路径以访问您应用程序上的其他文件;
  • 如果您的应用程序的用户拥有不同的权限,请确保在返回文件之前检查这些权限,这样您的用户就无法访问其他人的文件。