II.1 Anotaciones para establecer el ámbito de los beans
Existen diferentes ámbitos en los que puede operar un bean. Los ámbitos más representativos, de menor a mayor alcance, son: petición, vista, sesión y aplicación. Con la anotación de ámbito, se establece el alcance de los métodos y atributos de un bean. Las anotaciones para los ámbitos más utilizados son las siguientes:
@RequestScoped.- Persiste solo durante la petición (request) del usuario. Cuando se envía la respuesta correspondiente (response), se elimina la instancia del bean. El constructor se ejecuta cada vez que la página se solicita.
@ViewScoped.- Es algo intermedio entre RequestScoped y SessionScoped. El bean existirá mientras la vista está activa. El bean permanece activo cuando una petición no requiere cambiar a otra vista, y desaparece cuando el usuario navega hacia otra página. Esto es útil cuando se trabaja con Ajax
@SessionScoped.- El bean está activo durante toda la sesión del usuario. En otras palabras, mientras la sesión exista, existe el bean.
@ApplicationScoped.- El bean existe mientras la aplicación esté corriendo en el servidor.
En la seguiente sección se presenta un ejemplo de como se declara un managed bean con anotaciones.