我在windows上工作,使用Tomcat9.0/Java8,我的一个servlet将创建和管理大量图像。所以我们决定把它们存储在网络磁盘上。
在我的windows服务器上,我将资源装载到了p:/
为了访问tomcat之外的图像,我在server.xml主机中设置了上下文。为了确保它工作正常,我首先在本地进行了如下尝试:
<Context docBase="C:/IMG/" path="/RepIMG" />
然后,如果我尝试访问:http://localhost/repimg/test.jpg 显示图像。
但如果我将上下文更改为:
<Context docBase="P:/IMG/" path="/RepIMG" />
tomcat将不会以以下错误启动:由以下原因引起:java.lang.illegalargumentexception:l'employee de resources principal[p:]est invalide
=>主资源[p:]无效
如果我尝试用chrome直接访问p:/img/test.jpg,效果很好。我检查了文件夹的权限,一切似乎都正常。
由于它在我访问本地磁盘时工作,所以我假设问题在于我试图访问一个已装入的磁盘。
有什么需要说明的吗?或者有什么方法可以解决这个问题?知道到底出了什么问题?
1条答案
按热度按时间idv4meu81#
我假设您将tomcat作为服务运行(例如,不通过ide或命令行)。这样,它将在不同的上下文中运行,可能作为不同的用户。该上下文/用户帐户没有本地用户的驱动器Map-只有本地磁盘对于所有帐户都是相同的。