从远程服务器Java下载文件

时间:2011-11-08 18:52:22

标签: java download

我正在寻找有关实施此要求的建议:

要求公共网站上的用户能够下载任何类型的文件。 网站的网络服务器驻留在DMZ上,存储文件的服务器位于我们公司网络的内部。 Web服务器必须与文件存储服务器通信才能获取文件。实现这个的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

将该文件服务器映射为Web服务器磁盘文件系统中的网络驱动器,然后将另一个Web应用程序上下文添加到引用网络映射路径的servletcontainer配置中。

目前还不清楚你正在运行/定位的servletcontainer和平台,所以我无法给出更详细的答案。但是如果它是Tomcat,那么就应该将以下<Context>元素添加到Tomcat的/conf/server.xml,假设您已经在/path/to/mount/share上映射了文件服务器:

<Context path="/share" docBase="/path/to/mount/share" />

这种方式可以通过http://localhost:8080/share/

获取

答案 1 :(得分:0)

看起来你想要一个类似代理的组件来提供后端文件......就我个人而言,我不会将应用程序服务器用于这样的任务,而只是使用一个网络服务器。一些选择:

  • 网络共享:创建网络共享,就像BalusC建议并配置您的网络服务器以使用该共享一样。
  • 反向代理:在文件服务器上部署另一个Web服务器,并将前端配置为反向代理(即将下载请求发送到内部Web服务器)

也就是说我宁愿使用(Apache,Nginx等)基于Web服务器的方法而不是基于Java / J2EE的方法。对我来说似乎更合适......因此我会咨询我的系统管理员:)