XML Schema evolution is the problem of saving an object and subsequently having the definition of that object change. WWW software handles this problem by defining html, and then implementing backwards compatibility in future versions of the web browsers. The final steps have been taken to get the most benefit from these massive changes. So we got clever. Now we gather the XML, rich data, and un-XMLable JavaBeans in serialized format, and zip them into a zip file for transmission as a byte array stream.
Performance is naturally a concern here, which seems acceptable.
JSP Servlets are analagous to CGI programs written in Java. A conceptual problem with the CGI approach is that you must have an executable program outputting html - mixing two languages together in one program. The JSP approach is similar to Microsoft's ASP method which is the inverse of the CGI approach - imbed program logic in html, which also mixes two languages in one program. Enhydra's XMLC receives accolades for a very clean separation of the two, and it is an open source, high quality, application server. Also a very good product, but closed source.