A simple class that stores session state.
- By Attila Szegedi
- December 1, 2001
Component Java
The road to reusable Servlet components
by Attila Szegedi
Listing 1. A simple class that stores session state.
package com.foo.myapp;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
class Session
{
private static final String ATTNAME =
"com.foo.myapp.Session";
private String userName;
private Locale locale;
// constructors and setters omitted for
// brevity
String getUserName() { return username; }
Locale getLocale() { return locale; }
// On-demand per-session initializer
static Session getInstance(
HttpSession httpSession)
{
synchronized(httpSession)
{
Session instance = (Session)
httpSession.getAttribute(ATTNAME);
if(instance == null)
{
instance = new Session();
httpSession.setAttribute(
ATTNAME, instance);
}
return instance;
}
}
static void invalidate(
HttpSession httpSession)
{
synchronized(httpSession)
{
httpSession.removeAttribute(ATTNAME);
}
}
}
About the Author
Attila Szegedi is the lead developer at Scriptum, a company located in Szeged, Hungary, specializing in information retrieval and data cleansing technologies. Attila may be contacted at [email protected].