Servlet specification 2.3 enables developers to configure their web application distributable with the use of <distributable/> tag in the deployemnt descriptor(web.xml). To achieve this, multiple application/web servers should be clustered. Let us say there is one Apache web server, and two
Tomcat engines are running as workers to Apache (configuration details search on the net) (actually workers2.properties should be properly configured in case of Apache2.x). When one Tomcat engine crashed, and if the web application is configured distributable using <distributable/> tag, the session will be exported to another Tomcat engine by the Apache. There are different methods to cluster servers(web.app), which are beyond the scope of this discussion, as well as SCWCD.