Я бы, вероятно, использовал PrettyFaces, http://ocpsoft.com/prettyfaces/, который позволяет вам выполнять сопоставления URL-адресов непосредственно поверх существующего приложения.
Вы просто настраиваете что-то подобное в файле pretty-config.xml:
<url-mapping>
<pattern value="/my/pretty/url" />
<view-id value="/my/existing/url" />
</url-mapping>
Или, если вы хотите переписать параметры, вы можете сделать это:
<url-mapping>
<pattern value="/my/pretty/url/#{param}" />
<view-id value="/my/existing/url" />
</url-mapping>
А это значит, что любые URL (входящие) теперь становятся:
/my/pretty/url/value -> /my/existing/url?param=value
И ваши исходящие URL будут выглядеть так на HTML-страницах и в перенаправлениях:
/my/existing/url?param=value -> /my/pretty/url/value
Так что легко добавить в ваши текущие приложения.