Tomcat でサーブレットを実行しています。いくつかのファイルを提供する必要があります。外部 (WEB-APP への) ディレクトリから準静的 (時折変更される... アプリの別の部分によって更新される) と呼ぶことができると思います。META-INF ディレクトリの context.xml に以下を追加することで、これを行うことができました
<Context aliases="/working_dir=c:/apache_tomcat_working_dir" ></Context>
これは問題なく動作します。私の HTML では、ファイルを次のように参照しています。
<img src="/myWebbApp/working_dir/fixpermin_zoom.png">
そして、WEB-INF内のweb.xmlで、デフォルトサーバーにpngファイルを次のように処理させます
<!-- use default for static serving of png's, js and css, also ico -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.png</url-pattern>
</servlet-mapping>
したがって、これは正常に機能します。しかし、context.xml ファイルを編集するのではなく、Java コード内から外部ディレクトリを設定したいと考えています。
これでinit()
、サーブレットのメソッドで ServletContext を取得できます。
ServletContext sc = getServletContext();
デバッガーでこの変数を調べるとsc
、エイリアス文字列が数レベル深いことがわかります。添付の画像を参照してください。このエイリアス文字列をプログラムで取得するにはどうすればよいですか? ServletContext のドキュメントを確認しましたが、あまり役に立ちません。どんな助けでも大歓迎です。
(出典:choicecomp.com)