更改tomcat的server.xml 访问非工程目录下的文件(其他磁盘下的文件)
2013-04-17 09:36
501 查看
如题:我们在做一些网站的时候,比如售房网站,可想而知每个房子都有自己的图片,一个房子就好多图片。如果把这些图片都放在当前工程下,那么我们这个工程就好大。实际开发过程中,类似这种网站肯定是要挂载磁盘的,我们在存储图片的时候是真正存在磁盘上的某个目录下,而并非是真正的工程目录下。比如存储在:D:\apps\realestate\images\tenement 如下图:
但是我们在jsp页面中怎么访问这些图片呢?假如图片放在webRoot下, 我们只需写一个相对路径就可以访问了。例如:
<img class="mainImg" src="images/5/image0.jpg“ width="772" height="579" >
但是我们如何访问放在某个盘符下面的图片呢?
以前尝试过用流的方式读取,但是这只适合读取一张图片,当要访问大量图片的时候,这种方式就不合理了。
下面正式介绍我们的方法,更改tomcat 的server.xml来访问指定目录下的图片。
1.首先我们数据库的要存储的是相对路径
2.更改tomcat 的配置文件server.xml 文件
加上这句:<Context docBase="D:/apps/realestate/images" path="/realestate/img" />
doBase写的是你要访问的那个盘符下的哪个目录 path代表你在服务器上访问的路径。比如:http://localhost:8080//realestate/img/tenement\5\image0.jpg 就可以再浏览器真正的看到图片。
3。前台jsp可以直接访问了。
一般我们jsp 中会写:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
图片可以是:
<img class="mainImg" src="<%=basePath %>${photoList[0].bigPhotoPath }" width="772" height="579" data-index="0" alt="${tenement.tenementInfo }"
title="${tenement.tenementInfo }">
${photoList[0].bigPhotoPath } 这个地方就是从数据中取出来的相对路径,可能有时候还要单独处理一下。
4.至此我们就可以访问d:盘 或者c:上的某个文件件了;
我们可以访问多个盘,在刚才的基础上要加上<Context docBase="E:/apps/realestate/images" path="/realestate/img" />,但是要保证写的路径真实存在。否则tomcat会报错哦!
注意:实际项目中并非这个样子,大家只是体会一下过程,访问某个磁盘上的图片。
真实的配置,这里我也不太懂。不过各自调试程序时,假设其在本工程的一个子目录下就OK了;真部署时,会通过junction的软链接,将该子目录挂接映射到一个单独的真实磁盘(阵列)上。
1. 我们的最终架构是:
Apache Web Server-------->(1个或多个负载均衡的)Tomcat J2EE Server ----->JSP/SSH(Struts/Spring/Hibernate)等动态数据为主
|-------->/images/tenement等静态图片
(1) Apache和Tomcat上都可以配置虚拟主机, Apache负责监听标准的80端口,并映射对应多个域名;
(2) 动态页面的访问,Apache通过AJP协议转发给Tomcat;
(3) 静态的图片,Apache配置成优先访问本地磁盘文件,因为Apache的静态数据效率全行业排名第一;
但是我们在jsp页面中怎么访问这些图片呢?假如图片放在webRoot下, 我们只需写一个相对路径就可以访问了。例如:
<img class="mainImg" src="images/5/image0.jpg“ width="772" height="579" >
但是我们如何访问放在某个盘符下面的图片呢?
以前尝试过用流的方式读取,但是这只适合读取一张图片,当要访问大量图片的时候,这种方式就不合理了。
下面正式介绍我们的方法,更改tomcat 的server.xml来访问指定目录下的图片。
1.首先我们数据库的要存储的是相对路径
2.更改tomcat 的配置文件server.xml 文件
加上这句:<Context docBase="D:/apps/realestate/images" path="/realestate/img" />
doBase写的是你要访问的那个盘符下的哪个目录 path代表你在服务器上访问的路径。比如:http://localhost:8080//realestate/img/tenement\5\image0.jpg 就可以再浏览器真正的看到图片。
3。前台jsp可以直接访问了。
一般我们jsp 中会写:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
图片可以是:
<img class="mainImg" src="<%=basePath %>${photoList[0].bigPhotoPath }" width="772" height="579" data-index="0" alt="${tenement.tenementInfo }"
title="${tenement.tenementInfo }">
${photoList[0].bigPhotoPath } 这个地方就是从数据中取出来的相对路径,可能有时候还要单独处理一下。
4.至此我们就可以访问d:盘 或者c:上的某个文件件了;
我们可以访问多个盘,在刚才的基础上要加上<Context docBase="E:/apps/realestate/images" path="/realestate/img" />,但是要保证写的路径真实存在。否则tomcat会报错哦!
注意:实际项目中并非这个样子,大家只是体会一下过程,访问某个磁盘上的图片。
真实的配置,这里我也不太懂。不过各自调试程序时,假设其在本工程的一个子目录下就OK了;真部署时,会通过junction的软链接,将该子目录挂接映射到一个单独的真实磁盘(阵列)上。
1. 我们的最终架构是:
Apache Web Server-------->(1个或多个负载均衡的)Tomcat J2EE Server ----->JSP/SSH(Struts/Spring/Hibernate)等动态数据为主
|-------->/images/tenement等静态图片
(1) Apache和Tomcat上都可以配置虚拟主机, Apache负责监听标准的80端口,并映射对应多个域名;
(2) 动态页面的访问,Apache通过AJP协议转发给Tomcat;
(3) 静态的图片,Apache配置成优先访问本地磁盘文件,因为Apache的静态数据效率全行业排名第一;
相关文章推荐
- 更改tomcat的server.xml 访问非工程目录下的文件(其他磁盘下的文件)
- 更改tomcat的server.xml 访问非工程目录下的文件(其他磁盘下的文件)
- tomcat conf目录下web.xml、tomcat-users.xml、server.xml以及context.xml四个文件的作用
- tomcat conf目录下web.xml,tomcat-users.xml,server.xml,context.xml四个文件的作用
- tomcat conf目录下web.xml,tomcat-users.xml,server.xml,context.xml四个文件的作用
- tomcat 虚拟目录,文件不再工程目录 访问方法
- Tomcat6.0 目录结构说明 及 配置文件server.xml说明
- tomcat conf目录下web.xml tomcat-users.xml server.xml context.xml这四个文件的作用
- tomcat中修改server.xml设置虚拟目录后,再删掉那部分内容,虚拟路径还是能访问的。
- tomcat conf目录下 web.xml,tomcat-users.xml,server.xml以及context.xml四个文件的作用
- 了解tomcat conf目录下 web.xml,tomcat-user.xml,server.xml以及 context.xml四个文件的作用。
- Tomcat 利用server.xml进行其他盘符的其他项目映射的部署以及JSP引用其他盘符的图片(虚拟目录及虚拟路径)
- tomcat conf目录下web.xml,tomcat-users.xml,server.xml,context.xml四个文件的作用
- Tomcat的目录结构、处理流程、主配置文件(server.xml)释义
- Tomcat结构里面的conf目录下的server.xml简要文件介绍
- IDEA中Tomcat相关——如无法访问localhost:8080欢迎页面,无法配置web.xml以及server.xml,设置download.xml下载目录无效等问题
- Tomcat配置Server.xml文件,映射磁盘资源
- 了解tomcat conf目录下web.xml,tomcat-users.xml,server.xml,以及context.xml四个文件的作用
- 在tomcat中配置上一个xml文件,直接访问建立的工程,无需重复发布
- jboss配置文件配置编码方式,类似于tomcat的server.xml配置编码方式