Servlet utilisant la Cartographie web.xml
J'ai une confusion concernant la structure de l'web.xml pour le mappage des servlets, je n'ai pas de problème, en l'exécutant, mais j'essaie de comprendre comment pourquoi nous avons un tel modèle dans le descripteur de déploiement.
<web-app>
<servlet>
<servlet-name>Servlet1</servlet-name>
<servlet-path>foo.Servlet</servlet-path>
</servlet>
<servlet-mapping>
<servlet-name>Servlet1</servlet-name>
<url-pattern>/enroll</url-pattern>
</servlet-mapping>
</web-app>
Maintenant que ma compréhension à chaque fois qu'une demande est livré url-pattern "/s'inscrire", conteneur de servlet va correspondre à la servlet-name avec l'url-pattern et va essayer de trouver le correspondant de servlet-chemin d'accès et le contrôle à toto.Servlet. donc, fondamentalement, il n'y aurait deux passes une pour trouver servlet-name et un autre pour servlet-chemin, ma question est de savoir si le conteneur est conçu pour fonctionner de la manière suivante
<web-app>
<servlet>
<servlet-name>foo.Servlet</servlet-path>
<url-pattern>/enroll</url-pattern>
</servlet>
</web-app>
quel serait l'inconvénient si nous utilisons l'approche suivante. Ce ne serait pas plus efficace et le temps de réponse rapide.
- Pourquoi pensez-vous un autre schéma XML aurait une incidence sur les performances d'exécution?
- eh bien, j'étais juste préoccupés par le nombre de passage nécessaires à la récupération de la valeur réelle
- Généralement, le conteneur de servlet se contente de lire le
web.xml
et crée sa représentation en mémoire. C'est l'ampleur fois plus rapide que la lecture de laweb.xml
chaque fois que la demande vient. - Un tutoriel pour créer des servlets et carte des servlets dans web.xml
Vous devez vous connecter pour publier un commentaire.
Il permet de servlets d'avoir plusieurs servlet mappages:
Il permet de filtres à être mappés sur le servlet particulier:
Votre proposition de soutien ni d'entre eux. Notez que le
web.xml
est lu et interprété qu'une seule fois au démarrage de l'application, pas sur chaque requête HTTP comme vous semblez le penser.Depuis Servlet 3.0, il y a le
@WebServlet
annotation qui minimise cette réutilisable:Voir aussi: