ということで、リクエストは以下の2つです。
- http://example.com/someUrl/
- http://example.com/someUrl/index.xhtml (xhtml 拡張子は単なる例ではありません)
が設定されている場合<welcome-file>index.xhtml</welcome-file>、リクエスト 1 はサーバーによって 2 として処理されます。
ただし、どちらの場合も、request.getRequestURI()は完全な URI を返します: someUrl/index.xhtml.
ドキュメントによると、そうすべきではありませんが、ほとんどの場合、それは私たちが望んでいるものなので、問題ないようです。
JBoss Wildfly (Undertow webservice) の下で JSF を使用していますが、どちらが責任を負っているのかわかりません。
必ずしもその仕組みを変更したいわけではありませんが、エンドユーザーがブラウザーのアドレスバーに表示される元の URI を取得する方法を探しているため、index.xhtml1 の場合の部分はありません。
document.location.hrefより正確に言うと、JavaScript で返されるのとまったく同じ URL を取得する必要があります。