Les objets d'une page JSP, y compris les objets créés par l'utilisateur (par exemple, les objets JavaBean) et les objets implicites JSP, ont un attribut scope. La portée définit à quelle heure et dans quelle page JSP ces objets sont accessibles. Par exemple, l'objet session est accessible sur plusieurs pages au cours de la session. L'objet application est accessible tout au long du cycle de vie de l'application Web. Dans JSP, il existe 4 types de portées, comme indiqué ci-dessous.
·plage de pages
Les objets avec une portée de page sont liés à l'objet javax.servlet.jsp.PageContext. Les objets compris dans cette portée ne sont accessibles que sur la page sur laquelle l'objet a été créé. Vous pouvez appeler la méthode getAttribute() de l'objet implicite pageContext pour accéder aux objets avec ce type de portée (l'objet pageContext fournit également des méthodes getAttribute pour accéder à d'autres objets de portée. L'objet pageContext lui-même appartient également à la portée de la page). Lorsque la méthode _jspService() de la classe Servlet est exécutée, la référence à l'objet appartenant à la portée de la page sera supprimée. Les objets dans la portée de la page sont créés chaque fois que le client demande une page JSP et sont supprimés une fois que la page a renvoyé une réponse au client ou que la demande a été transmise à d'autres ressources.
· Portée de la demande
Les objets avec une portée de requête sont liés à l'objet javax.servlet.ServletRequest. Vous pouvez appeler la méthode getAttribute() de l'objet implicite de requête pour accéder aux objets avec ce type de portée. Les objets de cette plage sont accessibles dans la page redirigée en appelant la méthode forward() ou la page incluse en appelant la méthode include(). Il convient de noter que, étant donné que l'objet de requête est différent pour chaque requête client, les objets de cette portée doivent être recréés et supprimés pour chaque nouvelle requête.
·portée de la session
Les objets avec une portée de session sont liés à l'objet javax.servlet.http.HttpSession. Vous pouvez appeler la méthode getAttribute() de l'objet implicite de session pour accéder aux objets avec ce type de portée. Le conteneur JSP crée un objet HttpSession pour chaque session. Pendant la session, les objets dans la portée de la session sont accessibles.
· champ d'application
Les objets avec une portée d'application sont liés à javax.servlet.ServletContext. Vous pouvez appeler la méthode getAttribute() de l'objet implicite d'application pour accéder aux objets avec ce type de portée. Pendant que l'application Web est en cours d'exécution, toutes les pages peuvent accéder aux objets dans cette étendue.