项目中有好多图片的需要展示,然而这些图片不是缓存到本地,而是存放在文件服务器上,如何在img的src属性使用“http://localhost:7001/项目名称/映射目录/文件名”的方式就能展示这些图片呢?
由于我们项目是部署在weblogic服务器上的,因此,可以采用配置weblogic的虚拟路径virtual-directory-mapping的方式,即在weblogic.xml中作如下配置:
<weblogic-web-app>
......省略其他部分
<context-root>pad-sces</context-root>
<virtual-directory-mapping>
<local-path>D:/images</local-path>
<url-pattern>/poster/*</url-pattern>
</virtual-directory-mapping>
</weblogic-web-app>
这里我用D:/images/poster/xxx.jpg 来代码文件服务器上的文件存放路径。
因此,可以用<img src="http://localhost:7001/pad-sces/poster/xxx.jpg"/>来展示图片啦。
不过,这样有个弊端就是,我们这边采用的是自动化移交部署,要求测试环境和生产环境打在包里的内容一致,不一致的要使用变量的形式引用包外配置的properties文件中的属性值。我们这个weblogic.xml是打在ear包中的,而且这个xml文件貌似不能读到properties中的文件,因此,我们又考虑换一种Spring MVC中的 <mvc:resources>标签。具体参见下一篇。