Usar URL rewrite implica que em cada página do seu site os links deverão conter o identificador de sessão. Ok, até aqui beleza. Mas quem é que se encarrega de colocar esse identificador na URL dos links: a minha aplicação ou “Servlet container”?
Normalmente você deixaria isso para seu Web Container, como o WebSphere ou o Sun Java System Application Server (eu sei que ambos têm o recurso de detectar se os cookies estão desabilitados e, se estiverem, usar URL Rewriting. Não sei se o Tomcat, por exemplo, faz isso.)
Não sei se URL Rewriting automático é algo que faça parte da especificação do J2EE.