项目部署到Tomcat后访问本地文件夹中的文件

最近项目中遇到<iframe>嵌套本地静态HTML文件的问题,开始的时候怎么搞都不行

原因:浏览器处于安全考虑不允许加载本地资源

解决办法:在Tomcat的server.xml和web.xml中配置虚拟路径

路径信息:Tomcat安装路径下的conf文件夹  (D:\Program Files\Tomcat\apache-tomcat-7.0.73\conf)

  第一步:在server.xml文件最后的<Host></Host>内部 添加虚拟路径

<Context path="/download" docBase="D:/WPTX/bom/dashboard/download" debug="0" reloadable="true" />

  path:匹配路径开头。

  docBase:你要访问的本地资源路径信息,不包含文件!

如果同时添加两个路径的话可以如下:

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="microCourse" reloadable="true" crossContext="true"/> 
<Context path="/video" docBase="F:\video\" reloadable="true" crossContext="true"/>

  第二步:改完server.xml文件之后还要改 web.xml文件中的<servlet>配置,改完之后就可以了

   项目部署到Tomcat后访问本地文件夹中的文件

     访问的时候可以这样访问:

   如果你的download文件夹下边还有其他的文件夹,比如还有 html 文件夹

   那么,访问形式是:/download/html/*.html(*.html是文件名)  也可以是  IP 加上/download/html/*.html   比如   https://cas.wptx.com.cn:8443\download\resource\dawnload_1_5924ae7f24ae7f630000.docx

   如果没有其他文件夹了,直接/download/*.html 就可以了


最后由于路径中会含有中文,tomcat默认不支持中文,需要配置server.xml

conf目录中server.xml

 <Connector URIEncoding="utf-8" port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000" 
               redirectPort="8443" />