J'ai une application tomcat 7 dont je peux obtenir des demandes de sources externes.rediriger les demandes basées sur le corps tomcat
La plupart d'entre eux appellent ma demande comme ceci:
http://localhost:8080/MyWeb/exRequest
et je construis servlet avec motif URL dans l'application de MyWeb.
Cependant, une source externe doit envoyer la demande comme ceci:
et dans le corps:
<xml name="test" />
Depuis que je ne veux pas déclarer une servlel générale (comme tomcat default) car cela signifie que toute requête devra passer par mon servlet, j'ai pensé à changer index.jsp de ROOT pour rediriger vers ma servlet.
Est-ce la meilleure option?
Y a-t-il une option pour créer une servlet par défaut qui ne sera invoquée que s'il y a un paramètre spécial dans le corps?
ÉDITÉE
S'il vous plaît noter que je reçois les demandes localhost: 8080 et non localhost: 8080/MyWeb - il est général de tomcat et non à une application Web spécifique
Le problème est que j'obtiens une notification au tomcat: localhost: 8080 et non à localhost: 8080/MyWeb où je pourrais localiser ces définitions dans web.xml de MyWeb – Dejell
@Odelya - Okay , Je vois maintenant.Si le client qui fait cette demande est si inflexible qu'il ne peut pas passer à l'URL appropriée, il est peu probable de suivre une réponse de redirection.On dirait que votre meilleur pari est de déplacer l'application web entière vers 'ROOT', puis de reconfigurer vos servlets existants pour inclure l'ancien nom de contexte d'application dans leur chemin. Par exemple, si le servlet était 'exRequest', et le contexte' MyWeb', il se déplacerait vers le contexte 'ROOT' et serait mappé en tant que' MyWeb/exRequest'. – erickson
C'est exactement ce que je pensais faire. pour déplacer l'application vers root – Dejell