What are some strategies for developing 24x7 applications using JSP?
Both application design and deployment architecture dictate whether an application is 24x7 or not.
All tiers of the application - web server, application server and database server, should be sized and configured appropriately in order to guarantee 24x7. The deployment architecture at each tier should feature at least 2 nodes or machines in a cluster.
The JSP features that one selects during implementation of a web application have a direct influence on the 24x7 nature of a site. Especially, HTTP session management. If Servlet sessions are being used to manage user state (like a shopping cart), the state should be made persistent in order for the state to be reconstructed in the event of a node failure. Selecting a servlet engine which supports persistent sessions would make persistent session implementation easier.
This is just the tip of the iceberg when it comes to addressing 24x7 applications. We have not yet discussed scalabilty, redundant Internet connections etc.
For an illustrated explanation of how high-availability can be implemented refer to the IBM redbook - "Servlet/JSP/EJB Design and Implementation Guide , SG24-5754-00" at http://www.redbooks.ibm.com/redpieces/abstracts/sg245754.html
Also, check out the white paper - "Achieving Scalability and High Availability for E-Commerce and Other Web Applications - Clustering the BEA WebLogic Application Server " at http://www.bea.com/products/weblogic/server/clustering.pdf