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

时间:2016-01-09 22:35:26

标签: eclipse tomcat spring-tool-suite

以下是我所知道的:

  • 上传用户提供的文件时,我们应该将它们放在一个文件夹中 在部署文件夹之外。我叫它D:\ uploads。
  • 我们应该(以某种方式)将该文件夹(D:\ uploads)添加为Web应用程序上下文。

这就是我的所作所为:

  • 我将文件上传到文件夹D:\ uploads。
  • 我尝试通过将以下行添加到TOMCAT_DIR / conf / server.xml来添加Web应用程序上下文,因为它提到了here
to => 'my', :action => 'index', :via => :get, :as => 'home'

但这并没有任何效果。在咨询http://localhost:8080/uploads/file.pnghttp://localhost:8080/uploads时,我收到HTTP状态404错误。

所以我想知道:

  1. 我做错了什么?如何将我的上传文件夹添加到Tomcat?
  2. 上传文件有什么更好的方法吗? 因为我想知道如果我想部署我应该改变什么 申请到另一个没有D:\ uploads。
  3. 的服务器

1 个答案:

答案 0 :(得分:1)

更改docBase属性。使用D:/uploads(使用斜杠)代替D:\uploads(使用反斜杠)。

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

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

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

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