Enfoque de diseño de URL de la aplicación Reescribir: reescribir a nivel de contenedor o de aplicación y ¿por qué?

Tengo curiosidad sobre cuál es la mejor manera de hacer una reescritura de URL, en una aplicación Java. Digamos que tiene una aplicación llamada test_app, y la implemento en tomcat.

Por reescritura de URL quiero decir que en lugar de acceder a la aplicación a través de host: port / test_app /, quiero acceder haciendo host: port / fancy_URL_for_test_app /.

Pregunta: ¿dónde es mejor hacer la reescritura de URL? En el contenedor de tomcat, o mediante el uso de algo similar a tuckey URLRewriteRule (es decir, reescritura a nivel de aplicación).

Me parece que reescribir en el nivel de Tomcat sería la mejor manera de hacerlo, desde el punto de vista del diseño, sin embargo, he notado diferentes opiniones aquí, como ¿Hay un motor de reescritura de URL para Tomcat / Java? .

¿Podría explicar por qué elegiría reescribir en el nivel de la aplicación en lugar del nivel del contenedor?

NOTA: Estoy hablando estrictamente sobre la reescritura del contexto raíz (es decir, cambiar host: port / test_app / a host: port / fancy_root_context / en lugar de cambiar host: port / test_app / login1 a host: port / test_app / login2

Gracias por adelantado ! Andrei

Respuesta 1

https://api.twitter.com/1.1/account_activity/all/prod/webhooks.json?url=https://test.com no funciona. He seguido todos los pasos para crear una nueva aplicación y obtener la clave del consumidor, claves secretas. y ...

Necesito crear programáticamente un diseño DialogFragment, pero no sé cómo proceder. No puedo usar el diseño xml porque DialogFragment será parte del archivo JAR de código cerrado. Diálogos normales ...

list2 = doc.select ("div.idContent> p"). get (k); Estoy teniendo muchos div con idcontent como id en el HTML. Quiero saber el valor de "k". He mantenido K = 0; k <10; k ++ de lo que estoy viendo ...

Necesito algunos consejos sobre la estructura del código para métodos pequeños. A continuación se muestra un método de la API de Java. Collections.class private static Random r; público estático void shuffle (List <?> var0) {...