Buenas,
Si, el uso de sesiones es habitual y normalmente necesario en las aplicaciones web,dada la naturaleza stateless del protocolo HTTP.
En java se resuelve mediante el objecto HTTPSession.
Código Java:
Ver originalHttpSession session = request.getSession();
ShoppingCart cart =
(ShoppingCart)session.
getAttribute("cart");
http://tutorials.jenkov.com/java-ser...tpsession.html
O algo mas avanzado:
http://www.journaldev.com/1907/java-...-url-rewriting
Un saludo