例如我将要把一个图片上传到项目中
<span style="font-size:14px;">//获得上传的路径 String path = getServletContext().getRealPath("/book_img");</span>
<span style="font-size:14px;">//得到的路径为D:\法方课件\JAVA\apache-tomcat-7.0.57\webapps\zhistore\book_img</span>这样的话得到的路径 是tomcat服务器下发布的文件路径
但是项目又不在tomcat中,查阅资料发现,需要在tomcat中的server.xml设置虚拟目录
<span style="font-size:14px;"><Host appBase="E:\学习\Myself\zhistore" autoDeploy="true" name="www.zhistore.com" unpackWARs="true"> <Context path="" docBase="WebRoot"></Context> </Host></span>配置说明:
Host的name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host.
Host的appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径.
<context>是Host标记的子元素,表示一个虚拟目录,它主要有两个属性,path就相当于虚拟目录名字。docbase则是具体的文件位置。docBase可以是绝对路径也可以是相对路径,本文中使用相对路径 即指向了WebRoot的目录
配置了之后的效果:
//获得上传的路径 String path = getServletContext().getRealPath("/book_img");
<pre name="code" class="java">//得到的路径为E:\学习\Myself\zhistore\WebRoot\book_img这样就上传文件到java web项目中