如题:我们在做一些网站的时候,比如售房网站,可想而知每个房子都有自己的图片,一个房子就好多图片。如果把这些图片都放在当前工程下,那么我们这个工程就好大。实际开发过程中,类似这种网站肯定是要挂载磁盘的,我们在存储图片的时候是真正存在磁盘上的某个目录下,而并非是真正的工程目录下。比如存储在: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+"/";
%>
图片可以是: