Tomcat配置虚拟路径使上传文件和服务器分离及上传文件
虚拟目录
方法
1).server.xml
打开Tomcat目录下的/conf/server.xml文件,在Host之前加入下面红色部分的内容。
<Host name="localhost" appBase="webapps"
unpackWARs="true"autoDeploy="true">
<ValveclassName="org.apache.catalina.valves.AccessLogValve"directory="logs"
prefix="localhost_access_log."suffix=".txt"
pattern="%h %l %u %t "%r" %s %b"/>
<Contextpath="/base/userFiles" docBase="E:\\workSpace\\userFiles"reloadable="true" debug="0"/>
</Host>
(1).path : 工程名称+文件路径,当访问path目录下的文件时,实则访问docBase目录下的文件。
(2). docBase : 文件的真实路径。注意这里如果有文件长传,则将上传的文件路径设置为docBase,而不是path。
2). 打开Tomcat目录下的/conf/web.xml,将下面红色部分listings的属性设置为True。(不是必须)
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
由于配置虚拟目录必须要将listings属性设置为True,这样就将该目录下的所有文件都暴露给了用户,这样也给系统的使用带来了一定的风险。所以,选择使用虚拟目录一定要慎重。
tomcat在的请求一般为http://localhost:8080/demo/file/abc.jpg
配置完重启之后,该请求会自动跳转到物理路径D:\demo\File\file下查找。
会访问本机的D:\demo\File\file\abc.jpg
3)上传文件时需要更改 上传根目录
更改Global.java 文件 dir 地址
参考
参考地址:
(1). http://blog.****.net/shehun1/article/details/38519807
(2). http://blog.****.net/zjml2412/article/details/49962939