2011-01-31 12 views
0

絶対URLをJavaクラスに取得しようとしていますが、型キャストしてもエラーが発生しています。すべてが対象であるため、絶対URLがjavaにあります

任意の提案

String file = ((Object) request).getRequestURI(); 
    if (((Object) request).getQueryString() != null) { 
     file += '?' + ((Object) request).getQueryString(); 
    } 
    URL reconstructedURL = new URL(request.getScheme(), 
            request.getServerName(), 
            request.getServerPort(), 
            file); 
    System.out.println(URL.toString()); 
+0

request' 'の実際の型は何をしてみてくださいませんか?デフォルトでは、リクエストはすでに 'Object'(キャストする必要はありません)であり、' getRequestURI'メソッドは含まれていません。私はエラーが見つからないメソッドを取得していると思います。リクエストはHttpServletRequestであるはずですか? http://adload.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html – hisdrewness

+0

@Daniel:はい、HttpServletRequestにする必要があります。 –

答えて

2

キャストオブジェクトには、nessecaryことはありません。私はあなたのエラーのstacktraceを投稿することをお勧めします。

((Object) request).getRequestURI()オブジェクトにはgetRequestURI()機能がないため、機能しません。ただキャストを離れてください。

4

@ダニエルはURLクラスには.toString()のような静的メソッドがないと言いました。あなたが代わりにreconstructedURL

を使用する必要があり、私はそれをテストしたが、この

String file = (request).getRequestURI(); 
if ((request).getQueryString() != null) { 
    file += '?' + (request).getQueryString(); 
} 

URL reconstructedURL = new URL(request.getScheme(), 
           request.getServerName(), 
           request.getServerPort(), 
           file); 
System.out.println(reconstructedURL.toString()); 
関連する問題