AWT
ein im Java JDK enthaltenes API zur Darstellung von Fenstern (also sog. Rich Client Anwendungen), wobei aber für jedes Rechteck am Bildschirm ein eigenes natives "Window" vom Betriebssystem angefordert wird, etwas veraltet; braucht man aber noch zum Zeichnen etc.
Swing
ein im Java JDK enthaltenes API zur Darstellung von Fenstern (also sog. Rich Client Anwendungen), wobei aber normalerweise nur das "oberste Fenster" TopFrame vom vom Betriebssystem angefordert wird und alle anderen Komponenten von Java aus mit Graphikfunktionen auf dieses Peer Window gemalt werden
Struts
ein Framework für Webanwendungen, d.h. für die Erstellung einer Anwendung die über HTML Seiten im Browser mit dem User kommuniziert, hat NICHTS mit Swing und AWT zu tun (und ist auch nicht im JDK bzw. nicht von Sun)