1. 程式人生 > >專案部署到Tomcat後訪問本地資料夾中的檔案

專案部署到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>配置,改完之後就可以了

   

     訪問的時候可以這樣訪問:

   如果你的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" />