Tomcat Servlet アプリケーションのどこにファイルを配置すれば、ページから比較的見えるようになりますか??
詳細:外部ライブラリを使用しながらサーブレットページを開発しています。そのライブラリは、外部から読み込まれた XML ファイル(相対ファイル パス)に大きく依存しています。したがって、これらの XML ファイルをサーブレットの実行中のディレクトリに配置する必要があります。
ファイルに比較的アクセスできるTomcatサーバーに方法はありますか?
WebアプリケーションがTomcatにデプロイされると、Webアプリケーションのルートは$ CATALINA_HOME / webapps /YOUR_WEB_APP/になります。
そのため、サーブレットを使用してWebアプリケーションのルート内のパスにあるXMLファイルにアクセスする場合は、次を使用できます。
request.getServletContext().getResourceAsStream("PATH/TO/YOUR/XML_FILE.xml")
これにより、XMLファイルがとして読み込まれますInputStream
。もちろん、ファイル自体にアクセスしたい場合は、いつでもこのgetResource(String resource)
メソッドを使用してを取得できます。このメソッドからURL
、次のFile
ようにオブジェクトを取得できます(代替メソッドが含まれています)。
File f;
try {
f = new File(url.toURI());
} catch(URISyntaxException e) {
f = new File(url.getPath());
}
編集:それらをWebブラウザーで比較的見やすくするには、単に./WEB-INFおよび./META-INFディレクトリーからそれらを除外します。
あなたが話しているこのライブラリがクラスパスでファイルを検索しようとしている場合(HibernateやLog4Jが行うように)、XMLファイルをWEB-INFに配置する必要があります。ただし、これは手動で行わないことをお勧めします。アプリケーションのソースディレクトリにファイルを配置できます。これにより、ファイルが適切な場所にデプロイされるようになります。