Web服务器上有个虚拟目录的概念,比如配置一个访问路径名为images的虚拟目录,则通过http://localhost/images/可以访问到相关资源,而虚拟目录所对应的物理文件路径不必是在应用的物理根目录之下。
在Apusic上部署虚拟目录也比较简单,通过配置一个“空应用”就行了。下面举例:
Apusic的安装目录为c:\apusic,目录c:\images包含一些图片文件,现想通过http://localhost/images/xx.jpg的方式去访问该目录中的图片。
配置过程如下:
1. 配置 c:\apusic\config\server.xml,添加如下片段,装载一个名(虚拟路径)为images的Web应用
<application name="images" base="c:\images" start="auto"/>
2.在c:\images目录下创建WEB-INF目录,并在 WEB-INF目录下创建文件web.xml,内容参考如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
<display-name>images</display-name>
</web-app>
至此配置完毕。
当然还可以进行进一步的配置,如目录是否可以浏览等,也可以添加Filter,加入浏览规则、权限控制、后台统计等功能,甚至可以配置相应的WebDAV功能,进行图片文件的管理等。
配置目录浏览:
在c:\images\WEB-INF\web.xml中,加入下述片段:
<context-param>
<description> </description>
<param-name>directoryListing</param-name>
<param-value>True</param-value>
</context-param>
配置WebDAV:
在c:\images\WEB-INF\web.xml中,加入下述片段:
<servlet> <servlet-name>WebDAV</servlet-name> <servlet-class>com.apusic.web.webdav.WebDAVServlet</servlet-class> <init-param> <param-name>readonly</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>showMetaResource</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>resourceRoot</param-name> <param-value>/</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>WebDAV</servlet-name> <url-pattern>/*</url-pattern> </servlet-mapping>