Se vuoi realizzare il server non come servlet, ma come applicazione stand-alone, puoi guardare quella molto semplice che ho realizzato io :

http://battlehorse.supereva.it

sezione JLibrary

Il server e' il classico thread che ascolta ripetutamente su una porta e apre nuovi socket ogni volta che arriva un tentativo di connessione.

All'arrivo di un messaggio da parte di un client lo passa a tutti gli altri client connessi.