首页 文章

conf / server.xml中的更改在运行时似乎没有任何影响

提问于
浏览
1

这就是我所知道的:

  • 上传用户提供的文件时,我们应将它们放在部署文件夹外的文件夹中 . 我叫它D:\ uploads .

  • 我们应该(以某种方式)将该文件夹(D:\ uploads)添加为Web应用程序上下文 .

这是我做的:

  • 我将文件上传到文件夹D:\ uploads .

  • 我尝试通过将以下行添加到TOMCAT_DIR / conf / server.xml来添加Web应用程序上下文,因为它被提及here

<Context docBase="D:\uploads" path="/uploads"/>

但这没有任何影响 . 咨询http://localhost:8080/uploads/file.pnghttp://localhost:8080/uploads时,收到HTTP状态404错误 .

所以我想知道:

  • 我做错了什么?如何将我的上传文件夹添加到Tomcat?

  • 上传文件有什么更好的方法吗?因为我'm wondering what should I change if I want to deploy my application to another server where there'没有D:\ uploads .

1 回答

  • 1

    更改 docBase 属性 . 使用 D:/uploads (带斜杠)而不是 D:\uploads (带反斜杠) .

    在Java中处理文件时,您可以安全地在所有平台上使用 / (斜杠,而不是反斜杠) .


    关于从IDE和 bin/startup.bat 启动Tomcat时在注释中提到的差异:当您从IDE启动Tomcat时,它很可能不会使用Tomcat正在使用的相同 context.xml . 只需查看IDE中的Tomcat设置即可 .


    如何存储上传的文件是Stack Overflow的常见主题 . 只需环顾四周,你会对这个主题如何受欢迎感到惊讶 .

    如果您对 D:/uploads 中的文件存储不满意,或者您将有其他服务器访问这些文件,您可以考虑将它们存储在网络中的某个位置 . 根据您的要求,您可以使用一个专用服务器来存储文件,或者只共享包含当前服务器中文件的文件夹 . 正确的决定将始终取决于您的要求 .

相关问题