2017-05-26 3 views
1

私はディレクトリを作成し、後で他のajax処理に使用する応答としてそのディレクトリパスを返す必要があるWebアプリケーションを持っています。今、私はアプリケーションを開発し、チャームのように働いていた私のMacマシンでそれをテストしましたが、同じTomcatバージョンのWindowsマシン上にそれを配備したとき、ディレクトリパスは望ましくありませんでした。servletContext.getRealPath( "/")は、Windows上でTomcat 8.0.44で必要なパスを提供していません。

ディレクトリを作成しようとすると区切り記号が問題であることがわかりました。これは私がコード化されてきた方法です。

ここ
String resultDir = sc.getRealPath("/"); 
resultDir = resultDir+"screenshots/travel/demo"; 

私は、パラメータとしてAJAX呼び出しディレクトリ・パスを行った後、Webページ上で表示する必要がresultDir店のスクリーンショット。

C:\Users\roger\Documents\tomcat\webapps\myapp\screenshots\travel\demo\ 

しかし、それはコンソール上に不正なURLエラーを与える:

今、私はFile.separatorはそうresultDirは、サーバからの応答としてWindowsマシン上にあるように出てくる

resultDir = resultDir+"screenshots"+File.separator+"travel"+File.separator+"demo"+File.separator; 

になったにスラッシュ変更しましたajaxを呼び出すとき。

Macではうまく動作しますが、Windowsでは問題あります。

答えて

0

代わりのサーブレットコンテキストからのパスを取得 "request.getContextPath()"

として要求からそれを取得してみてください
関連する問題