El problema es que al hacerlo desde una aplicación, al acceder al servlet éste considera que estás accediendo con un nuevo usuario, por lo que se reinicia la sesión. Puedes comprobarlo viendo el identificativo de session
getId()
Aquí puedes ver una explicación aproximada del problema, aunque visto desde aplicaciones web.
http://www.geeksengine.com/article/j...t-session.html
Puede que la solución sea que no crees un objeto post cada vez que quieres llamar a un servlet, que utilices siempre el mismo objeto. No sé, poco más te puedo decir, yo de aplicaciones de escritorio no sé nada.