What are the best design patterns for communicating with a database from a JSP page? Code examples would be useful.

Vadim Gurov

A good design approach would be to avoid database communications directly from the JSP page itself, and delegate it to a servlet, or better yet, to an EJB.
But if it's absolutely necessary, consider using JSP custom tags to communicate with the database. You can use one of the many available implementations, like the Jakarta JSP DB Taglib, for this purpose. See:
Jakarta SQL taglib