2011-06-04 7 views
1

私はJavaで簡単なWebサービスを作成しています。これはXMLファイルを読み込んで結果の文字列を生成する必要があります。しかし、私は失われています:Java Webサービス用のデータファイルの配置

a)xmlファイルは、Webサービスからアクセスできるようにファイルシステムに配置する必要がありますか?

b)は何だろう、それがWebサービス

私と一緒に展開されるだろうように、私は、プロジェクトにXMLファイルを追加することができますどのようにサービスからファイル

C)alternatelyt、に対する道NetBeansをIDEとして、mavenをビルドシステムとして使用しています。

答えて

1

通常、私は自分のWebアプリケーションにリソースバンドル(.jar)を提供します。実行時にファイルを変更しないようにする必要がある場合は、ファイルにアクセスするための最良の方法です。これはc)あなたの質問になります。 jarファイル内のパスになります

ClassLoader cl = this.getClass().getClassLoader(); 
InputStream is = cl.getResourceAsStream("resourceName"); 

"resourceName":そこにファイルにアクセスすることができます。私はMavenでパッケージングしています。src/main/webapp/WEB-INF/classesのすべてがクラスパスで利用可能で、getResourceAsStreamでロードできます。


Mavenを持つ別の方法は、新しいモジュールを作成し、src/main/resourcesに必要なすべてのリソースを配置し、あなたのWebアプリケーションのポンポンでこのアーティファクトに依存関係を追加することです。

+2

/WEB-INF)あなたは、クラスパスリソースとしてアクセスすることができます(WEB-INF(のServletContextパス)にそれを置くか、WEB-INF /クラス/ WEB-INF/CLASSPATHではありませんが、クラスはです。 – duffymo

+0

あなたはどのようなリソースバンドルISをどのように正確に提供できますか?チュートリアルへのリンクで十分でしょう。 – Srv19

+0

@duffymoあなたは正しいです。私は私の答えを修正しました! – Thor

0

a)プロセスにファイルへのアクセス権がある限り、どこでも可能です。

b)相対パスは、使用しているAppサーバーによって異なります。相対パスは、jvmのホームに対する相対パスです。 の場合の場合はtomacat-baseの場合weblogicドメインディレクトリです。これに依存するのではなく、絶対パスを含む構成パラメータを持つことをお勧めします。

c)は

関連する問題