2017-06-11 14 views
0

私はそれの中で使っているサーブレットへのパスを取得する必要があります。いくつかのsearchingsで、私はこのようなものが見つかりました:私が使用しているサーブレットへの実際のパスを取得する必要があります。 JAVA

System.out.println(getServletContext().getRealPath("/")); 

を、結果は次のとおりです。

C:\Users\me\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\ProjectName\ServletName 

TBH、私が「何をするか知らない.metadata.plugins \ org.eclipse.wst.server.core \最初の大きなパスを取得して、中間部分を切断することなく(直接パスを取得する方法がある

C:\Users\me\workspace\ProjectName\ServletName 

:TMP1は\でオリジナルの 『プロジェクト「私だけのパスを取得したい、意味』 wtpwebappsそれの)?

答えて

0

結果はサーブレット.classファイルの場所です。 Eclipseはサーバーアプリケーションフォルダ.metadata/.plugins /.../wwpwebapps(実際のTomcatの場所とは異なる一時フォルダを使用するため)にアプリケーションをデプロイし、関数getRealPath("/")を呼び出した後、サーブレットがデプロイされていますサーバー上で実行されていないため、元の場所から実行されていません。 Tomcatのディレクトリを変更しても、展開されたサーブレットの場所は取得されますが、.javaファイルの場所は常に取得されます。 read more about Server temporary location

0

${pageContext.request.contextPath}を使用することもできます。このコマンドはプロジェクトのルートフォルダを指します。

関連する問題