我不是很喜欢 Tomcat 配置,我有以下疑问:
Tomcat 7 的 server.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 "%r" %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 /
如果这可能是我的问题(我绝对不确定),我该如何指定这种特殊行为?
答案 0 :(得分:1)
路径是项目资源的访问网址, docBase 是文件夹的真实路径
"/data/myproject/cache/images/subdir1"
如果您的图片位于此处:conf/Catalina/localhost
并且您希望通过浏览器中的URL访问这些图像。
试试这个
1.找到tomcat中的文件夹。
*.xml
2。创建一个文件
<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="/data/myproject/cache/images/subdir1" path="/subdir1" debug="0" reloadable="true" />
3。在其中添加这些代码
http://localhost:8080/subdir1/1.png
4。像这样保存图像路径:
<script>
var jt_width = screen.width;
function doAThing() {
if (jt_width < 361) {
document.write('<div class="small-image"><img src="http://www.example.com/small-image.jpg" alt="small image alt"></div>') } else { document.write('<div class="large-image"><img src="http://www.example.com/large-image.jpg" alt="large image alt"></div>')
};
}
doAThing();
window.addEventListener('resize', doAThing);
</script>
5。重新启动tomcat服务器以启用并加载&#34; * .xml&#34;你已经编辑过。 尝试第4步中的网址。你能看到图片吗?如果没有,请告诉我你会得到什么样的错误。我会帮你搞清楚。