context.xml用于检索磁盘上的资源问题Tomcat / Java EE

时间:2014-05-31 22:06:53

标签: java tomcat context.xml

我正试图从光盘中获取一些照片,我把照片作为

D:
|
|-images
       |
       |-attachments
                ->testimg.jpg

我正在尝试使用webapp上的META-INF中的上下文文件来获取此图片 这是代码

<?xml version="1.0" encoding="UTF-8"?>
<Context  docBase="D:\images\attachments" path="/Projet/attachments/" reloadable="true" crossContext="true" />

在Java代码中设置img src attribut我做

pics.setSrc("/attachments/testimg.jpg");

但问题是当我在浏览器中运行页面时找不到资源,当我检查网络时,我发现类型是text / html  enter image description here enter image description here 我希望你能帮助我

1 个答案:

答案 0 :(得分:1)

尝试从路径末尾删除正斜杠。因此,将path="/Projet/attachments/"修改为path="/Projet/attachments"我已在本地复制它并解决了问题。

在尝试检索不存在的资源时,你得到text / html类型的原因是因为webserver(在我们的例子中是tomcat)生成了404错误页面,而且类型为text / html 。只需尝试手动点击http://localhost:8080/path/that/does/not/exist.jpg即可获得相同的结果。


更多信息

如果要使用全新安装进行设置,则不需要Java代码来测试映射

  • 部署tomcat
  • 编辑conf / server.xml
<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">
   .
   .
   <Context  docBase="/space/images/attachments" path="/Projet/attachments" reloadable="true" />
</Host>
  • (重新)启动tomcat
  • 在浏览器中点击http://localhost:8080/Projet/attachments/testimg.jpg