This week's book giveaway is in the JDBC forum.
We're giving away four copies of Make it so: Java DB Connections & Transactions and have Marcho Behler on-line!
See this thread for details.
The moose likes Web Component Certification (SCWCD/OCPJWCD) and the fly likes scope: session vs application Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Certification » Web Component Certification (SCWCD/OCPJWCD)
Bookmark "scope: session vs application" Watch "scope: session vs application" New topic

scope: session vs application

Renata fonseca
Ranch Hand

Joined: Mar 15, 2002
Posts: 48
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?
Graeme Brown
Ranch Hand

Joined: Oct 13, 2000
Posts: 193
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
Ranch Hand

Joined: Apr 20, 2000
Posts: 3252
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 ]
    I agree. Here's the link:
    subject: scope: session vs application
    It's not a secret anymore!