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 &quot;%r&quot; %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.csdn.net/shehun1/article/details/38519807                   

(2). http://blog.csdn.net/zjml2412/article/details/49962939

猜你喜欢

转载自blog.csdn.net/bibiboyx/article/details/80778839