場合によっては、サーブレット/JSP などに基づいて、Web アプリ コンテキストへの完全な URL を構築する必要がありますHttpServletRequest
。http://server.name:8080/context/のようなもの。サーブレット API には、これを実現する単一のメソッドはありません。
簡単なアプローチは、すべての URL コンポーネントを に追加することStringBuffer
です。
ctxUrl = sb.append(req.getScheme()).append("://")
.append(req.getgetServerName()).append(":")
.append(req.getServerPort()) etc
この代替手段に何か問題があるのではないかと思います(10倍高速です):
ctxUrl = req.getRequestURL();
ctxUrl = ctxUrl.substring(0, ctxUrl.lastIndexOf("/")));
上記の 2 つの方法では、常に同じ結果が得られますか?