-1

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

我的Tomcat 7server.xml配置文件包含这个部分:

 <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/myproject/cache/images/

这个推理正确吗?

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

所以确切的情况如下:这些图像没有直接存储到/data/myproject/cache/images/外部文件夹中,而是放在该文件夹的子目录中,如下所示:

**/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/myproject/cache/images/subdir1/

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

4

1 回答 1

1

path是你项目中资源的访问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。你能看到图像吗?如果没有,请告诉我你得到什么样的错误。我帮你想办法。

于 2017-02-16T02:48:34.490 回答