2017-04-06 9 views
-1

これは私の2回目の質問です。私は情報に基づいた答えを得るために今回はもう少し詳しく説明します。サーブレットからJSPのサーバーファイルパスを取得するにはどうすればよいですか?

ここで実際に実行しようとしているのは、ページの読み込み時に実行されるはずの実行可能ファイルから動的に生成されるデータをドロップダウンメニューに入力することです。キャッチは、実行可能ファイルは、サーバー上のJSPのローカルディレクトリになければならないということです。私の会社はこのウェブサイトの3つまたは4つのクローンを持っており、実行ファイルをいくつかの絶対ファイルパスに入れることはできません。相対パスでなければなりません。私は、JSPは、私はこれを実行する可能性があるため、相対パスで実行可能ファイルを実行する能力を持っていることを知っている

<form action="./my_executable_that_generates_a_dynamic_page"> 

はしかし、私はJavaScriptを使用してDropboxのを移入するために、サーブレットから実行するために、これを必要とします。

<%= new File("./exec_produce_dropdown_list").getPath() %> 

上記のスニペットは私に別のディレクトリを与えます。

<%= new File(new File(request.getServletContext().getRealPath(request.getRequestURI())).getParent().replace('\\', '/'), "exec_produce_dropdown_list"); %> 

をそして、これは(我々が持っているものである)ファイルシステムに対応していないURIにおける仮想パスがあるかどう除いて、それは勝っかなり近いです:

私も試してみましたtは正しいディレクトリを指します。

実行ファイルを実行する簡単な方法はありますか? 私も、私のために働くweb.xmlはないと付け加えたいと思います。私の答えが見つかり

+0

を与えるべきか?ファイルはどこにありますか? Webアプリケーションのルートディレクトリにある場合は、パスに<%= application.getRealPath( "/ exec_produce_dropdown_list")%>を使用してみてください。 – rickz

+0

実パスは対応していません。私は私の解決策を見つけた、ありがとう。 – TLane

答えて

0

request.getRealPath(request.getServletPath()) 

は私の右のディレクトリで何/path/in/filesystem/to/file.jsp

+0

要求オブジェクトのそのメソッドは推奨されなくなりました。私が投稿したときにアプリケーションオブジェクトを使用する必要があります。とにかく、あなたはファイルのパスとURLを混在させていると思います。私はあなたがする必要があると思うのは、ファイルパスを取得し、コードのようなもので実行することですhttp://stackoverflow.com/questions/5604698/java-programming-call-an-exe-from-java-and通過パラメータ – rickz

関連する問題