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

标签 tomcat virtual-directory

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

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

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

http://myapp.com/static

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

/var/www/static

这样我就可以在我的代码中...

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

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

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

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

最佳答案

我遇到了类似的问题,最终构建了自己的 servlet 来读取文件并将其流式传输到输出。问题是,如果您不支持 mime 类型、gzip、etags 和缓存 header (例如 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

关于tomcat - 将文件系统上的文件夹映射到 Tomcat 中的 url 的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438483/

相关文章:

java - 为什么包含 JAVA_OPTS Xmx 时 Tomcat 不启动?

java - 如何退出tomcat应用程序管理器?

asp.net-mvc - 如何设置本地主机测试运行的虚拟目录?

css - 在 SSRS 中设置默认虚拟目录列表样式的最佳方式是什么?

java - 如果项目不被视为 Web 项目,如何在 Tomcat 上运行 WAR?

eclipse - 在 Spring Tool Suite/Eclipse 中配置 APR 连接器

tomcat - 什么可以替代 javax.servlet-api-3.1.0.jar

asp.net-core - mvc获取虚拟目录的方法

c# - 将文件保存到虚拟目录

visual-studio-2015 - Visual Studio 2015 添加虚拟目录