This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
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?
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 ]