Hi I can't figure out the real difference of session scope and application scope... When I should use the two scopes? Could someone give me an example of an application that I'd have to use both two scope?
Joined: Oct 13, 2000
Session scope is for data related to a particular client session, for example a Shopping Basket. Application scope is for data that can be shared between clients.
Peter den Haan
Joined: Apr 20, 2000
Practical things that I've been using application scope for include:
Configuration information such as the URL for resources living on a different server, so that a JSP can easily access this information. For example, this statistics server maintains a reference to the parent site in this way.
Shared objects such as caches. If you need some sort of Singleton in a web application, you could well be better off using the application context rather than a static variable for the purpose. When a class is reloaded, and you're using a static variable, you suddenly have two instances of your Singleton. This usually happens during development, but can also bite you when hot-patching production systems. Beware of ClassCastExceptions after a class has been reloaded!
If you have a dynamic, pluggable application, the application context is a good place to stuff factory objects.
Note -- while thread safety is important for session-scoped objects, it is doubly so for application-scoped objects. - Peter [ November 13, 2002: Message edited by: Peter den Haan ]