Eclipse conf/server.xml中的更改在运行时似乎没有任何影响
以下是我所知道的:Eclipse conf/server.xml中的更改在运行时似乎没有任何影响,eclipse,tomcat,spring-tool-suite,Eclipse,Tomcat,Spring Tool Suite,以下是我所知道的: 当上传用户提供的文件时,我们应该把它们放在一个文件夹中 在部署文件夹之外。让我称之为D:\上传 我们应该(以某种方式)将该文件夹(D:\uploads)添加为web应用程序上下文 以下是我所做的: 我将文件上载到文件夹D:\uploads 我试图通过将以下行添加到TOMCAT_DIR/conf/server.xml来添加前面提到的web应用上下文: 但这没有任何效果。当咨询或我得到一个HTTP状态404错误 所以我想知道的是: 我做错了什么?如何将上载文件夹添加到
- 当上传用户提供的文件时,我们应该把它们放在一个文件夹中 在部署文件夹之外。让我称之为D:\上传
- 我们应该(以某种方式)将该文件夹(D:\uploads)添加为web应用程序上下文
- 我将文件上载到文件夹D:\uploads
- 我试图通过将以下行添加到TOMCAT_DIR/conf/server.xml来添加前面提到的web应用上下文:
但这没有任何效果。当咨询或我得到一个HTTP状态404错误
所以我想知道的是:
更改
docBase
属性。使用D:/uploads
(带斜杠)代替D:\uploads
(带反斜杠)
在Java中处理文件时,您可以在所有平台上安全地使用/
(斜杠,而不是反斜杠)
关于您在评论中提到的从IDE启动Tomcat和从
bin/startup.bat
启动Tomcat的区别:很可能从IDE启动Tomcat时,它使用的不是Tomcat使用的相同的context.xml
。只需查看IDE中的Tomcat设置
如何存储上传的文件是堆栈溢出时的一个常见主题。环顾四周,你会惊讶于这个话题的流行程度
如果您不满意将文件存储在<代码>:/上载< /COD>或将有其他服务器访问文件,则可以考虑将它们存储在网络中的某个位置。根据您的要求,您可以使用一台专用服务器来存储文件,也可以共享当前服务器中包含文件的文件夹。正确的决定将始终取决于您的需求。
谢谢您的回答,这就成功了。但我只是注意到,当从IDE启动服务器时(我使用的是Spring工具套件),我无法访问该文件夹(或webapps中的任何文件夹)。但是如果我手动启动服务器(通过执行bin/startup.bat),我可以自由访问/uploads路径和webapps中的任何文件夹。这是正常的行为还是我遗漏了什么?我明白了,我会寻找更多的细节。谢谢你的回答,真的很有帮助。如果你能证实我的疑问,我会很高兴,因为我在问题的第二点(关于更好的方法)中表达了这些疑问。@Auranx我刚刚更新了我的答案。希望它能帮助你。我真的很感激。提供的答案非常有帮助,切中要害。