Gelöst!
Der Vorschlag von Arturs Licis war der Schlüssel. Irgendwie wurde der MySQL-Treiber falsch heruntergeladen. Es schien eine .jar-Datei zu sein, konnte aber nicht geladen werden. Tomcat zeigte nur die erste Ebene der Ausnahme:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[...]
Aber als ich ein sehr einfaches helloworld mit Class.forName("com.mysql.jdbc.Driver") kodierte, wurde stattdessen der folgende Fehler angezeigt:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
[...]
Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
[...]
Eureka! Das Öffnen der .jar-Datei auf WinRar zeigt, dass sie geöffnet werden kann ... aber mit einigen Fehlern.
Das erneute Herunterladen des Treibers hat das Problem gelöst.
Stimme für mich selbst ab :-(