总结:上传文件到java web项目中,而不是tomcat服务器中

时间:2022-02-18 20:56:29

例如我将要把一个图片上传到项目中

<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项目中