带有DocBase的Tomcat符号链接

带有DocBase的Tomcat符号链接,tomcat,symlink,Tomcat,Symlink,我需要在我的webapp之外上传文档,并在上传到浏览器之后提供这些文档。所以在看了很多帖子后,我决定创建一个符号链接。我有一个问题,因为我在tomcat5/Catalina/loclahost/myApp.xml中已经有了上下文。 我添加了属性allowlinking=true和override=true。 但我无法使用浏览器访问上载的文档。 我认为这两个重定向不在一起工作,但我不知道如何以任何其他方式做到这一点。 因此,如果您需要一个安全的地方将文件上传到您的Web应用程序,您需要将文件完全放

我需要在我的webapp之外上传文档,并在上传到浏览器之后提供这些文档。所以在看了很多帖子后,我决定创建一个符号链接。我有一个问题,因为我在
tomcat5/Catalina/loclahost/myApp.xml
中已经有了上下文。 我添加了属性allowlinking=true和override=true。 但我无法使用浏览器访问上载的文档。 我认为这两个重定向不在一起工作,但我不知道如何以任何其他方式做到这一点。
因此,如果您需要一个安全的地方将文件上传到您的Web应用程序,您需要将文件完全放在任何Web应用程序的docbase之外,这包括使用符号链接将文件“装载”到您的URL空间,方法是利用DefaultServlet为您提供这些信息。否则,当webapp被取消部署时,Tomcat将删除所有上传的文件


如果您不必选择升级到Tomcat 7.0(我强烈推荐),那么我建议您编写自己的servlet,将其映射到/myapp/files/*,并让该servlet从上传目录读取文件,并将位提供给客户端。有一些方法可以让DefaultServlet为您做到这一点(而不是在您自己的servlet中复制它的完整功能集),但它并不总是很好地工作,并且在旧版本的Tomcat中可能根本不工作,因为DefaultServlet假定它映射到“/”而不是“/文件”之类的东西。

您可以升级到Tomcat 6吗?TC6有“别名”,我想这会满足你的需要。不,我不能,但我想了解一下我的信息。你需要嵌套URL空间吗?例如,/myapp/upload和/myapp/files/…?是的,我想有几个文件夹(它们是在服务上传的基础上构建的),但我真的想在webapp之外确保文档的持久性,无论web服务器发生什么情况(崩溃、重新启动、重新部署等),我最终都会这样做,并一直等到一切正常。我没有使用默认的servlet。谢谢你的支持。