File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
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
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!