一般情况下,浏览器访问到的资源是在项目路径下的,或者通过http指向远程的存储服务器地址,比如图片存放的地址。页面中的<img>标签中的src属性,即指向地址。如果,图片并非存储在远程服务器上,也不是在项目发布的路径下,而是放在部署服务器的其他目录下。那么如何访问到呢?
配置虚拟路径(即映射)即可解决。
如图:图片存储在服务器10.19.105.131下的u02/lblupload的路径下。
项目发布的位置在:
正常情况下,无法通过浏览器访问到u02/lblupload下的图片资源。项目中,如果需要引用这些图片也是没有办法访问到的,因为页面img标签的src属性,需要地址指向这些图片,最终还是以http协议访问的,而这些图片资源如果没有通过web服务器发布,就无法通过http协议访问到,浏览器也是访问不到的。
但是,如果配置虚拟路径,将该文件夹映射到项目下,就可以通过项目发布的路径访问到这些资源。
在weblogic的配置文件weblogic.xml中配置虚拟路径如下:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app
xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
<context-root>kysetl_rpt</context-root>
<!--配置虚拟路径,映射-->
<virtual-directory-mapping>
<local-path>/u02</local-path>
<url-pattern>/lblupload/*</url-pattern>
</virtual-directory-mapping>
</weblogic-web-app>
这样在访问10.19.105.131:7001/kysetl_rpt/lblupload/*
就会映射访问到10.19.105.131:7001/u02/lblupload/*
比如:http://10.19.105.131:7001/kysetl_rpt/lblupload/4MNOH3B4twBhPqu.jpg
就会去找10.19.105.131:7001/u02/lblupload/4MNOH3B4twBhPqu.jpg
那么页面的<img>标签如何配置路径,才能访问到这些图片呢?
如下:src标签中的写法和虚拟路径转换后的http访问地址。
配置的是../../../lblupload 就指向u02/lblupload文件夹下。