en principio el orden en que pretendes aprender es el correcto: HTML-CSS-JAVASCRIPT-(PHP/JSP/ASP)-AJAX
pero AJAX
No es un lenguaje,
es una técnica, que se basa en realizar peticiones HTTP al servidor desde JS, así que como tal no es un lenguaje, de hecho puede aplicarse perfectamente con un iframe, aunque claro no te da las características que te ofrece el XmlHttpRequest
XML no es un lenguaje como tal, sino una forma de definir y manipular datos (leelo de wikipedia) y se usa muy frecuentemente en interacciones con servicios web XML, como es una base para muchos otros lenguajes como RSS, XSLT, etc, la idea es que todas estas implementaciones puedan ser leídas como XML como entandar universal, puedes usar bases de datos, pero un servicio web no te dará acceso a su DB, más bien te dará soporte a un origen XML para que obtengas datos de él, lo que se vuelve más seguro y confiable.
Con respecto a JSP, sí, en principio haces lo mismo que con PHP, pero utilizando librerías e implementaciones propias del lenguaje JAVA, además tienes otro abanico que son los SERVLETS, que a diferencia del JSP tradicional te
permite compilar el código (bytecodes de JAVA) y acelerar el rendimiento del servidor, pero sacrificando el html embebido.