Из того, что я понимаю, синглтон в основном, когда у вас есть частный член, который представляет объект, для которого вы хотите иметь один экземпляр. Затем в конструкторе вы инициализируете объект-член.
Все ссылки для этого объекта выполняются через общедоступное свойство, а публичное свойство просто ссылается на закрытый член, который уже был создан.
Теперь в веб-приложении, как это работает? Один экземпляр просто держится в контейнере (скажем, tomcat), пока tomcat не завершит работу?