Pour que l'utilisateur ne puisse pas voir l'arborescence de l'application lorqu'il indique uniquement le contexte de l'application dans l'URL, il suffit simplement d'ajouter un élément dans le fichier web.xml qui s'il existe, sera utilisé par le conteneur comme page par défaut.
Les objets créés que ce soit dans les JSP ou les Servlets ont une certaine portée, c'est à dire une certaine durée de vie.
Les différentes portées existantes sont:
page: les objets ne sont accessibles que dans la page où ils sont définis
request: les objest sont accessibles pendant toute la durée de la requête
session: les objets sont accessibles pendant toute la durée de la session
application: les objest sont accessibles pendant toute la durée de vie de l'application et dans l'application complète
Un serveur d'application a pour objectif de facilité la création d'application serveur sans se soucier de l'aspect réseau (toute la couche réseau est laissée au serveur d'application).
Un serveur web peut gérer plusieurs sites indépendemment, il peut utiliser plusieurs langages/technologies différents (ASP, PHP, J2EE), gère les transactions sécurisés...
La confusion vient du fait que la plupart du temps les applications J2EE sont des applications Web, pour la simple raison que cela permet de ne pas distribuer d'application cliente (un navigateur suffit).