Когда сервлеты были впервые представлены в Java много-много лет назад, одной из лучших книг по программированию сервлетов было программирование сервлетов Java Джейсона Хантера (изданное OReilly). Книга сопровождалась загружаемыми примерами исходного кода, которые включали в себя то, что называется классом DaemonHttpServlet, который вы можете создать в подклассе именно для того, о чем вы спрашиваете.
См. Эту ссылку для исходного кода: http://java.codefetch.com/example/qg/src/com/oreilly/servlet/DaemonHttpServlet.java
Существует также сервлет, который также выступает в качестве сервера RMI.
Я понимаю, почему кто-то видит полезность использования сервлетов таким образом; если ваше основное приложение представляет собой веб-приложение на основе HTTP, но для какой-то меньшей части вашего приложения требуется, чтобы вы представляли интерфейс RMI или какой-либо пользовательский интерфейс через необработанные сокеты, то их реализация в виде сервлетов облегчила бы чистое развертывание приложения как простого один файл .war или .ear.
Надеюсь, это поможет.
Обновление: некоторые быстрые поиски в Google показывают следующее:
Так что при использовании HTML5 WebSockets может показаться, что использование сервлетов для работы с необработанными сокетами, не относящимися к http (s), в конце концов не выглядит таким нестандартным вариантом использования.