18

文字列ハッカーに頼らずに相対 URL から絶対 URL を構築するのに問題があります...

与えられた

http://localhost:8080/myWebApp/someServlet

メソッドの内部:

   public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}

最も「正しい」構築方法は何ですか:

http://localhost:8080/myWebApp/someImage.jpg

(注: 相対ではなく絶対でなければなりません)

現在、文字列を構築することでそれを行っていますが、もっと良い方法があるはずです。

新しいURI / URLのさまざまな組み合わせを見てきましたが、最終的には

http://localhost:8080/someImage.jpg

大変助かります

4

4 に答える 4

42

java.net.URLを使用する

 URL baseUrl = new URL("http://www.google.com/someFolder/");
 URL url = new URL(baseUrl, "../test.html");
于 2009-09-07T13:36:53.927 に答える
4

どうですか:

String s = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() + "/someImage.jpg";
于 2009-09-07T13:11:26.020 に答える
1

実行しているホストという難しい部分をすでに理解しているようです。あとは簡単、

String url = host + request.getContextPath() + "/someImage.jpg";

必要なものを与える必要があります。

于 2009-09-07T13:11:21.280 に答える