需求
在做B/S的应用时。常常会遇到一个问题,站点上传的一些图片不是保存在应用server以下。而是保存在别的文件夹,可是页面中又需要能訪问到这些图片。这时,应用server的“虚拟文件夹”就派上了用场。
【转载使用。请注明出处:http://blog.csdn.net/mahoking】
解决方式
本文[以apache-tomcat-5.5为例]打开tomcat的配置文件,路径是:apache-tomcat-5.5/conf/server.xml。找到HOST标签,在<HOST></HOST>中间加上Context标签。比如:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Context path="/ImageSite" docBase="F:siteimage" reloadable="true" debug="0"> </Context> </Host>
注:
path:虚拟文件夹名称
docBase:实际文件存放地址
扩展:同理,jboss服务器配置方式一样,配置文件路径是:jboss-4.0.5.GA/server/你的应用名/deploy/jbossweb-tomcat55.sar/server.xml。【因jboss版本号不同而异】
演示样例
1、 在本机F盘新建F:siteimage目录路径,放置图片image.jpg例如以下:
2、 新建一个Java Web项目ImageTest。在index.jsp页面,粘贴例如以下代码:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>演示Demo(代码) </title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <img src="/ImageSite/image.jpg"></img> </body> </html>3、通过IE(其它浏览器)訪问index.jsp页面。
【转载使用。请注明出处:http://blog.csdn.net/mahoking】