1

Tomcat 7.0 と eclispe WTP プラグインを使用しています。ローカル ディスク上のファイルを参照できません。 <h:graphicImage value="C:/tmp/someFile.png"/>

場所 C:\Program Files (x86)\apache-tomcat-7.0.32\webapps directory tmp/ に追加して解決しようとしました<h:graphicImage value="/tmp/someFile.png"/>

私はまた、EclipseからTomcatファイルに追加しようとしました:server.xml<Context docBase="C:/tmp" path="/tmp" />

<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t &quot;%r&quot; %s %b" prefix="localhost_access_log." suffix=".txt"/>

  <Context docBase="myProjectName" path="/myProjectName" reloadable="true" source="org.eclipse.jst.jee.server:myProjectName"/>
  <Context docBase="C:/tmp" path="/tmp" /></Host>

同様にファイルへの参照<h:graphicImage value="/tmp/someFile.png"/>

その結果、HTTP ステータス 404 になりました。 説明 要求されたリソースは利用できません。

どうすれば解決できますか? ありがとう

4

2 に答える 2

1

<h:graphicImage>は、現在の Web アプリケーションのコンテキスト パスを URL の先頭に自動的に追加します。生成された HTML 出力および/または Web ブラウザーの組み込み Web 開発者ツールセットの HTTP トラフィック モニターを見たことがあれば、お気づきでしょう。

<img>代わりにプレーンな HTML 要素を使用してください。

<img src="/tmp/someFile.png" />
于 2012-11-17T18:59:42.937 に答える
0

「webapp」ディレクトリは、デプロイ時にアプリケーションのルート ディレクトリとして機能します (理想的な方法)。そのため、パス (url)"/tmp/someFile.png" を使用してファイル someFile.png にアクセスする場合は、ファイルを "/src/main/webapp/tmp/someFile.png"配置し、展開後に "webapp" の内容をアプリケーションのルート ディレクトリに配置する必要があります。

したがって、基本的には、「tmp」がアプリケーションのルート ディレクトリにあることを確認してください。

ファイルシステムを使用したい場合。この回答はこちらでご覧いただけます

于 2012-11-17T18:02:15.850 に答える