如何使用上下文路径正确地将外部文件夹正确映射到tomcat Server.xml文件中



我不太喜欢 tomcat 配置,我有以下疑问:

server.xml 我的 tomcat的配置文件7 包含此 e节:

 <Host name="localhost"  appBase="webapps"
        unpackWARs="true"
        autoDeploy="true"
        xmlValidation="false" xmlNamespaceAware="false">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->
    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log." suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    <Context path="/my-project/images/" docBase="/data/myproject/cache/images/" />
  </Host>

我的主要疑问与最后一行有关:

<Context path="/my-project/images/" docBase="/data/myproject/cache/images/" />

/data/myproject/cache/images/包含一些其他文件夹,其中包含我的Java EE项目使用的图像。

那么,这条线到底意味着什么?

我认为它意味着它将/my-project/images/文件夹映射到外部文件夹(项目外部)/data/data/data/myproject/cace/images/

这是正确的吗?

我的问题是我的应用程序启动,但没有显示这些图像。

因此,确切的情况是以下一个:这些图像未直接存储到/data/myproject/cache/cacke/images/strong>外部文件夹中,但将其放置在此文件夹的子目录中,类似这样:

**/data/myproject/cache/images/subdir1/1.png**
**/data/myproject/cache/images/subdir1/2.png**
**/data/myproject/cache/images/subdir1/3.png**
**/data/myproject/cache/images/subdir2/4.png**
**/data/myproject/cache/images/subdir2/5.png**
**/data/myproject/cache/images/subdir2/6.png**

所以我认为也许我必须改变这一行:

<Context path="/my-project/images/" docBase="/data/myproject/cache/images/" />

以这样的方式,如果被称为/my-project/images/subdir1 ,它被映射到/data/data/myProject/cache/cache/images/subdir1/strong>

如果这可能是我的问题(我绝对不确定),我该如何指定此特定行为?

路径是您项目中资源的访问URL, docbase 是文件夹的真实路径

<Context path="/my-project/images/" docBase="/data/myproject/cache/images/" />

如果您的图像在这里:"/data/myproject/cache/images/subdir1"您想在浏览器中通过URL访问这些图像。尝试这个
1.在tomcat中找到文件夹。

conf/Catalina/localhost

2。创建文件

*.xml

3。在其中添加这些代码

<?xml version="1.0" encoding="UTF-8" ?> 
<Context docBase="/data/myproject/cache/images/subdir1" path="/subdir1" debug="0" reloadable="true" />

4。这样保存图像路径:

http://localhost:8080/subdir1/1.png

5。重新启动您的tomcat服务器以启用并加载您已编辑的"*.xml"。尝试步骤4中的URL。您可以看到图像吗?如果没有,请告诉我您会遇到什么样的错误。我会帮助您弄清楚。

最新更新