将文件系统上的文件夹映射到Tomcat中的URL的最简单方法是什么?

时间:2010-03-13 13:22:25

标签: tomcat virtual-directory

这是我的问题......我有一个小型原型应用程序(碰巧在AWS上托管的Grails),我想添加用户上传一些(最多10个)图像的能力。我想将这些图像保存在服务器计算机上的磁盘上,位于WAR之外的文件夹位置。

我意识到可能存在一个超级可扩展的解决方案,涉及更多的Web服务器和优化的静态资产服务,但对于我可能获得的大约100个用户来说,这真的不值得付出努力和成本。

那么,从我的url映射到磁盘上的物理文件夹的虚拟文件夹最简单的方法是什么?我有点想......

http://myapp.com/static

映射到我可以配置的文件夹,例如

/var/www/static

所以我可以在我的代码中...

<img src="/static/user1/picture.jpg"/>

我不特别介意生成的物理文件夹是否可以直接浏览。安全最终将成为一个问题,但它不是一开始的。

那么,我的选择是什么?我查看了apache站点上的虚拟主机,但感觉比我需要的更复杂。

我不想使用Grails静态渲染插件。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,最终构建了自己的servlet来读取文件并将其传输到输出。问题在于,如果您不支持mime类型,gzip,etags和缓存标头(例如Last-Modified),这可能效率非常低。我最终编写了所有这些(并使用ehcache进行服务器端缓存),但这并不简单。

但是,此StackOverflow问题有许多有用的响应。

What is the simplest way to map a folder on the file system to a url in Tomcat?

其中一个更吸引人的选择似乎是FileServlet。

http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.html